changeset 28:0c3e8fa84c38 draft

planemo upload for repository https://github.com/galaxyproject/dunovo commit b'7f1f52235061c89aad39653fe1512c7f8b330315\n'-dirty
author nick
date Fri, 23 Mar 2018 21:51:35 -0400
parents 06e47132b979
children 9d28b4509c02
files align_families.xml correct_barcodes.xml dunovo.xml make_families.xml precheck.xml tool_dependencies.xml
diffstat 6 files changed, 83 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/align_families.xml	Fri Jan 05 05:25:00 2018 -0500
+++ b/align_families.xml	Fri Mar 23 21:51:35 2018 -0400
@@ -1,9 +1,9 @@
 <?xml version="1.0"?>
-<tool id="align_families" name="Du Novo: Align families" version="2.0.12">
+<tool id="align_families" name="Du Novo: Align families" version="2.14">
   <description>of duplex sequencing reads</description>
   <requirements>
     <requirement type="package" version="7.221">mafft</requirement>
-    <requirement type="package" version="2.0.12">dunovo</requirement>
+    <requirement type="package" version="2.14">dunovo</requirement>
     <!-- TODO: require Python 2.7 -->
   </requirements>
   <version_command>align-families.py --version</version_command>
--- a/correct_barcodes.xml	Fri Jan 05 05:25:00 2018 -0500
+++ b/correct_barcodes.xml	Fri Mar 23 21:51:35 2018 -0400
@@ -1,10 +1,10 @@
 <?xml version="1.0"?>
-<tool id="correct_barcodes" name="Du Novo: Correct barcodes" version="2.0.12">
+<tool id="correct_barcodes" name="Du Novo: Correct barcodes" version="2.14">
   <description>of duplex sequencing reads</description>
   <requirements>
     <requirement type="package" version="1.1.2">bowtie</requirement>
     <requirement type="package" version="1.10">networkx</requirement>
-    <requirement type="package" version="2.0.12">dunovo</requirement>
+    <requirement type="package" version="2.14">dunovo</requirement>
     <!-- TODO: require Python 2.7 -->
   </requirements>
   <version_command>correct.py --version</version_command>
@@ -19,7 +19,7 @@
   </command>
   <inputs>
     <param name="input" type="data" format="tabular" label="Input reads" help="with barcodes, grouped by family"/>
-    <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="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 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="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"/>
--- a/dunovo.xml	Fri Jan 05 05:25:00 2018 -0500
+++ b/dunovo.xml	Fri Mar 23 21:51:35 2018 -0400
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
-<tool id="dunovo" name="Du Novo: Make consensus reads" version="2.0.12">
+<tool id="dunovo" name="Du Novo: Make consensus reads" version="2.14">
   <description>from duplex sequencing alignments</description>
   <requirements>
-    <requirement type="package" version="2.0.12">dunovo</requirement>
+    <requirement type="package" version="2.14">dunovo</requirement>
     <!-- TODO: require Python 2.7 -->
   </requirements>
   <version_command>make-consensi.py --version</version_command>
@@ -14,7 +14,7 @@
   </command>
   <inputs>
     <param name="input" type="data" format="tabular" label="Aligned input reads" />
-    <param name="min_reads" type="integer" value="3" min="1" label="Minimum reads per family" help="Single-strand families with fewer than this many reads will be skipped."/>
+    <param name="min_reads" type="integer" value="3" min="1" label="Minimum reads for a consensus" help="This many reads are necessary to form a single-strand consensus sequence. Families smaller than this will be skipped."/>
     <param name="cons_thres" type="float" value="0.5" min="0.5" max="1.0" label="Consensus % threshold" help="The consensus base must be present in more than this fraction of the reads, or &quot;N&quot; will be used."/>
     <param name="min_cons_reads" type="integer" value="0" min="0" label="Minimum number of reads for a consensus base." help="If no base at the position appears in at least this many reads, &quot;N&quot; will be used."/>
     <param name="qual_thres" type="integer" value="25" min="1" label="Minimum base quality" help="Bases with a PHRED score less than this will not be counted in the consensus making."/>
--- a/make_families.xml	Fri Jan 05 05:25:00 2018 -0500
+++ b/make_families.xml	Fri Mar 23 21:51:35 2018 -0400
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
-<tool id="make_families" name="Du Novo: Make families" version="2.0.12">
+<tool id="make_families" name="Du Novo: Make families" version="2.14">
   <description>of duplex sequencing reads</description>
   <requirements>
-    <requirement type="package" version="2.0.12">dunovo</requirement>
+    <requirement type="package" version="2.14">dunovo</requirement>
   </requirements>
   <!-- TODO: Add dependency on coreutils to get paste? -->
   <version_command>make-consensi.py --version</version_command>
@@ -11,8 +11,8 @@
   <inputs>
     <param name="fastq1" type="data" format="fastq" label="Sequencing reads, mate 1"/>
     <param name="fastq2" type="data" format="fastq" label="Sequencing reads, mate 2"/>
