Giter Site home page Giter Site logo

gagniuc / simple-js-implementation-of-objective-digital-stains Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 128 KB

Simple JS implementation of Objective Digital Stain (ODS) produces ODS images from DNA sequences. On ODSs, the information content (IC) is represented vertically on the y-axis and the frequency of different letters is represented horizontally on the x-axis.

License: MIT License

HTML 100.00%
ods objective-digital-stain js javascript algorithm dna dna-sequences dna-processing rna rna-sequence visualization genetics bioinformatics genomics

simple-js-implementation-of-objective-digital-stains's Introduction

Simple JS implementation of ODS

The objective digital stain (ODS) is represented by a distribution of points on a two-dimensional (2D) image, which reflects the information structure inside a DNA/RNA sequence. But from where do we get the x-axis and y-axis of each point? In order to build an ODS, a scanner that uses sliding windows must be developed first. The x-axis values and the y-axis values for a point are calculated from the content of a sliding window. One value for the x-axis is computed using an algorithm called self-sequence alignment, and the y-axis value for a point is computed using the relative frequency of C plus G letters from the sliding window. Since the content of each sliding window provides a point on the image, a visible shape starts to reveal itself. In turn, the shape of the distribution pushes the association of the method with a kind of “digital stain,” thus safely establishing the name of the method. In the past, ODSs were simply called “DNA patterns”.

The meaning of ODS

On ODSs, the information content (IC) is represented vertically on the y-axis and the frequency of different letters is represented horizontally on the x-axis. The overall idea surrounding this method is that similar distributions of two or more DNA/RNA sequences may show similar functions. Interestingly, dissimilar DNA/RNA sequences may show similar ODSs. This intriguing proprietary has been demonstrated repeatedly over time. The first observation was made in 2012 in the journal BMC Genomics. There, different ODS patterns have been shown for eukaryotic gene promoters that indicate several generic classes of promoters (more than 10 classes of promoters in eukaryotes). Moreover, in 2013 in the same journal, a correlation was made between chromosomal territories and ODS patterns shown by gene promoters. More recently, in 2015, a publication in the journal PLoS ONE showed the connection between ODSs of promoter sequences and the genes associated with type 1 and 2 diabetes. This latest publication showed more clearly that ODSs are able to link the DNA sequence characteristics to different biological functions.

Live demo

https://gagniuc.github.io/Simple-JS-implementation-of-Objective-Digital-Stains/

Screenshot

Implementations - other

The Objective Digital Stains are also implemented in other languages, from which entire customised applications can be made:

In Java Script

In PHP

In VB6

Info on ODSs

Please read more about DNA patterns (aka Objective Digital Stains) here:

References

  • Gagniuc P.A. and Ionescu-Tirgoviste C.: Eukaryotic genomes may exhibit up to 10 generic classes of gene promoters. BMC Genomics 2012, 13:512.

  • Ionescu-Tîrgovişte C*, Gagniuc PA*, Guja C (2015) Structural Properties of Gene Promoters Highlight More than Two Phenotypes of Diabetes. PLoS ONE 10(9): e0137950.

  • Gagniuc P.A. and Ionescu-Tîrgovişte C. Gene promoters show chromosome specificity and reveal chromosome territories in humans, BMC Genomics 2013, 14:278.

  • Paul A. Gagniuc. Algorithms in Bioinformatics: Theory and Implementation. John Wiley & Sons, Hoboken, NJ, USA, 2021, ISBN: 9781119697961.

simple-js-implementation-of-objective-digital-stains's People

Contributors

gagniuc avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.