6
|
1 import unittest
|
|
2 from commons.core.parsing.GffParser import GffParser
|
|
3
|
|
4
|
|
5 class Test_GffParser(unittest.TestCase):
|
|
6
|
|
7
|
|
8 def test_Parser(self):
|
|
9 parser = GffParser("data/testGffParser1.gff3")
|
|
10
|
|
11 self.assertEqual(parser.getNbTranscripts(), 3)
|
|
12
|
|
13 cpt = 0
|
|
14 for transcript in parser.getIterator():
|
|
15 cpt += 1
|
|
16 if cpt == 1:
|
|
17 self.assertEqual(transcript.getChromosome(), "arm_X")
|
|
18 self.assertEqual(transcript.getName(), "test1")
|
|
19 self.assertEqual(transcript.getStart(), 1000)
|
|
20 self.assertEqual(transcript.getEnd(), 2000)
|
|
21 self.assertEqual(transcript.getDirection(), 1)
|
|
22 self.assertEqual(transcript.getNbExons(), 1)
|
|
23 self.assertEqual(transcript.getTagValue("field"), "value1")
|
|
24 exons = transcript.getExons()
|
|
25 self.assertEqual(exons[0].getChromosome(), "arm_X")
|
|
26 self.assertEqual(exons[0].getStart(), 1000)
|
|
27 self.assertEqual(exons[0].getEnd(), 2000)
|
|
28 self.assertEqual(exons[0].getDirection(), 1)
|
|
29 self.assertEqual(transcript.getSize(), 1001)
|
|
30 elif cpt == 2:
|
|
31 self.assertEqual(transcript.getChromosome(), "arm_X")
|
|
32 self.assertEqual(transcript.getName(), "test2")
|
|
33 self.assertEqual(transcript.getStart(), 10000)
|
|
34 self.assertEqual(transcript.getEnd(), 20000)
|
|
35 self.assertEqual(transcript.getDirection(), -1)
|
|
36 self.assertEqual(transcript.getNbExons(), 2)
|
|
37 self.assertEqual(transcript.getTagValue("field"), "value2")
|
|
38 exons = transcript.getExons()
|
|
39 self.assertEqual(exons[0].getChromosome(), "arm_X")
|
|
40 self.assertEqual(exons[0].getStart(), 10000)
|
|
41 self.assertEqual(exons[0].getEnd(), 10100)
|
|
42 self.assertEqual(exons[0].getDirection(), -1)
|
|
43 self.assertEqual(transcript.getSize(), 9602)
|
|
44 if cpt == 3:
|
|
45 self.assertEqual(transcript.getChromosome(), "arm_X")
|
|
46 self.assertEqual(transcript.getName(), "test1.1")
|
|
47 self.assertEqual(transcript.getStart(), 1000)
|
|
48 self.assertEqual(transcript.getEnd(), 2000)
|
|
49 self.assertEqual(transcript.getDirection(), 1)
|
|
50 self.assertEqual(transcript.getNbExons(), 1)
|
|
51 self.assertEqual(transcript.getTagValue("ID"), "test1.1-1")
|
|
52 exons = transcript.getExons()
|
|
53 self.assertEqual(exons[0].getChromosome(), "arm_X")
|
|
54 self.assertEqual(exons[0].getStart(), 1000)
|
|
55 self.assertEqual(exons[0].getEnd(), 2000)
|
|
56 self.assertEqual(exons[0].getDirection(), 1)
|
|
57 self.assertEqual(transcript.getSize(), 1001)
|
|
58
|
|
59
|
|
60 if __name__ == '__main__':
|
|
61 unittest.main()
|
|
62
|