Mercurial > repos > yufei-luo > s_mart
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commons/core/parsing/test/Test_BedParser.py Tue Apr 30 14:33:21 2013 -0400 @@ -0,0 +1,58 @@ +import unittest, os +from commons.core.parsing.BedParser import BedParser + + +class Test_BedParser(unittest.TestCase): + + def test_Parser(self): + parser = BedParser("data/testBedParser1.bed") + + self.assertEqual(parser.getNbTranscripts(), 1) + + for transcript in parser.getIterator(): + self.assertEqual(transcript.getChromosome(), "arm_X") + self.assertEqual(transcript.getName(), "test1.1") + self.assertEqual(transcript.getStart(), 1000) + self.assertEqual(transcript.getEnd(), 2999) + self.assertEqual(transcript.getDirection(), 1) + self.assertEqual(transcript.getNbExons(), 2) + exons = transcript.getExons() + self.assertEqual(exons[0].getChromosome(), "arm_X") + self.assertEqual(exons[0].getStart(), 1000) + self.assertEqual(exons[0].getEnd(), 1099) + self.assertEqual(exons[0].getDirection(), 1) + self.assertEqual(exons[1].getChromosome(), "arm_X") + self.assertEqual(exons[1].getStart(), 2000) + self.assertEqual(exons[1].getEnd(), 2999) + self.assertEqual(exons[1].getDirection(), 1) + + def test_Parser_short(self): + tmpFileName = "tmpFile.bed" + tmpHandle = open(tmpFileName, "w") + tmpHandle.write("""X\t554748\t554904\texon +X\t554748\t554904\tCDS +X\t554748\t554750\tstart_codon +""") + tmpHandle.close() + parser = BedParser(tmpFileName) + self.assertEqual(parser.getNbTranscripts(), 3) + for cpt, transcript in enumerate(parser.getIterator()): + self.assertEqual(transcript.getNbExons(), 1) + self.assertEqual(transcript.getChromosome(), "X") + self.assertEqual(transcript.getStart(), 554748) + if cpt == 0: + self.assertEqual(transcript.getEnd(), 554903) + self.assertEqual(transcript.getName(), "exon") + elif cpt == 1: + self.assertEqual(transcript.getEnd(), 554903) + self.assertEqual(transcript.getName(), "CDS") + elif cpt == 2: + self.assertEqual(transcript.getEnd(), 554749) + self.assertEqual(transcript.getName(), "start_codon") + os.remove(tmpFileName) + + + +if __name__ == '__main__': + unittest.main() +