changeset 21:f509cd1d5a78 draft

planemo upload for repository https://github.com/galaxyproject/dunovo commit b'fd1625359a101d8a6b0b8d97028cc8be509398f2\n'-dirty
author nick
date Thu, 04 Jan 2018 23:55:06 -0500
parents 78542cc82cb6
children e875e5572808
files align_families.xml correct_barcodes.xml dunovo.xml make_families.xml tool_dependencies.xml
diffstat 5 files changed, 52 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/align_families.xml	Fri Nov 10 09:30:51 2017 -0500
+++ b/align_families.xml	Thu Jan 04 23:55:06 2018 -0500
@@ -1,9 +1,9 @@
 <?xml version="1.0"?>
-<tool id="align_families" name="Du Novo: Align families" version="2.0.9">
+<tool id="align_families" name="Du Novo: Align families" version="2.0.10">
   <description>of duplex sequencing reads</description>
   <requirements>
     <requirement type="package" version="7.221">mafft</requirement>
-    <requirement type="package" version="2.0.9">dunovo</requirement>
+    <requirement type="package" version="2.0.10">dunovo</requirement>
     <!-- TODO: require Python 2.7 -->
   </requirements>
   <version_command>align-families.py --version</version_command>
@@ -61,7 +61,7 @@
 
 **Alignments**
 
-The alignments are done using MAFFT, specifically the command
+When "MAFFT" is selected as the multiple sequence aligner, the alignments are done with the command
 ::
 
   $ mafft --nuc --quiet family.fa &gt; family.aligned.fa
--- a/correct_barcodes.xml	Fri Nov 10 09:30:51 2017 -0500
+++ b/correct_barcodes.xml	Thu Jan 04 23:55:06 2018 -0500
@@ -1,29 +1,31 @@
 <?xml version="1.0"?>
-<tool id="correct_barcodes" name="Du Novo: Correct barcodes" version="2.0.9">
+<tool id="correct_barcodes" name="Du Novo: Correct barcodes" version="2.0.10">
   <description>of duplex sequencing reads</description>
   <requirements>
-    <requirement type="package" version="2.2.5">bowtie2</requirement>
-    <requirement type="package" version="0.1.18">samtools</requirement>
+    <requirement type="package" version="1.1.2">bowtie</requirement>
     <requirement type="package" version="1.10">networkx</requirement>
-    <requirement type="package" version="2.0.9">dunovo</requirement>
+    <requirement type="package" version="2.0.10">dunovo</requirement>
     <!-- TODO: require Python 2.7 -->
   </requirements>
   <version_command>correct.py --version</version_command>
   <command detect_errors="exit_code"><![CDATA[
-    baralign.sh '$input' refdir correct.sam
-    && samtools view -S -f 256 correct.sam
-    | correct.py --galaxy $phone --dist $dist --mapq $mapq --pos $pos '$input' refdir/barcodes.fa
-      > families.corrected.tsv
+    baralign.sh -c $advanced.chunkmbs -t \${GALAXY_SLOTS:-1} '$input' refdir correct.sam
+    && correct.py --galaxy $phone --dist $dist --mapq $mapq --pos $pos
+         '$input' refdir/barcodes.fa correct.sam
+         > families.corrected.tsv
     && sort families.corrected.tsv
-      > '$output'
+         > '$output'
   ]]>
   </command>
   <inputs>
     <param name="input" type="data" format="tabular" label="Input reads" help="with barcodes, grouped by family"/>
-    <param name="dist" type="integer" value="1" min="1" label="Maximum edit distance" help="Only use alignments where the barcodes differ by at most these many errors."/>
+    <param name="dist" type="integer" value="3" min="1" label="Maximum differences" help="Only use alignments where the barcodes differ by at most these many errors. Note that raising this beyond 3 probably probably won't have an effect, because of the inherent limit in bowtie's ability to match up distant barcodes."/>
     <param name="mapq" type="integer" value="20" min="0" label="Minimum mapping quality" help="Only use alignments whose MAPQ is at least this."/>
-    <param name="pos" type="integer" value="2" min="0" label="Minimum start offset" help="Ignore alignments where the start positions differ by more than this."/>
+    <param name="pos" type="integer" value="2" min="0" label="Maximum start offset" help="Ignore alignments where the start positions differ by more than this."/>
     <param name="phone" type="boolean" truevalue="--phone-home" falsevalue="" checked="False" label="Send usage data" help="Report helpful usage data to the developer, to better understand the use cases and performance of the tool. The only data which will be recorded is the name and version of the tool, the size of the input data, the time and memory taken to process it, and the IP address of the machine running it. Also, if the tool fails, it will report the name of the exception thrown and the line of code it occurred in. The parameters and input/output dataset names are not sent. All the reporting and recording code is available at https://github.com/NickSto/ET"/>
+    <section name="advanced" title="Advanced Options" expanded="false">
+      <param name="chunkmbs" type="integer" value="512" min="16" label="bowtie --chunkmbs" help="This is the number of megabytes to give each bowtie thread for storing path descriptors. If you see warnings about &quot;Exhausted best-first chunk memory&quot; in stderr, you need to increase this."/>
+    </section>
   </inputs>
   <outputs>
     <data name="output" format="tabular"/>
@@ -32,7 +34,7 @@
 
 **What it does**
 
