Mercurial > repos > yufei-luo > s_mart
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/smart_toolShed/commons/core/parsing/test/Test_BedParser.py Thu Jan 17 10:52:14 2013 -0500 @@ -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() +