diff commons/launcher/tests/Test_F_LaunchRefalign.py @ 31:0ab839023fe4

Uploaded
author m-zytnicki
date Tue, 30 Apr 2013 14:33:21 -0400
parents 94ab73e8a190
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commons/launcher/tests/Test_F_LaunchRefalign.py	Tue Apr 30 14:33:21 2013 -0400
@@ -0,0 +1,104 @@
+import unittest
+import os
+from commons.core.utils.FileUtils import FileUtils
+from commons.launcher.LaunchRefAlign import LaunchRefAlign
+from shutil import rmtree
+
+
+class Test_F_LaunchRefAlign(unittest.TestCase):
+    
+    def setUp(self):
+        self._curTestDir = os.getcwd()
+        self._testPrefix = 'test_LRA'
+        try:
+            os.makedirs(self._testPrefix)
+        except:pass
+        os.chdir(self._testPrefix)
+        
+
+        self._inputFastaFileName = "%s_input.fa" % self._testPrefix 
+        self._obsOutputFileName = self._inputFastaFileName +'.fa_aln'
+        self._expOutputFileName = "%s_exp.fa_aln" % self._testPrefix 
+        self._writeInputFile()
+        
+    def tearDown(self):
+        os.chdir(self._curTestDir)
+        try:
+            rmtree(self._testPrefix)
+        except:pass
+
+    def test_run(self):
+        self._writeExpOutputFile_wo_refseq()
+        ilauncher = LaunchRefAlign(self._inputFastaFileName,verbosity=5)
+        ilauncher.run()
+        self.assertTrue(FileUtils.are2FilesIdentical(self._expOutputFileName, self._obsOutputFileName))
+        
+    def test_run_KeepRefSeq(self):
+        self._writeExpOutputFile_with_refseq()
+        ilauncher = LaunchRefAlign(self._inputFastaFileName,verbosity=5, keepRefseq=True)
+        ilauncher.run()
+        
+        self.assertTrue(FileUtils.are2FilesIdentical(self._expOutputFileName, self._obsOutputFileName))
+        
+    def test_run_as_script(self):
+        self._writeExpOutputFile_wo_refseq()
+        cmd = 'LaunchRefAlign.py -i %s -o %s -v 5' % (self._inputFastaFileName, self._obsOutputFileName)
+        os.system(cmd)
+        self.assertTrue(FileUtils.are2FilesIdentical(self._expOutputFileName, self._obsOutputFileName))    
+
+    def test_run_as_script_KeepRefSeq(self):
+        self._writeExpOutputFile_with_refseq()
+        cmd = 'LaunchRefAlign.py -i %s -r -o %s -v 5' % (self._inputFastaFileName, self._obsOutputFileName)
+        os.system(cmd)
+        self.assertTrue(FileUtils.are2FilesIdentical(self._expOutputFileName, self._obsOutputFileName))   
+               
+    def _writeInputFile(self):        
+        InputFile = open(self._inputFastaFileName, 'w')
+        InputFile.write('>sequence\n')
+        InputFile.write('GGGCGGCACGGTGGTGTGGTGGTTAGCACTGTTGCCTCACAGCAAGAAGGCCCCGGGTTC\n')
+        InputFile.write('GATCCCCGGTTGGGACTGAGGCTGGGGACTTTCTGTGTGGAGTTTGCATGTTCTCCCTGT\n')
+        InputFile.write('GCCTGCGTGGGTTCTCTCCGGGTACTCCGGCTTCCTCCCACAGTCCAAAGACATGCATGA\n')
+        InputFile.write('TTGGGGATTAGGCTAATTGGAAACTCTAAAATTGCCCGTAGGTGTGAGTGTGAGAGAGAA\n')
+        InputFile.write('TGGTTGTTTGTCTATATGTGTTAGCCCTGCGATTGACTGGCGTCCAGTCCAGGGTGTACC\n')
+        InputFile.write('CTGCCTCCGCCCATTGTGCTGGGATAGGCTCCAGTCCCCCCG\n')
+        InputFile.write('CAAGCGGTAGAAAGTGAGTGAGTGAGTGA\n')
+        InputFile.write('>sequence2\n')
+        InputFile.write('GGGCAGCCTGGGTGGCTCAGCGGTTTAGCGCCTGCCTTTGGCCCAGGGCGTGATCCTGGA\n')
+        InputFile.write('GACCCGGGATCGAGTCCCACATCGGGCTCCCTGCATGGAGCCTGCTTCTCCCTCTGCCTG\n')
+        InputFile.write('TGTCTCTGCCTCTCTCTCTCTCTGTGTCTCTCATGAATAAA\n')
+        InputFile.close()    
+        
+    def _writeExpOutputFile_wo_refseq(self):
+        with open(self._expOutputFileName,'w') as expOutputFile:
+            expOutputFile.write(""">sequence2
+GGGCAGC-CGGTGGTGCGGT--TTAGCGCTGTTGGCCCAGGGCGTGATGGACCCGGGATC
+GATCCCACATCGGG--------------CTCCCTGCATGGAGCCTGC---TTCTCCCTCT
+GCCTGTGTCTCTTCTCTC------------------------------------------
+------------------------------------------------------------
+----------TCTCTCTGTGTCTCTCATGA-ATAAA------------------------
+------------------------------------------------------------
+-----------
+""")
+            
+    def _writeExpOutputFile_with_refseq(self):
+        with open(self._expOutputFileName,'w') as expOutputFile:
+            expOutputFile.write(""">sequence
+GGGCGGCACGGTGGTGTGGTGGTTAGCACTGTTGCCTCACAGCAAGAAGGCCCCGGGTTC
+GATCCCCGGTTGGGACTGAGGCTGGGGACTTTCTGTGTGGAGTTTGCATGTTCTCCCTGT
+GCCTGCGTGGGTTCTCTCCGGGTACTCCGGCTTCCTCCCACAGTCCAAAGACATGCATGA
+TTGGGGATTAGGCTAATTGGAAACTCTAAAATTGCCCGTAGGTGTGAGTGTGAGAGAGAA
+TGGTTGTTTGTCTATATGTGTTAGCCCTGCGATTGACTGGCGTCCAGTCCAGGGTGTACC
+CTGCCTCCGCCCATTGTGCTGGGATAGGCTCCAGTCCCCCCGCAAGCGGTAGAAAGTGAG
+TGAGTGAGTGA
+>sequence2
+GGGCAGC-CGGTGGTGCGGT--TTAGCGCTGTTGGCCCAGGGCGTGATGGACCCGGGATC
+GATCCCACATCGGG--------------CTCCCTGCATGGAGCCTGC---TTCTCCCTCT
+GCCTGTGTCTCTTCTCTC------------------------------------------
+------------------------------------------------------------
+----------TCTCTCTGTGTCTCTCATGA-ATAAA------------------------
+------------------------------------------------------------
+-----------
+""")
+                               
+if __name__ == "__main__":
+    unittest.main()
\ No newline at end of file