An open API service indexing awesome lists of open source software.

https://github.com/gagniuc/simple-js-implementation-of-objective-digital-stains

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.
https://github.com/gagniuc/simple-js-implementation-of-objective-digital-stains

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

Last synced: 4 months ago
JSON representation

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.

Awesome Lists containing this project

README

        

# 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](https://github.com/Gagniuc/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](https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-13-512). 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](https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-14-278), a correlation was made between chromosomal territories and ODS patterns shown by gene promoters. More recently, in 2015, [a publication](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4574929/) in the [journal PLoS ONE](https://doi.org/10.1371/journal.pone.0137950) 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](https://github.com/Gagniuc/Objective-Digital-Stains)

[In PHP](https://github.com/Gagniuc/Objective-Digital-Stains-in-PHP)

[In VB6](https://github.com/Gagniuc/PromKappa-3.0-Objective-Digital-Stains-in-VB6)

# Info on ODSs

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

- [Eukaryotic genomes may exhibit up to 10 generic classes of gene promoters](https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-13-512)

- [Gene promoters show chromosome-specificity and reveal chromosome territories in humans](https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-14-278)

- [Algorithms in Bioinformatics: Theory and Implementation](https://www.wiley.com/en-ag/Algorithms+in+Bioinformatics%3A+Theory+and+Implementation-p-9781119697961)

# 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.