Mercurial > repos > yufei-luo > s_mart
comparison smart_toolShed/commons/core/parsing/test/Test_BedParser.py @ 0:e0f8dcca02ed
Uploaded S-MART tool. A toolbox manages RNA-Seq and ChIP-Seq data.
author | yufei-luo |
---|---|
date | Thu, 17 Jan 2013 10:52:14 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e0f8dcca02ed |
---|---|
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 |