-    <param name="taglen" type="integer" value="12" min="0" label="Tag length" help="length of each random barcode on the ends of the fragments"/>
-    <param name="invariant" type="integer" value="5" min="0" label="Invariant sequence length" help="length of the sequence between the tag and actual sample sequence (the restriction site, normally)"/>
+    <param name="taglen" type="integer" value="12" min="0" label="Tag length" help="Length of each random barcode on the ends of the fragments."/>
+    <param name="invariant" type="integer" value="5" min="0" label="Invariant sequence length" help="Length of the sequence between the tag and actual sample sequence (the restriction site, normally)."/>
   </inputs>
   <outputs>
     <data name="output" format="tabular"/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/precheck.xml	Fri Mar 23 21:51:35 2018 -0400
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<tool id="precheck" name="Du Novo: Check input" version="2.14">
+  <requirements>
+    <requirement type="package" version="2.14">dunovo</requirement>
+  </requirements>
+  <description>for family content</description>
+  <command detect_errors="exit_code">
+    precheck.py $validate --tag-length $tag_len --constant-length $const_len --min-reads $min_reads
+      $fastq1 $fastq2 &gt; $output
+  </command>
+  <inputs>
+    <param name="fastq1" type="data" format="fastq" label="Sequencing reads, mate 1"/>
+    <param name="fastq2" type="data" format="fastq" label="Sequencing reads, mate 2"/>
+    <param name="min_reads" type="integer" value="3" min="0" label="Minimum reads per family" help="Single-strand families with fewer than this many reads will be skipped."/>
+    <param name="tag_len" type="integer" value="12" min="0" label="Tag length" help="Length of each random barcode on the ends of the fragments."/>
+    <param name="const_len" type="integer" value="5" min="0" label="Invariant sequence length" help="Length of the sequence between the tag and actual sample sequence (the restriction site, normally)."/>
+    <param name="validate" type="boolean" truevalue="--validate" falsevalue="" checked="False" label="Check read names" help="Make sure the names of the reads in each pair is the same. If checked, this will fail if there is a mismatch."/>
+  </inputs>
+  <outputs>
+    <data name="output" format="tabular"/>
+  </outputs>
+
+  <help>
+
+.. class:: infomark
+
+**What it does**
+
+This tool lets you check your input reads before running the Du Novo pipeline. It will tell you about how many unique barcodes are in your dataset, how many families have boths strands present, how many consensus sequences of each type it will be able to form, and more.
+
+.. class:: infomark
+
+**Input**
+
+The input must be in FASTQ format.
+
+  </help>
+
+  <citations>
+    <citation type="bibtex">@article{Stoler2016,
+      author = {Stoler, Nicholas and Arbeithuber, Barbara and Guiblet, Wilfried and Makova, Kateryna D and Nekrutenko, Anton},
+      doi = {10.1186/s13059-016-1039-4},
+      issn = {1474-760X},
+      journal = {Genome biology},
+      number = {1},
+      pages = {180},
+      pmid = {27566673},
+      publisher = {Genome Biology},
+      title = {{Streamlined analysis of duplex sequencing data with Du Novo.}},
+      url = {http://www.ncbi.nlm.nih.gov/pubmed/27566673},
+      volume = {17},
+      year = {2016}
+    }</citation>
+  </citations>
+
+</tool>
--- a/tool_dependencies.xml	Fri Jan 05 05:25:00 2018 -0500
+++ b/tool_dependencies.xml	Fri Mar 23 21:51:35 2018 -0400
@@ -9,12 +9,22 @@
   <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.12">
+  <package name="dunovo" version="2.14">
     <install version="1.0">
       <actions>
         <!-- download the main dunovo package files -->
-        <action sha256sum="6973f163dabf82d236982534d88b5d11573a5aa0982bf9d6236be635fb9b4e11" type="download_by_url">https://github.com/galaxyproject/dunovo/archive/v2.0.12.tar.gz</action>
+        <action sha256sum="e517a12794e7cac31b4ebcad99e6a6c0789027ace7d33f89d06ff2bc961515fc" type="download_by_url">https://github.com/galaxyproject/dunovo/archive/v2.14.tar.gz</action>
         <!-- TODO: Store dunovo version number in variable instead of hardcoding it everywhere. -->
+        <!-- Move precheck.py and its dependencies into the main source directory. -->
+        <action type="move_file">
+          <source>utils/precheck.py</source>
+          <destination>$TMP_WORK_DIR/dunovo-2.14</destination>
+        </action>
+        <action type="move_file">
+          <source>utils/getreads.py</source>
+          <destination>$TMP_WORK_DIR/dunovo-2.14</destination>
+        </action>
+        <!-- install submodules -->
         <action type="shell_command">rmdir kalign utillib ET</action>
         <!-- download the utillib submodule -->
         <action type="download_file">https://github.com/NickSto/utillib/archive/v0.1.0.tar.gz</action>
@@ -22,7 +32,7 @@
         <action type="shell_command">rm v0.1.0.tar.gz</action>
         <action rename_to="utillib" type="move_file">
           <source>utillib-0.1.0</source>
-          <destination>$TMP_WORK_DIR/dunovo-2.0.12</destination>
+          <destination>$TMP_WORK_DIR/dunovo-2.14</destination>
         </action>
         <!-- download the kalign submodule -->
         <action type="download_file">https://github.com/makrutenko/kalign-dunovo/archive/v0.2.0.tar.gz</action>
@@ -30,7 +40,7 @@
         <action type="shell_command">rm v0.2.0.tar.gz</action>
         <action rename_to="kalign" type="move_file">
           <source>kalign-dunovo-0.2.0</source>
-          <destination>$TMP_WORK_DIR/dunovo-2.0.12</destination>
+          <destination>$TMP_WORK_DIR/dunovo-2.14</destination>
         </action>
         <!-- download the ET submodule -->
         <action type="download_file">https://github.com/NickSto/ET/archive/v0.2.2.tar.gz</action>
@@ -38,7 +48,7 @@
         <action type="shell_command">rm v0.2.2.tar.gz</action>
         <action rename_to="ET" type="move_file">
           <source>ET-0.2.2</source>
-          <destination>$TMP_WORK_DIR/dunovo-2.0.12</destination>
+          <destination>$TMP_WORK_DIR/dunovo-2.14</destination>
         </action>
         <!-- make and install -->
         <action type="shell_command">make clean</action>