Repository 'raxml'
hg clone https://toolshed.g2.bx.psu.edu/repos/tiagoantao/raxml

Changeset 0:66bcdd1ac9ca (2015-11-03)
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>