def rax(a, boot, threads,fast = False, run_rax = False, run_iq = False, model = False, cluster = False, node = False):
a = os.path.abspath(a)<EOL>a_base = a.rsplit('<STR_LIT:/>', <NUM_LIT:1>)[<NUM_LIT:1>]<EOL>out_dir = '<STR_LIT>' %(a.rsplit('<STR_LIT:/>', <NUM_LIT:1>)[<NUM_LIT:0>], a_base.rsplit('<STR_LIT:.>', <NUM_LIT:1>)[<NUM_LIT:0>], boot)<EOL>os.system('<STR_LIT>' % (out_dir))<EOL>os.system('<STR_LIT>' % (os.path.abspath(a), out_dir, a.rsplit('<STR_LIT:/>', <NUM_LIT:1>)[<NUM_LIT:1>]))<EOL>os.chdir(out_dir)<EOL>a_id, a_id_lookup = get_ids(a_base)<EOL>a_id_phylip = convert2phylip(a_id)<EOL>rax_out = '<STR_LIT>' % (a_id_phylip)<EOL>if fast is True:<EOL><INDENT>final_fast = '<STR_LIT>' % (a_id_lookup.rsplit('<STR_LIT:.>', <NUM_LIT:2>)[<NUM_LIT:0>])<EOL>fast_tree = run_fast(a_id, threads, cluster, node)<EOL>good_fast = fix_tree(fast_tree, a_id_lookup, final_fast)<EOL>yield '<STR_LIT>' % (out_dir, final_fast)<EOL><DEDENT>if run_iq is True:<EOL><INDENT>final_iq = '<STR_LIT>' % (a_id_lookup.rsplit('<STR_LIT:.>', <NUM_LIT:2>)[<NUM_LIT:0>])<EOL>iq_out = '<STR_LIT>' % (a_id_phylip)<EOL>iq_tree = run_iqtree(a_id_phylip, model, threads, cluster, node)<EOL>good_tree = fix_tree(iq_tree, a_id_lookup, final_iq)<EOL>yield '<STR_LIT>' % (out_dir, final_iq)<EOL><DEDENT>elif run_rax is True:<EOL><INDENT>final_rax = '<STR_LIT>' % (a_id_lookup.rsplit('<STR_LIT:.>', <NUM_LIT:2>)[<NUM_LIT:0>])<EOL>rax_tree = run_raxml(rax_out, boot, a_id_phylip, threads, a_id, model, cluster, node)<EOL>good_tree = fix_tree(rax_tree, a_id_lookup, final_rax)<EOL>yield '<STR_LIT>' % (out_dir, final_rax)<EOL><DEDENT>
run raxml on 'a' (alignment) with 'boot' (bootstraps) and 'threads' (threads)
store all files in raxml_a_b
1. give every sequence a short identifier
2. convert fasta to phylip
3. run raxml
4. convert ids in raxml tree to original names