Mercurial > repos > yufei-luo > s_mart
comparison smart_toolShed/commons/core/parsing/test/Test_FastaParser.py @ 0:e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
author | yufei-luo |
---|---|
date | Thu, 17 Jan 2013 10:52:14 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e0f8dcca02ed |
---|---|
1 from commons.core.parsing.FastaParser import FastaParser | |
2 from SMART.Java.Python.structure.Sequence import Sequence | |
3 import unittest | |
4 | |
5 class Test_FastaParser(unittest.TestCase): | |
6 | |
7 def test_getSubsequence(self): | |
8 fastaFile = "myFastaInput.fasta" | |
9 self._writeInputFastaFile(fastaFile) | |
10 parser = FastaParser(fastaFile) | |
11 chromosome = "1" | |
12 expSeq = Sequence("1:1-20 (1)", "CCTAAGCCATTGCTTGGTGA") | |
13 obsSeq = parser.getSubSequence(chromosome, 1, 20, 1) | |
14 self.assertEquals(expSeq, obsSeq) | |
15 | |
16 def test_getSubsequence_long_sequence(self): | |
17 fastaFile = "myFastaInput.fasta" | |
18 self._writeInputFastaFile(fastaFile) | |
19 parser = FastaParser(fastaFile) | |
20 chromosome = "2" | |
21 expSeq = Sequence("subsequence", "TGAAGA") | |
22 obsSeq = parser.getSubSequence(chromosome, 55, 60, 1, "subsequence") | |
23 self.assertEquals(expSeq, obsSeq) | |
24 | |
25 def test_getSubsequence_long_sequence_inside_and_outside(self): | |
26 fastaFile = "myFastaInput.fasta" | |
27 self._writeInputFastaFile(fastaFile) | |
28 parser = FastaParser(fastaFile) | |
29 chromosome = "2" | |
30 expSeq = Sequence("subsequence", "TTA") | |
31 obsSeq = parser.getSubSequence(chromosome, 137, 151, 1, "subsequence") | |
32 self.assertEquals(expSeq, obsSeq) | |
33 | |
34 def test_getSubsequence_long_sequence_last_letter(self): | |
35 fastaFile = "myFastaInput.fasta" | |
36 self._writeInputFastaFile(fastaFile) | |
37 parser = FastaParser(fastaFile) | |
38 chromosome = "2" | |
39 expSeq = Sequence("subsequence", "A") | |
40 obsSeq = parser.getSubSequence(chromosome, 139, 151, 1, "subsequence") | |
41 self.assertEquals(expSeq, obsSeq) | |
42 | |
43 def test_getSubsequence_long_sequence_totally_outside(self): | |
44 fastaFile = "myFastaInput.fasta" | |
45 self._writeInputFastaFile(fastaFile) | |
46 parser = FastaParser(fastaFile) | |
47 chromosome = "2" | |
48 isSysExit = False | |
49 try: | |
50 parser.getSubSequence(chromosome, 140, 151, 1, "subsequence") | |
51 except: | |
52 isSysExit = True | |
53 self.assertTrue(isSysExit) | |
54 | |
55 def test_setTags(self): | |
56 fastaFile = "myFastaInput.fasta" | |
57 self._writeInputFastaFile(fastaFile) | |
58 parser = FastaParser(fastaFile) | |
59 parser.setTags() | |
60 expTags = {"1" : 0, | |
61 "2" : 54} | |
62 obsTags = parser.getTags() | |
63 self.assertEquals(expTags, obsTags) | |
64 | |
65 def _writeInputFastaFile(self, fastaFile): | |
66 myHandler = open(fastaFile, 'w') | |
67 myHandler.write(">1\n") | |
68 myHandler.write("CCTAAGCCATTGCTTGGTGATTATGAAGGCAGTAGTCAAACCTCCACAAT\n") | |
69 myHandler.write(">2\n") | |
70 myHandler.write("TATGAGATCAACAGGGGCTTTGCTAGCCTGAGGGCGATTGGTCAAGGCCG\n") | |
71 myHandler.write("GACCTGAAGAAATTCCTGATTGTACGTTCTGGTTACTCTTCAATTTGGGC\n") | |
72 myHandler.write("TGCTTAATTATCTCCTCAATTTCAATTTGGCCATGCTTA\n") | |
73 | |
74 if __name__ == "__main__": | |
75 unittest.main() |