comparison commons/core/parsing/test/Test_BedParser.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 import unittest, os
2 from commons.core.parsing.BedParser import BedParser
3
4
5 class Test_BedParser(unittest.TestCase):
6
7 def test_Parser(self):
8 parser = BedParser("data/testBedParser1.bed")
9
10 self.assertEqual(parser.getNbTranscripts(), 1)
11
12 for transcript in parser.getIterator():
13 self.assertEqual(transcript.getChromosome(), "arm_X")
14 self.assertEqual(transcript.getName(), "test1.1")
15 self.assertEqual(transcript.getStart(), 1000)
16 self.assertEqual(transcript.getEnd(), 2999)
17 self.assertEqual(transcript.getDirection(), 1)
18 self.assertEqual(transcript.getNbExons(), 2)
19 exons = transcript.getExons()
20 self.assertEqual(exons[0].getChromosome(), "arm_X")
21 self.assertEqual(exons[0].getStart(), 1000)
22 self.assertEqual(exons[0].getEnd(), 1099)
23 self.assertEqual(exons[0].getDirection(), 1)
24 self.assertEqual(exons[1].getChromosome(), "arm_X")
25 self.assertEqual(exons[1].getStart(), 2000)
26 self.assertEqual(exons[1].getEnd(), 2999)
27 self.assertEqual(exons[1].getDirection(), 1)
28
29 def test_Parser_short(self):
30 tmpFileName = "tmpFile.bed"
31 tmpHandle = open(tmpFileName, "w")
32 tmpHandle.write("""X\t554748\t554904\texon
33 X\t554748\t554904\tCDS
34 X\t554748\t554750\tstart_codon
35 """)
36 tmpHandle.close()
37 parser = BedParser(tmpFileName)
38 self.assertEqual(parser.getNbTranscripts(), 3)
39 for cpt, transcript in enumerate(parser.getIterator()):
40 self.assertEqual(transcript.getNbExons(), 1)
41 self.assertEqual(transcript.getChromosome(), "X")
42 self.assertEqual(transcript.getStart(), 554748)
43 if cpt == 0:
44 self.assertEqual(transcript.getEnd(), 554903)
45 self.assertEqual(transcript.getName(), "exon")
46 elif cpt == 1:
47 self.assertEqual(transcript.getEnd(), 554903)
48 self.assertEqual(transcript.getName(), "CDS")
49 elif cpt == 2:
50 self.assertEqual(transcript.getEnd(), 554749)
51 self.assertEqual(transcript.getName(), "start_codon")
52 os.remove(tmpFileName)
53
54
55
56 if __name__ == '__main__':
57 unittest.main()
58