GitHub repository: tomachinz/AminoSee
Primary language: JavaScript
Description: AminoSeeNoEvil (or just AminoSee) is a DNA visualisation that assigns a unique colour hue to each amino acid and start/stop codon in the sequence, and then projects it into 2D and 3D space using an infinite mathematics space-filling function called the "Hilbert curve". This is done to preserve sequence proximity such that 90% of the DNA that is close to its neighbour - such as genes - are also closeby in the image at different resolutions. Genomics researchers can convert any file containing ASCII blocks of DNA (tested with popular formats Fasta, GBK, and also just .txt) into an image. A unique visualisation of DNA / RNA residing in text files, AminoSee is a way to render arbitrarily large files - due to support for streamed processing - into a static size PNG image. Special thanks and shot-outs to David Hilbert who invented it in 1891! Computation is done locally, and the files do not leave your machine. A back-end terminal daemon cli command that can be scripted is combined with a front-end GUI in Electron, AminoSee features asynchronous streaming processing enabling arbitrary size files to be processed. It has been tested with files in excess of 4 GB and does not need the whole file in memory at any time. Due to issues with the 'aminosee *' command, a batch script is provided for bulk rendering in the dna/ folder. Alertively use the GUI to Drag and drop files to render a unique colour view of RNA or DNA stored in text files, output to PNG graphics file, then launches an WebGL browser that projects the image onto a 3D Hilbert curve for immersive viewing, using THREEjs. Command line options allow one to filter by peptide.