comparison SMART/Java/Python/test/Test_F_mapperAnalyzer.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
comparison
equal deleted inserted replaced
17:b0e8584489e6 18:94ab73e8a190
1 import unittest
2 import os, glob
3 from SMART.Java.Python.mapperAnalyzer import MapperAnalyzer
4 from commons.core.parsing.GffParser import GffParser
5
6 class Test_F_mapperAnalyzer(unittest.TestCase):
7
8 def setUp(self):
9 self.readsFileName = "inputFile.fastq"
10 self.mappingFileName = "inputFile.sam"
11 self.outputFileName = "outputFile.gff3"
12
13 def tearDown(self):
14 for fileRoot in (self.readsFileName, self.mappingFileName, self.outputFileName):
15 for file in glob.glob("%s*" % (fileRoot)):
16 os.remove(file)
17 os.system("rm tmpNames_* tmpSequences_* smartdb*")
18
19 def test_run_simple(self):
20 handle = open(self.readsFileName, "w")
21 handle.write("@read1\n")
22 handle.write("AAAAAAAAAAAAAAAAAAAA\n")
23 handle.write("+\n")
24 handle.write("AAAAAAAAAAAAAAAAAAAA\n")
25 handle.write("@read2\n")
26 handle.write("CCCCCCCCCCCCCCCCCCCC\n")
27 handle.write("+\n")
28 handle.write("AAAAAAAAAAAAAAAAAAAA\n")
29 handle.close()
30 handle = open(self.mappingFileName, "w")
31 handle.write("read1\t0\tchr1\t1\t30\t20M\t*\t0\t0\tAAAAAAAAAAAAAAAAAAAA\tAAAAAAAAAAAAAAAAAAAA\tNM:i:0\n")
32 handle.write("read2\t0\tchr2\t1\t30\t20M\t*\t0\t0\tCCCCCCCCCCCCCCCCCCCC\tAAAAAAAAAAAAAAAAAAAA\tNM:i:0\n")
33 handle.write("read2\t0\tchr3\t1\t30\t20M\t*\t0\t0\tCCCCCCCCCCCCCCCCCCCC\tAAAAAAAAAAAAAAAAAAAA\tNM:i:0\n")
34 handle.close()
35 analyzer = MapperAnalyzer(0)
36 analyzer.setMappingFile(self.mappingFileName, "sam")
37 analyzer.setSequenceFile(self.readsFileName, "fastq")
38 analyzer.setOutputFile(self.outputFileName, "S-MART")
39 analyzer.setMaxMappings(1)
40 analyzer.mergeExons(True)
41 analyzer.analyze()
42
43 parser = GffParser(self.outputFileName)
44 self.assertEqual(parser.getNbTranscripts(), 1)
45 for transcript in parser.getIterator():
46 self.assertEqual(transcript.getName(), "read1")
47 self.assertEqual(transcript.getChromosome(), "chr1")
48 self.assertEqual(transcript.getStart(), 1)
49 self.assertEqual(transcript.getEnd(), 20)
50 self.assertEqual(transcript.getDirection(), 1)
51
52
53 if __name__ == "__main__":
54 unittest.main()
55