|
20 | 20 | */ |
21 | 21 | package org.biojava.nbio.ronn; |
22 | 22 |
|
| 23 | +import org.biojava.nbio.core.exceptions.CompoundNotFoundException; |
| 24 | +import org.biojava.nbio.core.sequence.DNASequence; |
| 25 | +import org.biojava.nbio.core.sequence.ProteinSequence; |
| 26 | +import org.biojava.nbio.core.sequence.RNASequence; |
23 | 27 | import org.biojava.nbio.data.sequence.FastaSequence; |
24 | 28 | import org.biojava.nbio.ronn.Jronn.Range; |
25 | 29 | import org.junit.Test; |
26 | 30 |
|
27 | 31 | import static org.junit.Assert.assertEquals; |
| 32 | +import static org.junit.Assert.fail; |
28 | 33 |
|
29 | 34 |
|
30 | 35 | public class JronnTest { |
@@ -99,4 +104,45 @@ public void close() { |
99 | 104 | } |
100 | 105 | } |
101 | 106 | } |
| 107 | + |
| 108 | + /** Test the user scenario when disorder scores are calculated over a sequence containing the selenocysteine (Sec) amino acid. |
| 109 | + * The user has to manually convert the stop codons symbols ("*") to the "U" symbol and Jronn is expected to handle this sequence. |
| 110 | + * |
| 111 | + * @throws CompoundNotFoundException |
| 112 | + */ |
| 113 | + |
| 114 | + @Test |
| 115 | + public void testStopCodons() throws CompoundNotFoundException { |
| 116 | + |
| 117 | + // gene: DIO2, NM_001007023 |
| 118 | + String dnaString = "ATGGGCATCCTCAGCGTAGACTTGCTGATCACACTGCAAATTCTGCCAGTTTTTTTCTCCAACTGCCTCT" + |
| 119 | + "TCCTGGCTCTCTATGACTCGGTCATTCTGCTCAAGCACGTGGTGCTGCTGTTGAGCCGCTCCAAGTCCAC" + |
| 120 | + "TCGCGGAGAGTGGCGGCGCATGCTGACCTCAGAGGGACTGCGCTGCGTCTGGAAGAGCTTCCTCCTCGAT" + |
| 121 | + "GCCTACAAACAGCTAAATTGTCCTCCATCAGGTTTTAGCAAAGATGGACACATTTTATGACTAGTATATG" + |
| 122 | + "AAGCTTATAAAAGCAGACTACTGGTCTACTCACATTTGGATTTATGGATGGTGAAATTGGGTGAGGATGC" + |
| 123 | + "CCCCAATTCCAGTGTGGTGCATGTCTCCAGTACAGAAGGAGGTGACAACAGTGGCAATGGTACCCAGGAG" + |
| 124 | + "AAGATAGCTGAGGGAGCCACATGCCACCTTCTTGACTTTGCCAGCCCTGAGCGCCCACTAGTGGTCAACT" + |
| 125 | + "TTGGCTCAGCCACTTGACCTCCTTTCACGAGCCAGCTGCCAGCCTTCCGCAAACTGGTGGAAGAGTTCTC" + |
| 126 | + "CTCAGTGGCTGACTTCCTGCTGGTCTACATTGATGAGGCTCATCCATCAGATGGCTGGGCGATACCGGGG" + |
| 127 | + "GACTCCTCTTTGTCTTTTGAGGTGAAGAAGCACCAGAACCAGGAAGATCGATGTGCAGCAGCCCAGCAGC" + |
| 128 | + "TTCTGGAGCGTTTCTCCTTGCCGCCCCAGTGCCGAGTTGTGGCTGACCGCATGGACAATAACGCCAACAT" + |
| 129 | + "AGCTTACGGGGTAGCCTTTGAACGTGTGTGCATTGTGCAGAGACAGAAAATTGCTTATCTGGGAGGAAAG" + |
| 130 | + "GGCCCCTTCTCCTACAACCTTCAAGAAGTCCGGCATTGGCTGGAGAAGAATTTCAGCAAGAGATGAAAGA" + |
| 131 | + "AAACTAGATTAGCTGGTTAA"; |
| 132 | + |
| 133 | + DNASequence dnaSequence = new DNASequence(dnaString); |
| 134 | + RNASequence mRNA = dnaSequence.getRNASequence(); |
| 135 | + ProteinSequence protein = mRNA.getProteinSequence(); |
| 136 | + |
| 137 | + String proteinString = protein.getSequenceAsString(); |
| 138 | + // replace the symbol * (codon TGA) with U at amino acid |
| 139 | + String proteinStringU = proteinString.replaceAll("\\*", "u"); |
| 140 | + FastaSequence fsequence = new FastaSequence("", proteinStringU); |
| 141 | + try { |
| 142 | + float[] rawProbabilityScores = Jronn.getDisorderScores(fsequence); |
| 143 | + } |
| 144 | + catch (Exception e) { |
| 145 | + fail("Disorder scores calculation doesn't work"); |
| 146 | + } |
| 147 | + } |
102 | 148 | } |
0 commit comments