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