comparison commons/core/parsing/test/Test_FastaParser.py @ 6:769e306b7933

Change the repository level.
author yufei-luo
date Fri, 18 Jan 2013 04:54:14 -0500
parents
children
comparison
equal deleted inserted replaced
5:ea3082881bf8 6:769e306b7933
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()