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