Mercurial > repos > yufei-luo > s_mart
comparison commons/launcher/launchPhyML.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 #!/usr/bin/env python | |
2 | |
3 import os | |
4 import sys | |
5 import getopt | |
6 | |
7 from pyRepet.launcher.programLauncher import programLauncher | |
8 from commons.tools.ChangeSequenceHeaders import ChangeSequenceHeaders | |
9 | |
10 | |
11 def help(): | |
12 print | |
13 print "usage: ",sys.argv[0],"[ options ]" | |
14 print "options:" | |
15 print " -h: this help" | |
16 print " -i: name of the input file (aligned fasta)" | |
17 print " -c: clean" | |
18 print " -v: verbose (default=0)" | |
19 print | |
20 | |
21 | |
22 def main(): | |
23 | |
24 inFileName = "" | |
25 clean = False | |
26 verbose = 0 | |
27 try: | |
28 opts,args=getopt.getopt(sys.argv[1:],"hi:cv:") | |
29 except getopt.GetoptError, err: | |
30 print str(err) | |
31 help(); sys.exit(1) | |
32 for o,a in opts: | |
33 if o == "-h": | |
34 help(); sys.exit(0) | |
35 elif o == "-i": | |
36 inFileName = a | |
37 elif o == "-c": | |
38 clean = True | |
39 elif o == "-v": | |
40 verbose = int(a) | |
41 if inFileName == "": | |
42 print "ERROR: missing compulsory options" | |
43 help(); sys.exit(1) | |
44 | |
45 if verbose > 0: | |
46 print "START %s" % (sys.argv[0].split("/")[-1]) | |
47 sys.stdout.flush() | |
48 | |
49 csh = ChangeSequenceHeaders() | |
50 csh.setInputFile( inFileName ) | |
51 csh.setFormat( "fasta" ) | |
52 csh.setStep( 1 ) | |
53 csh.setPrefix( "seq" ) | |
54 csh.setLinkFile( inFileName+".shortHlink" ) | |
55 csh.setOutputFile( inFileName+".shortH" ) | |
56 csh.run() | |
57 | |
58 pL = programLauncher( inFileName+".shortH" ) | |
59 | |
60 pL.launchSreformat( outFormat="phylip", outFileName=inFileName+".shortH.phylip", verbose=verbose ) | |
61 | |
62 pL.reset( inFileName+".shortH.phylip" ) | |
63 | |
64 pL.launchPhyML( verbose=verbose ) | |
65 | |
66 csh.setInputFile( inFileName+".shortH.phylip_phyml_tree.txt" ) | |
67 csh.setFormat( "newick" ) | |
68 csh.setStep( 2 ) | |
69 csh.setLinkFile( inFileName+".shortHlink" ) | |
70 csh.setOutputFile( inFileName+"_phyml.newick" ) | |
71 csh.run() | |
72 | |
73 if clean: | |
74 for f in [ inFileName+".shortH", inFileName+".shortHlink", inFileName+".shortH.phylip", | |
75 inFileName+".shortH.phylip_phyml_lk.txt", inFileName+".shortH.phylip_phyml_tree.txt" ]: | |
76 os.remove( f ) | |
77 os.system( "mv %s.shortH.phylip_phyml_stat.txt %s_phyml.txt" % ( inFileName, inFileName ) ) | |
78 | |
79 if verbose > 0: | |
80 print "END %s" % (sys.argv[0].split("/")[-1]) | |
81 sys.stdout.flush() | |
82 | |
83 return 0 | |
84 | |
85 | |
86 if __name__ == "__main__": | |
87 main() |