| 
18
 | 
     1 import unittest
 | 
| 
 | 
     2 import os
 | 
| 
 | 
     3 import sys
 | 
| 
 | 
     4 
 | 
| 
 | 
     5 if not os.environ.has_key( "REPET_PATH" ):
 | 
| 
 | 
     6     print "*** Error: no environment variable REPET_PATH"
 | 
| 
 | 
     7     sys.exit(1)
 | 
| 
 | 
     8 sys.path.append( os.environ["REPET_PATH"] )
 | 
| 
 | 
     9 
 | 
| 
 | 
    10 from pyRepet.launcher.Launcher import HmmpfamAndParse2alignLauncher
 | 
| 
 | 
    11 from pyRepet.sql.RepetJobMySQL import *
 | 
| 
 | 
    12 
 | 
| 
 | 
    13 class TestHmmpfamAndParse2alignLauncher(unittest.TestCase):
 | 
| 
 | 
    14     
 | 
| 
 | 
    15     def testConstructor(self):
 | 
| 
 | 
    16         
 | 
| 
 | 
    17         params = {
 | 
| 
 | 
    18                   "query" : "toto",
 | 
| 
 | 
    19                   "job_table":"fakeTable", 
 | 
| 
 | 
    20                   "queue" : "fakeQueue", 
 | 
| 
 | 
    21                   "groupid" : "fakeId",
 | 
| 
 | 
    22                   "tmpDir" : "fakeDir",
 | 
| 
 | 
    23                   "cDir" : "."
 | 
| 
 | 
    24         }
 | 
| 
 | 
    25       
 | 
| 
 | 
    26         hmmpfam = HmmpfamAndParse2alignLauncher("toto", params)
 | 
| 
 | 
    27         
 | 
| 
 | 
    28         self.assertEquals("toto", hmmpfam.query)
 | 
| 
 | 
    29         self.assertEquals("fakeTable", hmmpfam.job_table)
 | 
| 
 | 
    30         self.assertEquals("fakeQueue", hmmpfam.queue)
 | 
| 
 | 
    31         self.assertEquals("fakeId", hmmpfam.groupid)
 | 
| 
 | 
    32         self.assertEquals("fakeDir", hmmpfam.tmpdir)
 | 
| 
 | 
    33        
 | 
| 
 | 
    34        
 | 
| 
 | 
    35     def testCmd_start(self):
 | 
| 
 | 
    36         
 | 
| 
 | 
    37         fullInFileName = "/workspace/repet_pipe/commons/pyRepetUnit/hmmer/datas/test_input_aa.fa"
 | 
| 
 | 
    38         expectedCmdStart = "hmmpfam --informat FASTA -E 10 /workspace/repet_pipe/pyRepet/launcher/datas/hmmpfam/myhmms test_input_aa.fa > /workspace/repet_pipe/commons/pyRepetUnit/hmmer/datas/test_input_aa.fa.hmmpfamOut"
 | 
| 
 | 
    39 
 | 
| 
 | 
    40         user = "oinizan"
 | 
| 
 | 
    41         host = "pisano"
 | 
| 
 | 
    42         passwd = "oinizan"
 | 
| 
 | 
    43         dbName = "repet_oinizan"
 | 
| 
 | 
    44         jobDb = RepetJob(user , host , passwd , dbName)
 | 
| 
 | 
    45         params = {"param":"--informat FASTA -E 10",
 | 
| 
 | 
    46                   "query" : "toto",
 | 
| 
 | 
    47                   "job_table":"fake", 
 | 
| 
 | 
    48                   "queue" : "fake", 
 | 
| 
 | 
    49                   "groupid" : "fake",
 | 
| 
 | 
    50                   "profilDB": "/workspace/repet_pipe/pyRepet/launcher/datas/hmmpfam/myhmms",
 | 
| 
 | 
    51                   "tmpDir" : "fakeDir", 
 | 
| 
 | 
    52                   "outputDir": "/workspace/repet_pipe/commons/pyRepetUnit/hmmer/datas",
 | 
| 
 | 
    53                   "scriptToLaunch": "/workspace/repet_pipe/repet_base/HmmpfamOutput2align_script.py", 
 | 
| 
 | 
    54                   "cDir" : "."
 | 
| 
 | 
    55         }
 | 
| 
 | 
    56         self.hmmpfam = HmmpfamAndParse2alignLauncher(jobDb, params)
 | 
| 
 | 
    57         self.assertEquals(expectedCmdStart, self.hmmpfam.cmd_start ( fullInFileName ))    
 | 
| 
 | 
    58         
 | 
| 
 | 
    59         
 | 
| 
 | 
    60     def testCmd_finish(self):  
 | 
| 
 | 
    61         
 | 
| 
 | 
    62         fullInFileName = "/workspace/repet_pipe/commons/pyRepetUnit/hmmer/datas/test_input_aa.fa"
 | 
| 
 | 
    63         user = "oinizan"
 | 
| 
 | 
    64         host = "pisano"
 | 
| 
 | 
    65         passwd = "oinizan"
 | 
| 
 | 
    66         dbName = "repet_oinizan"
 | 
| 
 | 
    67         jobDb = RepetJob(user , host , passwd , dbName)
 | 
| 
 | 
    68         params = {"param":"--informat FASTA -E 10",
 | 
| 
 | 
    69                   "query" : "toto",
 | 
| 
 | 
    70                   "job_table":"fake", 
 | 
| 
 | 
    71                   "queue" : "fake", 
 | 
| 
 | 
    72                   "groupid" : "fake",
 | 
| 
 | 
    73                   "profilDB": "/workspace/repet_pipe/pyRepet/launcher/datas/hmmpfam/myhmms",
 | 
| 
 | 
    74                   "tmpDir" : "fakeDir", 
 | 
| 
 | 
    75                   "outputDir": "/workspace/repet_pipe/commons/pyRepetUnit/hmmer/datas",
 | 
| 
 | 
    76                   "scriptToLaunch": "/workspace/repet_pipe/repet_base/HmmpfamOutput2align_script.py",
 | 
| 
 | 
    77                   "cDir" : "."
 | 
| 
 | 
    78         }
 | 
| 
 | 
    79         self.hmmpfamAndParse2align = HmmpfamAndParse2alignLauncher(jobDb, params)
 | 
| 
 | 
    80         expectedCmdFinish = "os.system( \"/workspace/repet_pipe/repet_base/HmmpfamOutput2align_script.py -i /workspace/repet_pipe/commons/pyRepetUnit/hmmer/datas/test_input_aa.fa.hmmpfamOut -o /workspace/repet_pipe/commons/pyRepetUnit/hmmer/datas/test_input_aa.fa.hmmpfamOut.align -c\" )\n"
 | 
| 
 | 
    81         self.assertEquals(expectedCmdFinish, self.hmmpfamAndParse2align.cmd_finish ( fullInFileName ))
 | 
| 
 | 
    82 
 | 
| 
 | 
    83 
 | 
| 
 | 
    84 
 | 
| 
 | 
    85 if __name__ == "__main__":                 
 | 
| 
 | 
    86 	unittest.main()
 | 
| 
 | 
    87 
 |