Mercurial > repos > yufei-luo > s_mart
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 |