Mercurial > repos > yufei-luo > s_mart
comparison commons/core/parsing/test/Test_BedParser.py @ 31:0ab839023fe4
Uploaded
author | m-zytnicki |
---|---|
date | Tue, 30 Apr 2013 14:33:21 -0400 |
parents | 769e306b7933 |
children |
comparison
equal
deleted
inserted
replaced
30:5677346472b5 | 31:0ab839023fe4 |
---|---|
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 |