Mercurial > repos > yufei-luo > s_mart
view 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 source
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()