I'm working on a tool to visualize RNA secondary structure, for this purpose I have implemented Nussinov's algorithm which generates the RNA secondary structure as list with the corresponding indices, the code can be found here [0]
[0] http://dpaste.com/596262/
But I really stuck with understanding how I should visualize it (as a planar graph), the code above gives me a sequential list of the secondary structure, so can someone please suggest me as to how I can visualize the structure.An example of such tool can be found here [1]
[1] http://rna.tbi.univie.ac.at/cgi-bin/RNAfold.cgi
and I know there are better algorithms but for now I would just want to visualize with this and once I understand visualization, I will go for a better algorithm.
At present, the identified RNA secondary structure can be obtained mainly by means of biological experiments such as X-ray diffraction and NMR.
Hairpins are a common type of secondary structure in RNA molecules. In RNA, the secondary structure is the basic shape that the sequence of A, C, U, and G nucleotides form after they are linked in series, such a folding or curling of the nucleic acid strand.
There are many secondary structure elements of functional importance to biological RNA's; some famous examples are the Rho-independent terminator stem-loops and the tRNA cloverleaf.
The structure of an individual RNA is determined by the complex pattern of interactions among nucleotide bases at both secondary and tertiary structure levels. The secondary structure consists of base-pairing interactions that form helices and define loops in individual structural elements.
RNA transcripts fold into secondary structures via intricate patterns of base pairing. These secondary structures impart catalytic, ligand binding, and scaffolding functions to a wide array of RNAs, forming a critical node of biological regulation.
DNA secondary structure can be predicted at maximum base pairing or at minimized energies. The predicted report can be saved as such in a text file or it can be further extended to draw the structure where the respective bases form complimentary structures and then respectively be saves as image file for future use.
Visualizing the secondary structure of RNA (or any graph, for that matter) algorithmically is a difficult problem. You need to take care that there are as few overlaps as possible while maintaining consistent link lengths. As the other answers have pointed out, there are a number of existing implementations that you can already use. I'll just throw in another one that's quite easy to use and requires no downloads:
forna - nibiru.tbi.univie.ac.at/forna
Here you just need to enter a dotbracket string:
>molecule_name
CGCUUCAUAUAAUCCUAAUGAUAUGGUUUGGGAGUUUCUACCAAGAGCCUUAAACUCUUGAUUAUGAAGUG
((((((((((..((((((.........))))))......).((((((.......))))))..)))))))))
This will give you a visualization that looks something like this:
This is computed using a combination of the ViennaRNA RNAplot program and d3's force-directed graph algorithm.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With