This repo is used to splice the DNA sequence based on CAGT:
C : Cytosine
A : Adenine
G : Guanine
T : Thymine
├── data # Data Splice Junction
├── src # SRC contain scripts for training and testing
├── visualization # ROC curve on training data/
├── weight # Weight used in prediction/
├── Readme # Readme for dna-level splice junction/
├── requiremnts # Requirements file dna-level splice junction/
The domain consists of 60 variables, representing a sequence of DNA bases an additional class Variable. The task is to determine if the middle of the sequence is a splice junction and what is its type: Splice junctions are of two types:
-
exon-intron (EI): represents the end of an exon and the beginning of an intron
-
intron-exon (IE): represents where the intron ends and the next exon, or coding section, begins.
So the class variable contains 3 values:
-
exon-intron (EI)
-
intron-exon (IE)
-
No-Junction
Other 4 values corresponding to the 4 possible DNA bases (C, A, G, T)
C : Cytosine
A : Adenine
G : Guanine
T : Thymine
Length of gene sequence must be : multiple of 60
The dataset consists of 3,175 labeled examples. We use 5 fold cross validation to train and validate our model.
Here, the data set is split into 5 folds. In the first iteration, the first fold is used to test the model and the rest are used to train the model. In the second iteration, 2nd fold is used as the testing set while the rest serve as the training set. This process is repeated until each fold of the 5 folds have been used as the testing set.
3-words: codons
Let’s again assume a sequence L of independent bases
Probability of 3-word r1, r2, r3 at position i, i+1, i+2 in sequence L is:
P(Li = r1, Li+1 = r2, Li+2 = r3) = P(Li = r1)P(Li+1 = r2)P(Li+2 = r3)
Each DNA read is a sequence of four [C,A,G,T]
types of nucleotides and needs to be converted into numerical representations for machine learning.
LSTM - Long Short Term Memory.
Install packages required by models
$ pip install -r requirements.txt
Input
Gene sequence will be raw text multiple of 60x. containing A,C,G,T
Output:
Predicted Gene sequence equal length of input.
Every 60x
will be either Donor-IE
, Acceptor-EI
or No-Junction
.
python app.py