# Deep learning RNA sequences

Currently I'm working on a project, which combines deep learning with RNA sequences. I'll try to predict pseudotorsion angles [1] from raw rna sequence. The ideas is to train a neural network with raw rna sequences and for each nucleotide their corresponding pseudotorsion angles, and than to predict the angles of the remaining sequences in the test set.

How my data is structured: example:

seq1:   A  C  G    G   U   A   C
Eta:   169 87 110 87  45  187 78
Theta: 123 10 45  168 132 34  100


[1] These are angles describing the backbone conformation of a rna molecule.

I'm pretty new to the field of deep learning, and so far I build a simple feedforward neural network, but it's prediction accuracy is pretty low with only one percent.

Has anyone some tips for me how to improve this? How do I preprocess this kind of data correctly for deep learning?

I appreciate any help.

• Note that RNA has over 110 known modifications, most of which can't be detected using existing automated sequencing tools. These would probably influence the structure of the molecule, and reduce the accuracy of your prediction. – gringer Jun 16 '19 at 11:04

The question of folding of RNA sequences looks slightly similar to protein folding - perhaps searching in this domain might bring more suggestions.

An example of (current) state of the art of deep learning approach to protein folding is AlphaFold developed by DeepMind for CASP competition . They basically decompose the angles to an image representation and look for structures in the proximity of each atom. While it requires a significant processing power, RNA structures might be easier due to the size of the sequence.

I come from a protein background and this problem is analogous to protein torsion angle prediction, which in turn is a variant of protein secondary structure prediction.

Conventional ways to go here would be to use a sliding window of x bases either side to make a prediction for each point, or use a CNN/LSTM-type model to run over the whole sequence and output angles.

There are other technical concerns such as how to split the training and test sets, how to output the angles from the model (usually transformed by sin or cos), and whether to predict a single value or the probability of the value being in certain ranges.

The reference to protein tertiary prediction and CASP in another answer isn't directly relevant here unless you intend to build 3D models from your torsion angles, which you might very well do.

Some references on torsion angle prediction for proteins:

• Thanks for your post and highlighting your work. Could you clarify that CNN is convolution neural network and when do you use it as opposed to LHTM? – Michael Jun 20 '19 at 10:46
• Correct, CNN is convolutional neural network and LSTM is long short-term memory, a variant of recurrent neural networks (RNNs). LSTMs would typically be used for sequential data, where you aim to predict a property for each point in the sequence or predict the next point in the sequence. CNNs apply the same filters to every point in the sequence and rely more on picking up local features than treating the input as a sequence. They are usually applied to images (2D) but can be 1D, 2D, or 3D (etc.) as required. – jgreener Jun 20 '19 at 11:22
• LSTM, even I know this acroynm. Many thanks that finally makes sense in context to how CNNs operate in this field and more generally. We're using your (DJ's) stuff, it always nice to know how it works :) . For the OP getting deep learning to work isn't always trivial, this team is expert. – Michael Jun 20 '19 at 11:39

I think the solution is more in the DL.

I would look at simpler ML, using a random forest as a starting point and then maybe SVC. If you get some reasonable predictive power on this then move towards neural network/Tensorflow type calculation.