-This is for processing duplex sequencing data. This will correct duplex barcodes and create new, larger families. Errors in barcodes normally prevent them from being recognized as the same as the other barcodes in their family. Correcting these errors allows the original, full families to be reconstructed, saving reads which would otherwise be lost. This tool accomplishes this by doing an all vs. all alignment between the barcodes with bowtie2. This identifies ones which are identical except a few, small differences.
+This is for processing duplex sequencing data. This will correct duplex barcodes and create new, larger families. Errors in barcodes normally prevent them from being recognized as the same as the other barcodes in their family. Correcting these errors allows the original, full families to be reconstructed, saving reads which would otherwise be lost. This tool accomplishes this by doing an all vs. all alignment between the barcodes with bowtie. This identifies ones which are identical except a few, small differences.
 
 -----
 
--- a/dunovo.xml	Fri Nov 10 09:30:51 2017 -0500
+++ b/dunovo.xml	Thu Jan 04 23:55:06 2018 -0500
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
-<tool id="dunovo" name="Du Novo: Make consensus reads" version="2.0.9">
+<tool id="dunovo" name="Du Novo: Make consensus reads" version="2.0.10">
   <description>from duplex sequencing alignments</description>
   <requirements>
-    <requirement type="package" version="2.0.9">dunovo</requirement>
+    <requirement type="package" version="2.0.10">dunovo</requirement>
     <!-- TODO: require Python 2.7 -->
   </requirements>
   <version_command>make-consensi.py --version</version_command>
--- a/make_families.xml	Fri Nov 10 09:30:51 2017 -0500
+++ b/make_families.xml	Thu Jan 04 23:55:06 2018 -0500
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
-<tool id="make_families" name="Du Novo: Make families" version="2.0.9">
+<tool id="make_families" name="Du Novo: Make families" version="2.0.10">
   <description>of duplex sequencing reads</description>
   <requirements>
-    <requirement type="package" version="2.0.9">dunovo</requirement>
+    <requirement type="package" version="2.0.10">dunovo</requirement>
   </requirements>
   <!-- TODO: Add dependency on coreutils to get paste? -->
   <version_command>make-consensi.py --version</version_command>
--- a/tool_dependencies.xml	Fri Nov 10 09:30:51 2017 -0500
+++ b/tool_dependencies.xml	Thu Jan 04 23:55:06 2018 -0500
@@ -1,10 +1,7 @@
 <?xml version="1.0"?>
 <tool_dependency>
-  <package name="bowtie2" version="2.2.5">
-    <repository changeset_revision="f5582ac5ba3c" name="package_bowtie_2_2_5" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
-  </package>
-  <package name="samtools" version="0.1.18">
-    <repository changeset_revision="f499719dad6e" name="package_samtools_0_1_18" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
+  <package name="bowtie" version="1.1.2">
+    <repository changeset_revision="8584a4574ab1" name="package_bowtie_1_1_2" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
   </package>
   <package name="mafft" version="7.221">
     <repository changeset_revision="dd4a533a0e3c" name="mafft" owner="rnateam" toolshed="https://testtoolshed.g2.bx.psu.edu" />
@@ -12,10 +9,37 @@
   <package name="networkx" version="1.10">
     <repository changeset_revision="3469a6858fd4" name="package_networkx_1_10" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
   </package>
-  <package name="dunovo" version="2.0.9">
+  <package name="dunovo" version="2.0.10">
     <install version="1.0">
       <actions>
-        <action sha256sum="6f5295b8eae0e161ee3bd28829ca140657743c695624ffc7f467f13eab2c547c" type="download_by_url">https://github.com/galaxyproject/dunovo/archive/v2.0.9.tar.gz</action>
+        <!-- download the main dunovo package files -->
+        <action sha256sum="81ef826b54746f4335f400b0ec5580bf04b5edfd8051682a684717fb32246227" type="download_by_url">https://github.com/galaxyproject/dunovo/archive/v2.0.10.tar.gz</action>
+        <!-- download the utillib submodule -->
+        <action type="download_file">https://github.com/NickSto/utillib/archive/v0.1.0.tar.gz</action>
+        <action type="shell_command">tar -zxvpf v0.1.0.tar.gz</action>
+        <action type="shell_command">rm v0.1.0.tar.gz</action>
+        <action type="move_file">
+          <source>utillib-0.1.0</source>
+          <destination>utillib</destination>
+        </action>
+        <!-- download the kalign submodule -->
+        <action type="download_file">https://github.com/makrutenko/kalign-dunovo/archive/v0.2.0.tar.gz</action>
+        <action type="shell_command">tar -zxvpf v0.2.0.tar.gz</action>
+        <action type="shell_command">rm v0.2.0.tar.gz</action>
+        <action type="move_file">
+          <source>kalign-dunovo-0.2.0</source>
+          <destination>kalign</destination>
+        </action>
+        <!-- download the ET submodule -->
+        <action type="download_file">https://github.com/NickSto/ET/archive/v0.2.2.tar.gz</action>
+        <action type="shell_command">tar -zxvpf v0.2.2.tar.gz</action>
+        <action type="shell_command">rm v0.2.2.tar.gz</action>
+        <action type="move_file">
+          <source>ET-0.2.2</source>
+          <destination>ET</destination>
+        </action>
+        <!-- make and install -->
+        <action type="shell_command">make clean</action>
         <action type="shell_command">make</action>
         <action type="move_directory_files">
           <source_directory>.</source_directory>
@@ -24,8 +48,6 @@
         <action type="set_environment">
           <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR</environment_variable>
         </action>
-        <!-- Note: This does not install the submodules.
-        Functionality they provide will not be available. -->
       </actions>
     </install>
   </package>