mRNN is an implementation of a Gated Recurrent Unit (GRU) network for classification of transcripts as either coding or noncoding.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
weights
README.md
TODO.md
__init__.py
construct_sequence.py
evaluate.py
fasta.py
mRNN.py
mRNN_ensemble.py
model.py
mutation_analysis.py
pair_mutation_analysis.py
preprocessing.py
shuffle_analysis.py
test_ensemble_mRNN.py
test_mRNN.py
train_ensemble.py
train_mRNN.py
truncation_analysis.py

README.md

mRNN - mRNA RNN (mRNA recurrent neural network)

mRNN is a package for distinguishing coding transcripts from noncoding using gated recurrent neural networks (GRNNs).

How to get mRNN

You can obtain mRNN through github:

git clone https://github.com/hendrixlab/mRNN.git

mRNN: Included Files

  1. Testing and Training

    train_mRNN.py - training mRNN model based on input training sequences.

    Example: $ python mRNN/train_mRNN.py -e 128 -r 32 -d 0.4 -o mRNN.16K.da1.1 -s 3 -E 4 mRNAs.train16K.da1.fa lncRNAs.train16K.da1.fa mRNAs.valid500.fa lncRNAs.valid500.fa > epochs.mRNN.16K.da1.1.txt

    test_mRNN.py - test the accuracy of a known set of mRNAs and lncRNAs.

    Example: $ python mRNN/test_mRNN.py -w w14u3.pkl -f test mRNAs.test500.fasta lncRNAs.test500.fasta

    test_ensemble_mRNN.py - Ensemble testing with mRNN models. Models are provided as a comma-separated list.

    Example: $ python mRNN/test_ensemble_mRNN.py -w w10u5.pkl,w14u3.pkl,w16u5.pkl,w18u1b.pkl,w23u2.pkl -f test mRNAs.test500.fasta lncRNAs.test500.fasta

    mRNN.py - Basic prediction of coding probability for a set of input sequences.

    mRNN_ensemble.py - Basic prediction of coding probability for a set of input sequences using a set of models.

  2. Further Analysis

    mutation_analysis.py - For the provided input sequence, perform a mutation analysis involving every possible point-mutation on the input sequence, and computing its corresponding score change.

    pair_mutation_analysis.py - For a provided input sequence, computer all possible pairs of mutation i,a,j,b where position i is changed to a and position j is changed to b.

    shuffle_analysis.py - For the provided input sequences, shuffle each of them and report the scores of the shuffled sequence to the unaltered sequence.

    truncation_analysis.py - Coding score trajectory. Compute the mRNN coding probability for all truncations of the input sequence from position 1 to i.

  3. Core mRNN modules:

These modules aren't called directly, but involved in basic function of mRNN

  fasta.py - input reading FASTA files

  model.py - building the mRNN model

  evaluate.py - Computing accuracy, batch testing

  preprocessing.py - Utilities for various preprocessing

How to get data from mRNN project

The data used to train mRNN and produce the weights provided in the weights directory, you can download them from the following location:

https://osf.io/4htpy/

262K lncRNAs.CHALLENGE.fa

243K lncRNAs.CHALLENGE500.fa

23M lncRNAs.MOUSETEST.fa

977K lncRNAs.TEST.fa

527K lncRNAs.TEST500.fa

28M lncRNAs.TRAIN.fa

11M lncRNAs.train16K.fa

981K mRNAs.CHALLENGE.fa

708K mRNAs.CHALLENGE500.fa

146M mRNAs.MOUSETEST.fa

5.0M mRNAs.TEST.fa

1.2M mRNAs.TEST500.fa

191M mRNAs.TRAIN.fa

12M mRNAs.train16K.fa