Next changeset 1:e45298aa1eb3 (2015-11-03) |
Commit message:
planemo upload commit 2c71c5e5604b9c05648b883fddbb163a8e03c807 |
added:
README.md raxml.py raxml.xml test-data/RAxML_parsimonyTree.galaxy test-data/dna.phy tool_dependencies.xml |
b |
diff -r 000000000000 -r 66bcdd1ac9ca README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.md Tue Nov 03 16:27:41 2015 -0500 |
b |
@@ -0,0 +1,10 @@ +RAxML for Galaxy +================ + +95% of this work was made by Oleksandr Moskalenko. Tiago Antao +is trying to update it to a more current version. + +Acknowledgements +---------------- + +Björn Grüning for all the help |
b |
diff -r 000000000000 -r 66bcdd1ac9ca raxml.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/raxml.py Tue Nov 03 16:27:41 2015 -0500 |
[ |
b'@@ -0,0 +1,360 @@\n+#!/usr/bin/env python\n+"""\n+Runs RAxML on a sequence file.\n+For use with RAxML version 8.2.4\n+"""\n+import os, shutil, subprocess, sys, optparse, fnmatch, glob\n+\n+def stop_err(msg):\n+ sys.stderr.write("%s\\n" % msg)\n+ sys.exit()\n+\n+def getint(name):\n+ basename = name.partition(\'RUN.\')\n+ if basename[2] != \'\':\n+ num = basename[2]\n+ return int(num)\n+\n+def __main__():\n+ usage = "usage: %prog -T <threads> -s <input> -n <output> -m <model> [optional arguments]"\n+\n+ # Parse the primary wrapper\'s command line options\n+ parser = optparse.OptionParser(usage = usage)\n+ # raxml binary name, hardcoded in the xml file\n+ parser.add_option("--binary", action="store", type="string", dest="binary", help="Command to run")\n+ # (-a)\n+ parser.add_option("--weightfile", action="store", type="string", dest="weightfile", help="Column weight file")\n+ # (-A)\n+ parser.add_option("--secondary_structure_model", action="store", type="string", dest="secondary_structure_model", help="Secondary structure model")\n+ # (-b)\n+ parser.add_option("--bootseed", action="store", type="int", dest="bootseed", help="Bootstrap random number seed")\n+ # (-c)\n+ parser.add_option("--numofcats", action="store", type="int", dest="numofcats", help="Number of distinct rate categories")\n+ # (-d)\n+ parser.add_option("--search_complete_random_tree", action="store_true", dest="search_complete_random_tree", help="Search with a complete random starting tree")\n+ # (-D)\n+ parser.add_option("--ml_search_convergence", action="store_true", dest="ml_search_convergence", help="ML search onvergence criterion")\n+ # (-e)\n+ parser.add_option("--model_opt_precision", action="store", type="float", dest="model_opt_precision", help="Model Optimization Precision (-e)")\n+ # (-E)\n+ parser.add_option("--excludefile", action="store", type="string", dest="excludefile", help="Exclude File Name")\n+ # (-f)\n+ parser.add_option("--search_algorithm", action="store", type="string", dest="search_algorithm", help="Search Algorithm")\n+ # (-F)\n+ parser.add_option("--save_memory_cat_model", action="store_true", dest="save_memory_cat_model", help="Save memory under CAT and GTRGAMMA models")\n+ # (-g)\n+ parser.add_option("--groupingfile", action="store", type="string", dest="groupingfile", help="Grouping File Name")\n+ # (-G)\n+ parser.add_option("--enable_evol_heuristics", action="store_true", dest="enable_evol_heuristics", help="Enable evol algo heuristics")\n+ # (-i)\n+ parser.add_option("--initial_rearrangement_setting", action="store", type="int", dest="initial_rearrangement_setting", help="Initial Rearrangement Setting")\n+ # (-I)\n+ parser.add_option("--posterior_bootstopping_analysis", action="store", type="string", dest="posterior_bootstopping_analysis", help="Posterior bootstopping analysis")\n+ # (-J)\n+ parser.add_option("--majority_rule_consensus", action="store", type="string", dest="majority_rule_consensus", help="Majority rule consensus")\n+ # (-k)\n+ parser.add_option("--print_branch_lengths", action="store_true", dest="print_branch_lengths", help="Print branch lengths")\n+ # (-K)\n+ parser.add_option("--multistate_sub_model", action="store", type="string", dest="multistate_sub_model", help="Multistate substitution model")\n+ # (-m)\n+ parser.add_option("--model_type", action="store", type="string", dest="model_type", help="Model Type")\n+ parser.add_option("--base_model", action="store", type="string", dest="base_model", help="Base Model")\n+ parser.add_option("--aa_empirical_freq", action="store_true", dest="aa_empirical_freq", help="Use AA Empirical base frequences")\n+ parser.add_option("--aa_search_matrix", action="store", type="string", dest="aa_search_matrix", help="AA Search Matrix")\n+ # (-n)\n+ parser.add_option("--name", action="store", type="string", dest="name", help="Run Name")\n+ # (-N/#)\n+ parser.add_option("--number_of_runs'..b'urn_code = proc.returncode\n+ if return_code:\n+ sys.stdout.write(stdout)\n+ sys.stderr.write(stderr)\n+ sys.stderr.write("Return error code %i from command:\\n" % return_code)\n+ sys.stderr.write("%s\\n" % cmd)\n+ else:\n+ sys.stdout.write(stdout)\n+ sys.stdout.write(stderr)\n+\n+ #Multiple runs - concatenate\n+ if number_of_runs_opt > 0:\n+ if (bootseed == 0) and (rapid_bootstrap_random_seed == 0 ):\n+ runfiles = glob.glob(\'RAxML*RUN*\')\n+ runfiles.sort(key=getint)\n+ # Logs\n+ outfile = open(\'RAxML_log.galaxy\',\'w\')\n+ for filename in runfiles:\n+ if fnmatch.fnmatch(filename, \'RAxML_log.galaxy.RUN.*\'):\n+ infile = open(filename, \'r\')\n+ filename_line = "%s\\n" % filename\n+ outfile.write(filename_line)\n+ for line in infile:\n+ outfile.write(line)\n+ infile.close()\n+ outfile.close()\n+ # Parsimony Trees\n+ outfile = open(\'RAxML_parsimonyTree.galaxy\',\'w\')\n+ for filename in runfiles:\n+ if fnmatch.fnmatch(filename, \'RAxML_parsimonyTree.galaxy.RUN.*\'):\n+ infile = open(filename, \'r\')\n+ filename_line = "%s\\n" % filename\n+ outfile.write(filename_line)\n+ for line in infile:\n+ outfile.write(line)\n+ infile.close()\n+ outfile.close()\n+ # Results\n+ outfile = open(\'RAxML_result.galaxy\',\'w\')\n+ for filename in runfiles:\n+ if fnmatch.fnmatch(filename, \'RAxML_result.galaxy.RUN.*\'):\n+ infile = open(filename, \'r\')\n+ filename_line = "%s\\n" % filename\n+ outfile.write(filename_line)\n+ for line in infile:\n+ outfile.write(line)\n+ infile.close()\n+ outfile.close()\n+ # Multiple Model Partition Files\n+ if multiple_model:\n+ files = glob.glob(\'RAxML_bestTree.galaxy.PARTITION.*\')\n+ if len(files) > 0:\n+ files.sort(key=getint)\n+ outfile = open(\'RAxML_bestTreePartitions.galaxy\',\'w\')\n+ # Best Tree Partitions\n+ for filename in files:\n+ if fnmatch.fnmatch(filename, \'RAxML_bestTree.galaxy.PARTITION.*\'):\n+ infile = open(filename, \'r\')\n+ filename_line = "%s\\n" % filename\n+ outfile.write(filename_line)\n+ for line in infile:\n+ outfile.write(line)\n+ infile.close()\n+ outfile.close()\n+ else:\n+ outfile = open(\'RAxML_bestTreePartitions.galaxy\',\'w\')\n+ outfile.write("No partition files were produced.\\n")\n+ outfile.close()\n+\n+ # Result Partitions\n+ files = glob.glob(\'RAxML_result.galaxy.PARTITION.*\')\n+ if len(files) > 0:\n+ files.sort(key=getint)\n+ outfile = open(\'RAxML_resultPartitions.galaxy\',\'w\')\n+ for filename in files:\n+ if fnmatch.fnmatch(filename, \'RAxML_result.galaxy.PARTITION.*\'):\n+ infile = open(filename, \'r\')\n+ filename_line = "%s\\n" % filename\n+ outfile.write(filename_line)\n+ for line in infile:\n+ outfile.write(line)\n+ infile.close()\n+ outfile.close()\n+ else:\n+ outfile = open(\'RAxML_resultPartitions.galaxy\',\'w\')\n+ outfile.write("No partition files were produced.\\n")\n+ outfile.close()\n+\n+ # DEBUG options\n+ infof = open(\'RAxML_info.galaxy\',\'a\')\n+ infof.write(\'\\nOM: CLI options DEBUG START:\\n\')\n+ infof.write(options.__repr__())\n+ infof.write(\'\\nOM: CLI options DEBUG END\\n\')\n+\n+if __name__=="__main__": __main__()\n' |
b |
diff -r 000000000000 -r 66bcdd1ac9ca raxml.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/raxml.xml Tue Nov 03 16:27:41 2015 -0500 |
[ |
b'@@ -0,0 +1,564 @@\n+<tool id="raxml" name="Phyogenetic reconstruction with RaXML" version="1.0.1">\n+ <description>- Maximum Likelihood based inference of large phylogenetic trees</description>\n+ <requirements>\n+ <requirement type=\'package\' version="8.2.4">raxml</requirement>\n+ </requirements>\n+ <command interpreter="python">raxml.py\n+ ## Required parameters \n+ ## Program name and threads are hard-coded as they are dependent on the binary and threads are specified in the Galaxy\'s tool configuration\n+ ## binary is hard-coded to the pthreads enabled raxml executable\n+ --binary "raxmlHPC-PTHREADS"\n+ ## (-T)\n+ --threads \\${GALAXY_SLOTS:-1}\n+ ## (-s)\n+ --source $infile\n+ ## (-m)\n+ --model_type $search_model_selector.model_type\n+ --base_model $search_model_selector.base_model\n+ #if str( $search_model_selector.model_type ) == \'aminoacid\':\n+ $search_model_selector.aa_model_empirical_base_frequencies\n+ #if $search_model_selector.aa_search_matrix:\n+ --aa_search_matrix $search_model_selector.aa_search_matrix\n+ #end if\n+ #end if\n+ ## (-p)\n+ #if $random_seed:\n+ --random_seed $random_seed\n+ #else\n+ --random_seed 1234567890\n+ #end if\n+\n+ ## Optional parameters\n+\n+#if str( $selExtraOpts.extraOptions ) == \'full\':\n+ ## (-N/#)\n+ #if $selExtraOpts.number_of_runs:\n+ --number_of_runs $selExtraOpts.number_of_runs\n+ #end if\n+ #if $selExtraOpts.number_of_runs_bootstop:\n+ --number_of_runs_bootstop $selExtraOpts.number_of_runs_bootstop\n+ #end if\n+ ## (-a)\n+ #if $selExtraOpts.weightfile:\n+ --weightfile $selExtraOpts.weightfile\n+ #end if\n+ ## (-b)\n+ #if str ($selExtraOpts.secondary_structure_model) != "":\n+ --secondary_structure_model $selExtraOpts.secondary_structure_model\n+ #end if\n+ ## (-b)\n+ #if $selExtraOpts.bootseed:\n+ --bootseed $selExtraOpts.bootseed\n+ #end if\n+ ## (-c)\n+ #if $selExtraOpts.numofcats:\n+ --numofcats $selExtraOpts.numofcats\n+ #end if\n+ ## (-d)\n+ $selExtraOpts.search_complete_random_tree\n+ ## (-D)\n+ $selExtraOpts.ml_search_convergence\n+ ## (-e)\n+ #if $selExtraOpts.model_opt_precision:\n+ --model_opt_precision $selExtraOpts.model_opt_precision\n+ #end if\n+ ## (-E)\n+ #if $selExtraOpts.excludefile:\n+ --excludefile $selExtraOpts.excludefile\n+ #end if\n+ ## (-f)\n+ #if $selExtraOpts.search_algorithm:\n+ --search_algorithm $selExtraOpts.search_algorithm\n+ #end if\n+ ## (-F)\n+ $selExtraOpts.save_memory_cat_model\n+ ## (-g)\n+ #if $selExtraOpts.groupingfile:\n+ --groupingfile $selExtraOpts.groupingfile\n+ #end if\n+ ## (-G)\n+ #if $selExtraOpts.enable_evol_heuristics:\n+ --enable_evol_heuristics $selExtraOpts.enable_evol_heuristics\n+ #end if\n+ ## (-i)\n+ #if $selExtraOpts.initial_rearrangement_setting:\n+ --initial_rearrangement_setting $selExtraOpts.initial_rearrangement_setting\n+ #end if\n+ ## (-I)\n+ #if $selExtraOpts.posterior_bootstopping_analysis:\n+ --posterior_bootstopping_analysis $selExtraOpts.posterior_bootstopping_analysis\n+ #end if\n+ ## (-J)\n+ #if $selExtraOpts.majority_rule_consensus:\n+ --majority_rule_consensus $selExtraOpts.majority_rule_consensus\n+ #end if\n+ ## (-k)\n+ $selExtraOpts.print_branch_lengths\n+ ## (-K)\n+ #if str ($selExtraOpts.multistate_sub_model) != "":\n+ --multistate_sub_model $selExtraOpts.multistate_sub_model\n+ #end if\n+ ## (-m) - see elsewhere\n+ ## (-M)\n+ $selExtraOpts.estimate_individual_branch_lengths\n+ ## (-n) - see elsewhere\n+ ## (-o)\n+ #if $selExtraOpts.outgroup_name:\n+ --outgroup_name $selExtraOpts.outgroup_name\n+ #end if\n+ ## (-O)\n+ $selExtraOpts.disable_undetermined_seq_check\n+ ## (-P)\n+ #if $selExtraOpts.external_protein_model:\n+ --external_protein_model $selExtraOpts.external_protein_model\n+ #end if\n+ ## ('..b'= \'\')) </filter>\n+ <filter>selExtraOpts[\'extraOptions\'] == "full"</filter>\n+ </data>\n+ <data format="txt" name="bipartitionsBranchLabels" from_work_dir="RAxML_bipartitionsBranchLabels.galaxy" label="Bipartitions Branch Labels">\n+ <filter>selExtraOpts[\'extraOptions\'] == "full"</filter>\n+ <filter>(selExtraOpts[\'search_algorithm\'] == \'b\') or ((selExtraOpts[\'search_algorithm\'] == \'a\') and (selExtraOpts[\'rapid_bootstrap_random_seed\'] != \'\')) </filter>\n+ </data>\n+ <data format="txt" name="strictConsensusTree" from_work_dir="RAxML_StrictConsensusTree.galaxy" label="Strict Consensus Tree">\n+ <filter>selExtraOpts[\'extraOptions\'] == "full"</filter>\n+ <filter>(selExtraOpts[\'majority_rule_consensus\'] == \'STRICT\') </filter>\n+ </data>\n+ <data format="txt" name="majorityRuleConsensusTree" from_work_dir="RAxML_MajorityRuleConsensusTree.galaxy" label="Majority Rule Consensus Tree">\n+ <filter>selExtraOpts[\'extraOptions\'] == "full"</filter>\n+ <filter>(selExtraOpts[\'majority_rule_consensus\'] == \'MR\')</filter>\n+ </data>\n+ <data format="txt" name="majorityRuleExtendedConsensusTree" from_work_dir="RAxML_MajorityRuleExtendedConsensusTree.galaxy" label="Majority Rule Extended Consensus Tree">\n+ <filter>selExtraOpts[\'extraOptions\'] == "full"</filter>\n+ <filter>(selExtraOpts[\'majority_rule_consensus\'] == \'MRE\')</filter>\n+ </data>\n+ <data format="txt" name="bipartitionFreq" from_work_dir="RAxML_bipartitionFrequences.galaxy" label="Pair-wise bipartition frequences.">\n+ <filter>selExtraOpts[\'search_algorithm\'] == \'m\' </filter>\n+ <filter>selExtraOpts[\'extraOptions\'] == "full"</filter>\n+ </data>\n+ <data format="txt" name="perSiteLLs" from_work_dir="RAxML_perSiteLLs.galaxy" label="Per-site likelihood schores">\n+ <filter>selExtraOpts[\'search_algorithm\'] == \'g\' </filter>\n+ <filter>selExtraOpts[\'extraOptions\'] == "full"</filter>\n+ </data>\n+ <data format="txt" name="distances" from_work_dir="RAxML_distances.galaxy" label="Pair-wise distances">\n+ <filter>selExtraOpts[\'search_algorithm\'] == \'x\' </filter>\n+ <filter>selExtraOpts[\'extraOptions\'] == "full"</filter>\n+ </data>\n+ </outputs>\n+ <tests>\n+ <test>\n+ <param name="extraOptions" value="required"/>\n+ <param name="infile" value="dna.phy"/>\n+ <param name="model_type" value="nucleotide"/>\n+ <param name="base_model" value="GTRCAT"/>\n+ <output name="parsimonyTreeReq" file="RAxML_parsimonyTree.galaxy">\n+ <output name="bestTreeReq"/>\n+ <assert_contents>\n+ <has_text_matching expression="Frog" />\n+ </assert_contents>\n+ </output>\n+ </test>\n+ </tests>\n+ <help>\n+Title:\n+______\n+Randomized Axelerated Maximum Likelihood\n+\n+Author:\n+_______\n+Alexandros Stamatakis \n+\n+Description:\n+____________\n+\n+RAxML is a program for Maximum Likelihood-based inference of large phylogenetic\n+trees. The program is explicitly being developed to efficiently infer trees for\n+extremely large datasets, either in terms of the number of taxa and/or the\n+sequence length.\n+\n+This wrapper works with the RAxML version 8.2.4.\n+\n+URL:\n+____\n+Author\'s page: http://www.exelixis-lab.org/\n+\n+Help: http://groups.google.com/group/raxml\n+\n+\n+Tool development:\n+-----------------\n+Oleksandr Moskalenko with adaptations from Tiago Antao.\n+\n+ </help>\n+<citations>\n+ <citation type="doi">10.1093/bioinformatics/btu033</citation>\n+ <citation type="bibtex">\n+@article{stamatakis2014raxml,\n+ title={RAxML version 8: a tool for phylogenetic analysis and post-analysis of large phylogenies},\n+ author={Stamatakis, Alexandros},\n+ journal={Bioinformatics},\n+ volume={30},\n+ number={9},\n+ pages={1312--1313},\n+ year={2014},\n+ publisher={Oxford Univ Press}}\n+ </citation>\n+</citations>\n+</tool>\n' |
b |
diff -r 000000000000 -r 66bcdd1ac9ca test-data/RAxML_parsimonyTree.galaxy --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/RAxML_parsimonyTree.galaxy Tue Nov 03 16:27:41 2015 -0500 |
b |
@@ -0,0 +1,1 @@ +(Whale,((((Mouse,Chicken),Human),Rat),((Frog,(Carp,Loach)),Seal)),Cow); |
b |
diff -r 000000000000 -r 66bcdd1ac9ca test-data/dna.phy --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/dna.phy Tue Nov 03 16:27:41 2015 -0500 |
b |
@@ -0,0 +1,11 @@ +10 60 +Cow ATGGCATATCCCATACAACTAGGATTCCAAGATGCAACATCACCAATCATAGAAGAACTA +Carp ATGGCACACCCAACGCAACTAGGTTTCAAGGACGCGGCCATACCCGTTATAGAGGAACTT +Chicken ATGGCCAACCACTCCCAACTAGGCTTTCAAGACGCCTCATCCCCCATCATAGAAGAGCTC +Human ATGGCACATGCAGCGCAAGTAGGTCTACAAGACGCTACTTCCCCTATCATAGAAGAGCTT +Loach ATGGCACATCCCACACAATTAGGATTCCAAGACGCGGCCTCACCCGTAATAGAAGAACTT +Mouse ATGGCCTACCCATTCCAACTTGGTCTACAAGACGCCACATCCCCTATTATAGAAGAGCTA +Rat ATGGCTTACCCATTTCAACTTGGCTTACAAGACGCTACATCACCTATCATAGAAGAACTT +Seal ATGGCATACCCCCTACAAATAGGCCTACAAGATGCAACCTCTCCCATTATAGAGGAGTTA +Whale ATGGCATATCCATTCCAACTAGGTTTCCAAGATGCAGCATCACCCATCATAGAAGAGCTC +Frog ATGGCACACCCATCACAATTAGGTTTTCAAGACGCAGCCTCTCCAATTATAGAAGAATTA \ No newline at end of file |
b |
diff -r 000000000000 -r 66bcdd1ac9ca tool_dependencies.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Tue Nov 03 16:27:41 2015 -0500 |
b |
@@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="raxml" version="8.2.4"> + <repository changeset_revision="25be7ee8d4b6" name="package_raxml_8_2_4" owner="tiagoantao" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> +</tool_dependency> |