annotate raxml.py @ 1:e45298aa1eb3 draft default tip

planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807-dirty
author tiagoantao
date Tue, 03 Nov 2015 16:29:54 -0500
parents 66bcdd1ac9ca
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
1 #!/usr/bin/env python
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
2 """
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
3 Runs RAxML on a sequence file.
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
4 For use with RAxML version 8.2.4
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
5 """
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
6 import os, shutil, subprocess, sys, optparse, fnmatch, glob
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
7
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
8 def stop_err(msg):
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
9 sys.stderr.write("%s\n" % msg)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
10 sys.exit()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
11
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
12 def getint(name):
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
13 basename = name.partition('RUN.')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
14 if basename[2] != '':
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
15 num = basename[2]
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
16 return int(num)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
17
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
18 def __main__():
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
19 usage = "usage: %prog -T <threads> -s <input> -n <output> -m <model> [optional arguments]"
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
20
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
21 # Parse the primary wrapper's command line options
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
22 parser = optparse.OptionParser(usage = usage)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
23 # raxml binary name, hardcoded in the xml file
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
24 parser.add_option("--binary", action="store", type="string", dest="binary", help="Command to run")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
25 # (-a)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
26 parser.add_option("--weightfile", action="store", type="string", dest="weightfile", help="Column weight file")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
27 # (-A)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
28 parser.add_option("--secondary_structure_model", action="store", type="string", dest="secondary_structure_model", help="Secondary structure model")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
29 # (-b)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
30 parser.add_option("--bootseed", action="store", type="int", dest="bootseed", help="Bootstrap random number seed")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
31 # (-c)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
32 parser.add_option("--numofcats", action="store", type="int", dest="numofcats", help="Number of distinct rate categories")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
33 # (-d)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
34 parser.add_option("--search_complete_random_tree", action="store_true", dest="search_complete_random_tree", help="Search with a complete random starting tree")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
35 # (-D)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
36 parser.add_option("--ml_search_convergence", action="store_true", dest="ml_search_convergence", help="ML search onvergence criterion")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
37 # (-e)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
38 parser.add_option("--model_opt_precision", action="store", type="float", dest="model_opt_precision", help="Model Optimization Precision (-e)")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
39 # (-E)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
40 parser.add_option("--excludefile", action="store", type="string", dest="excludefile", help="Exclude File Name")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
41 # (-f)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
42 parser.add_option("--search_algorithm", action="store", type="string", dest="search_algorithm", help="Search Algorithm")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
43 # (-F)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
44 parser.add_option("--save_memory_cat_model", action="store_true", dest="save_memory_cat_model", help="Save memory under CAT and GTRGAMMA models")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
45 # (-g)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
46 parser.add_option("--groupingfile", action="store", type="string", dest="groupingfile", help="Grouping File Name")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
47 # (-G)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
48 parser.add_option("--enable_evol_heuristics", action="store_true", dest="enable_evol_heuristics", help="Enable evol algo heuristics")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
49 # (-i)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
50 parser.add_option("--initial_rearrangement_setting", action="store", type="int", dest="initial_rearrangement_setting", help="Initial Rearrangement Setting")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
51 # (-I)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
52 parser.add_option("--posterior_bootstopping_analysis", action="store", type="string", dest="posterior_bootstopping_analysis", help="Posterior bootstopping analysis")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
53 # (-J)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
54 parser.add_option("--majority_rule_consensus", action="store", type="string", dest="majority_rule_consensus", help="Majority rule consensus")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
55 # (-k)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
56 parser.add_option("--print_branch_lengths", action="store_true", dest="print_branch_lengths", help="Print branch lengths")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
57 # (-K)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
58 parser.add_option("--multistate_sub_model", action="store", type="string", dest="multistate_sub_model", help="Multistate substitution model")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
59 # (-m)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
60 parser.add_option("--model_type", action="store", type="string", dest="model_type", help="Model Type")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
61 parser.add_option("--base_model", action="store", type="string", dest="base_model", help="Base Model")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
62 parser.add_option("--aa_empirical_freq", action="store_true", dest="aa_empirical_freq", help="Use AA Empirical base frequences")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
63 parser.add_option("--aa_search_matrix", action="store", type="string", dest="aa_search_matrix", help="AA Search Matrix")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
64 # (-n)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
65 parser.add_option("--name", action="store", type="string", dest="name", help="Run Name")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
66 # (-N/#)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
67 parser.add_option("--number_of_runs", action="store", type="int", dest="number_of_runs", help="Number of alternative runs")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
68 parser.add_option("--number_of_runs_bootstop", action="store", type="string", dest="number_of_runs_bootstop", help="Number of alternative runs based on the bootstop criteria")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
69 # (-M)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
70 parser.add_option("--estimate_individual_branch_lengths", action="store_true", dest="estimate_individual_branch_lengths", help="Estimate individual branch lengths")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
71 # (-o)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
72 parser.add_option("--outgroup_name", action="store", type="string", dest="outgroup_name", help="Outgroup Name")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
73 # (-O)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
74 parser.add_option("--disable_undetermined_seq_check", action="store_true", dest="disable_undetermined_seq_check", help="Disable undetermined sequence check")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
75 # (-p)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
76 parser.add_option("--random_seed", action="store", type="int", dest="random_seed", help="Random Number Seed")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
77 # (-P)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
78 parser.add_option("--external_protein_model", action="store", type="string", dest="external_protein_model", help="External Protein Model")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
79 # (-q)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
80 parser.add_option("--multiple_model", action="store", type="string", dest="multiple_model", help="Multiple Model File")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
81 # (-r)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
82 parser.add_option("--constraint_file", action="store", type="string", dest="constraint_file", help="Constraint File")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
83 # (-R)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
84 parser.add_option("--bin_model_parameter_file", action="store", type="string", dest="bin_model_parameter_file", help="Constraint File")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
85 # (-s)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
86 parser.add_option("--source", action="store", type="string", dest="source", help="Input file")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
87 # (-S)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
88 parser.add_option("--secondary_structure_file", action="store", type="string", dest="secondary_structure_file", help="Secondary structure file")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
89 # (-t)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
90 parser.add_option("--starting_tree", action="store", type="string", dest="starting_tree", help="Starting Tree")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
91 # (-T)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
92 parser.add_option("--threads", action="store", type="int", dest="threads", help="Number of threads to use")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
93 # (-u)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
94 parser.add_option("--use_median_approximation", action="store_true", dest="use_median_approximation", help="Use median approximation")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
95 # (-U)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
96 parser.add_option("--save_memory_gappy_alignments", action="store_true", dest="save_memory_gappy_alignments", help="Save memory in large gapped alignments")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
97 # (-V)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
98 parser.add_option("--disable_rate_heterogeneity", action="store_true", dest="disable_rate_heterogeneity", help="Disable rate heterogeneity")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
99 # (-W)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
100 parser.add_option("--sliding_window_size", action="store", type="string", dest="sliding_window_size", help="Sliding window size")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
101 # (-x)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
102 parser.add_option("--rapid_bootstrap_random_seed", action="store", type="int", dest="rapid_bootstrap_random_seed", help="Rapid Boostrap Random Seed")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
103 # (-y)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
104 parser.add_option("--parsimony_starting_tree_only", action="store_true", dest="parsimony_starting_tree_only", help="Generate a parsimony starting tree only")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
105 # (-z)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
106 parser.add_option("--file_multiple_trees", action="store", type="string", dest="file_multiple_trees", help="Multiple Trees File")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
107
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
108 (options, args) = parser.parse_args()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
109 cmd = []
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
110
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
111 # Required parameters
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
112 binary = options.binary
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
113 cmd.append(binary)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
114 # Threads
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
115 threads = "-T %d" % options.threads
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
116 cmd.append(threads)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
117 # Source
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
118 source = "-s %s" % options.source
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
119 cmd.append(source)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
120 #Hardcode to "galaxy" first to simplify the output part of the wrapper
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
121 #name = "-n %s" % options.name
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
122 name = "-n galaxy"
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
123 cmd.append(name)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
124 ## Model
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
125 model_type = options.model_type
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
126 base_model = options.base_model
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
127 aa_search_matrix = options.aa_search_matrix
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
128 aa_empirical_freq = options.aa_empirical_freq
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
129 if model_type == 'aminoacid':
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
130 model = "-m %s%s" % (base_model, aa_search_matrix)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
131 if aa_empirical_freq:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
132 model = "-m %s%s%s" % (base_model, aa_search_matrix, 'F')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
133 # (-P)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
134 if options.external_protein_model:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
135 external_protein_model = "-P %s" % options.external_protein_model
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
136 cmd.append(external_protein_model)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
137 else:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
138 model = "-m %s" % base_model
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
139 cmd.append(model)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
140 if model == "GTRCAT":
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
141 # (-c)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
142 if options.numofcats:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
143 numofcats = "-c %d" % options.numofcats
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
144 cmd.append(numofcats)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
145 # Optional parameters
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
146 if options.number_of_runs_bootstop:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
147 number_of_runs_bootstop = "-N %s" % options.number_of_runs_bootstop
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
148 cmd.append(number_of_runs_bootstop)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
149 else:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
150 number_of_runs_bootstop = ''
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
151 if options.number_of_runs:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
152 number_of_runs_opt = "-N %d" % options.number_of_runs
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
153 cmd.append(number_of_runs_opt)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
154 else:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
155 number_of_runs_opt = 0
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
156 # (-a)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
157 if options.weightfile:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
158 weightfile = "-a %s" % options.weightfile
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
159 cmd.append(weightfile)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
160 # (-A)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
161 if options.secondary_structure_model:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
162 secondary_structure_model = "-A %s" % options.secondary_structure_model
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
163 cmd.append(secondary_structure_model )
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
164 # (-b)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
165 if options.bootseed:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
166 bootseed = "-b %d" % options.bootseed
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
167 cmd.append(bootseed)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
168 else:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
169 bootseed = 0
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
170 # -C - doesn't work in pthreads version, skipped
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
171 if options.search_complete_random_tree:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
172 cmd.append("-d")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
173 if options.ml_search_convergence:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
174 cmd.append("-D" )
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
175 if options.model_opt_precision:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
176 model_opt_precision = "-e %f" % options.model_opt_precision
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
177 cmd.append(model_opt_precision)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
178 if options.excludefile:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
179 excludefile = "-E %s" % options.excludefile
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
180 cmd.append(excludefile)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
181 if options.search_algorithm:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
182 search_algorithm = "-f %s" % options.search_algorithm
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
183 cmd.append(search_algorithm)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
184 if options.save_memory_cat_model:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
185 cmd.append("-F")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
186 if options.groupingfile:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
187 groupingfile = "-g %s" % options.groupingfile
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
188 cmd.append(groupingfile)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
189 if options.enable_evol_heuristics:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
190 enable_evol_heuristics = "-G %f" % options.enable_evol_heuristics
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
191 cmd.append(enable_evol_heuristics )
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
192 if options.initial_rearrangement_setting:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
193 initial_rearrangement_setting = "-i %s" % options.initial_rearrangement_setting
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
194 cmd.append(initial_rearrangement_setting)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
195 if options.posterior_bootstopping_analysis:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
196 posterior_bootstopping_analysis = "-I %s" % options.posterior_bootstopping_analysis
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
197 cmd.append(posterior_bootstopping_analysis)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
198 if options.majority_rule_consensus:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
199 majority_rule_consensus = "-J %s" % options.majority_rule_consensus
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
200 cmd.append(majority_rule_consensus)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
201 if options.print_branch_lengths:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
202 cmd.append("-k")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
203 if options.multistate_sub_model:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
204 multistate_sub_model = "-K %s" % options.multistate_sub_model
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
205 cmd.append(multistate_sub_model)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
206 if options.estimate_individual_branch_lengths:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
207 cmd.append("-M")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
208 if options.outgroup_name:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
209 outgroup_name = "-o %s" % options.outgroup_name
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
210 cmd.append(outgroup_name)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
211 if options.disable_undetermined_seq_check:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
212 cmd.append("-O")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
213 if options.random_seed:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
214 random_seed = "-p %d" % options.random_seed
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
215 cmd.append(random_seed)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
216 multiple_model = None
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
217 if options.multiple_model:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
218 multiple_model = "-q %s" % options.multiple_model
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
219 cmd.append(multiple_model)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
220 if options.constraint_file:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
221 constraint_file = "-r %s" % options.constraint_file
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
222 cmd.append(constraint_file)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
223 if options.bin_model_parameter_file:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
224 bin_model_parameter_file_name = "RAxML_binaryModelParameters.galaxy"
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
225 os.symlink(options.bin_model_parameter_file, bin_model_parameter_file_name )
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
226 bin_model_parameter_file = "-R %s" % options.bin_model_parameter_file
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
227 #Needs testing. Is the hardcoded name or the real path needed?
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
228 cmd.append(bin_model_parameter_file)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
229 if options.secondary_structure_file:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
230 secondary_structure_file = "-S %s" % options.secondary_structure_file
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
231 cmd.append(secondary_structure_file)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
232 if options.starting_tree:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
233 starting_tree = "-t %s" % options.starting_tree
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
234 cmd.append(starting_tree)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
235 if options.use_median_approximation:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
236 cmd.append("-u")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
237 if options.save_memory_gappy_alignments:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
238 cmd.append("-U")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
239 if options.disable_rate_heterogeneity:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
240 cmd.append("-V")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
241 if options.sliding_window_size:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
242 sliding_window_size = "-W %d" % options.sliding_window_size
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
243 cmd.append(sliding_window_size)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
244 if options.rapid_bootstrap_random_seed:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
245 rapid_bootstrap_random_seed = "-x %d" % options.rapid_bootstrap_random_seed
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
246 cmd.append(rapid_bootstrap_random_seed)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
247 else:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
248 rapid_bootstrap_random_seed = 0
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
249 if options.parsimony_starting_tree_only:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
250 cmd.append("-y")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
251 if options.file_multiple_trees:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
252 file_multiple_trees = "-z %s" % options.file_multiple_trees
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
253 cmd.append(file_multiple_trees)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
254
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
255 print "cmd list: ", cmd, "\n"
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
256
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
257 full_cmd = " ".join(cmd)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
258 print "Command string: %s" % full_cmd
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
259
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
260 try:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
261 proc = subprocess.Popen(args=full_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
262 except Exception, err:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
263 sys.stderr.write("Error invoking command: \n%s\n\n%s\n" % (cmd, err))
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
264 sys.exit(1)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
265 stdout, stderr = proc.communicate()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
266 return_code = proc.returncode
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
267 if return_code:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
268 sys.stdout.write(stdout)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
269 sys.stderr.write(stderr)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
270 sys.stderr.write("Return error code %i from command:\n" % return_code)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
271 sys.stderr.write("%s\n" % cmd)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
272 else:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
273 sys.stdout.write(stdout)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
274 sys.stdout.write(stderr)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
275
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
276 #Multiple runs - concatenate
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
277 if number_of_runs_opt > 0:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
278 if (bootseed == 0) and (rapid_bootstrap_random_seed == 0 ):
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
279 runfiles = glob.glob('RAxML*RUN*')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
280 runfiles.sort(key=getint)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
281 # Logs
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
282 outfile = open('RAxML_log.galaxy','w')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
283 for filename in runfiles:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
284 if fnmatch.fnmatch(filename, 'RAxML_log.galaxy.RUN.*'):
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
285 infile = open(filename, 'r')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
286 filename_line = "%s\n" % filename
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
287 outfile.write(filename_line)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
288 for line in infile:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
289 outfile.write(line)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
290 infile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
291 outfile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
292 # Parsimony Trees
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
293 outfile = open('RAxML_parsimonyTree.galaxy','w')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
294 for filename in runfiles:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
295 if fnmatch.fnmatch(filename, 'RAxML_parsimonyTree.galaxy.RUN.*'):
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
296 infile = open(filename, 'r')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
297 filename_line = "%s\n" % filename
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
298 outfile.write(filename_line)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
299 for line in infile:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
300 outfile.write(line)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
301 infile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
302 outfile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
303 # Results
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
304 outfile = open('RAxML_result.galaxy','w')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
305 for filename in runfiles:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
306 if fnmatch.fnmatch(filename, 'RAxML_result.galaxy.RUN.*'):
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
307 infile = open(filename, 'r')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
308 filename_line = "%s\n" % filename
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
309 outfile.write(filename_line)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
310 for line in infile:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
311 outfile.write(line)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
312 infile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
313 outfile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
314 # Multiple Model Partition Files
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
315 if multiple_model:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
316 files = glob.glob('RAxML_bestTree.galaxy.PARTITION.*')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
317 if len(files) > 0:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
318 files.sort(key=getint)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
319 outfile = open('RAxML_bestTreePartitions.galaxy','w')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
320 # Best Tree Partitions
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
321 for filename in files:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
322 if fnmatch.fnmatch(filename, 'RAxML_bestTree.galaxy.PARTITION.*'):
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
323 infile = open(filename, 'r')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
324 filename_line = "%s\n" % filename
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
325 outfile.write(filename_line)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
326 for line in infile:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
327 outfile.write(line)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
328 infile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
329 outfile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
330 else:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
331 outfile = open('RAxML_bestTreePartitions.galaxy','w')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
332 outfile.write("No partition files were produced.\n")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
333 outfile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
334
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
335 # Result Partitions
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
336 files = glob.glob('RAxML_result.galaxy.PARTITION.*')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
337 if len(files) > 0:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
338 files.sort(key=getint)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
339 outfile = open('RAxML_resultPartitions.galaxy','w')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
340 for filename in files:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
341 if fnmatch.fnmatch(filename, 'RAxML_result.galaxy.PARTITION.*'):
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
342 infile = open(filename, 'r')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
343 filename_line = "%s\n" % filename
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
344 outfile.write(filename_line)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
345 for line in infile:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
346 outfile.write(line)
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
347 infile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
348 outfile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
349 else:
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
350 outfile = open('RAxML_resultPartitions.galaxy','w')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
351 outfile.write("No partition files were produced.\n")
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
352 outfile.close()
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
353
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
354 # DEBUG options
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
355 infof = open('RAxML_info.galaxy','a')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
356 infof.write('\nOM: CLI options DEBUG START:\n')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
357 infof.write(options.__repr__())
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
358 infof.write('\nOM: CLI options DEBUG END\n')
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
359
66bcdd1ac9ca planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807
tiagoantao
parents:
diff changeset
360 if __name__=="__main__": __main__()