Repository 'quast'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/quast

Changeset 5:81df4950d65b (2018-12-04)
Previous changeset 4:0834c823d4b9 (2018-02-12) Next changeset 6:f30d03867854 (2019-03-06)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/quast commit 600e99f5044018f7d0046b1bfdc6dc392c4e6baa
modified:
quast.xml
test-data/test1_output.tsv
added:
test-data/test2_report.html
test-data/test2_report.pdf
removed:
README.txt
b
diff -r 0834c823d4b9 -r 81df4950d65b README.txt
--- a/README.txt Mon Feb 12 09:05:20 2018 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,22 +0,0 @@
-**Tool Information**
-
-- QUAST Tool v4.1:
-    + Release Date: May 2016
-    + URL: http://bioinf.spbau.ru/quast
-    + Source URL: https://downloads.sourceforge.net/project/quast/quast-4.1.tar.gz
-
------
-
-**QUAST Galaxy Wrapper Author and Contact Information**
-
-+ Delphine Lariviere
-+ Galaxy Team
-+ Email: delphine.lariviere@galaxyproject.org
-+ Nekrutenko's Lab, Pennsylvania State University, State College, PA, USA
-
-
-- From the wrapper of :
-    + Jacob Jablonski
-    + AAFC-MBB Team
-    + Email: mbb@agr.gc.ca
-    + Agriculture and Agri-foods Canada, Ottawa, ON, Canada
b
diff -r 0834c823d4b9 -r 81df4950d65b quast.xml
--- a/quast.xml Mon Feb 12 09:05:20 2018 -0500
+++ b/quast.xml Tue Dec 04 06:49:05 2018 -0500
[
@@ -1,60 +1,46 @@
-<tool id="quast" name="Quast" version="4.6.3" >
+<tool id="quast" name="Quast" version="5.0.2" >
     <description>Genome assembly Quality</description>
     <requirements>
-        <requirement type="package" version="4.6.3">quast</requirement>
+        <requirement type="package" version="5.0.2">quast</requirement>
     </requirements>
-    <stdio>
-        <regex match="ERROR! exception caught!"
-            source="both"
-            level="fatal"
-            description="Something went wrong. Check the following errors : No labels..." />
-    </stdio>
-    <command>
+    <command detect_errors="exit_code">
     <![CDATA[
-        #import re
-        quast
-        --threads \${GALAXY_SLOTS:-4}
-        -o outputdir
-        #if $gene_selection == "eukaryote":
-            --eukaryote
-        #else if $gene_selection == "metagenes":
-            --meta
-        #end if
-        #if $input_ref:
-            -R '$input_ref'
-            #if $input_operon:
-                -O '$input_operon'
-            #end if
-            #if $annot:
-                -G '$annot'
-            #end if
-        #end if
-        #if $input_size:
-            --est-ref-size $input_size
-        #end if
-        --min-contig $min_contig
-        -l
-        #set names = ','.join( ['"'+ re.sub('[^\w\-_]', '_', str( $x.element_identifier))+'"' for $x in $input ])
+#import re
+quast
+--threads \${GALAXY_SLOTS:-4}
+-o outputdir
+#if $gene_selection == "eukaryote":
+    --eukaryote
+#else if $gene_selection == "metagenes":
+    --meta
+#end if
+$large
+#if $input_ref:
+    -R '$input_ref'
+    #if $input_operon:
+        -O '$input_operon'
+    #end if
+    #if $annot:
+        -g '$annot'
+    #end if
+#end if
+#if $input_size:
+    --est-ref-size $input_size
+#end if
+--min-contig $min_contig
+-l
+#set names = ','.join( [re.sub('[^\w\-_]', '_', str($x.element_identifier)) for $x in $input ])
 
-        $names
-        --contig-thresholds $threshold_contig
-        #for $k in $input:
-            $k 
-        #end for
-        &&
-        mv outputdir/report.tsv '$quast_tsv' &&
-        ## The sed string below removes non-functional "Main menu" button from the viewer
-        sed '\:<div class="btn btn-inverse" id="to_main_menu_button">:,\:</div>:d' outputdir/icarus_viewers/contig_size_viewer.html > '$contig_size_viewer' &&
-        #if $input_ref:
-            ## The sed string below removes non-functional "Main menu" button from the viewer
-            sed '\:<div class="btn btn-inverse" id="to_main_menu_button">:,\:</div>:d' outputdir/icarus_viewers/alignment_viewer.html > '$alignment_viewer' &&
-        #end if
-        ## The sed string below removes non-functional link from the report page
-        sed "\:<div id='icarus-json'>:,\:</div>:d" outputdir/report.html > '$report_html' &&
-        mv outputdir/report.pdf '$report_pdf' &&
-        mv outputdir/contigs_reports/misassemblies_report.tsv '$mis_ass_tsv' &&
-        mv outputdir/contigs_reports/unaligned_report.tsv '$unalign_tsv' &&
-        mv outputdir/quast.log '$log_txt'
+'$names'
+--contig-thresholds $threshold_contig
+#for $k in $input:
+    $k 
+#end for
+&& mkdir '$report_html.files_path'
+&& cp outputdir/*.html '$report_html.files_path'
+#if str($input_ref):
+    && cp -R outputdir/icarus_viewers '$report_html.files_path'
+#end if
     ]]>
     </command>
     <inputs>
@@ -65,6 +51,7 @@
         </param>
         <param name="input_size" type="integer" label="Size of reference genome" optional="True"  argument="--est-ref-size"
             help="Estimated reference genome size (in bp) for computing NGx statistics, if known. This value will be used only if a reference genome file is not specified "/>
+        <param argument="--large" type="boolean" truevalue="--large" falsevalue="" label="Run quast in --large mode for large genomes" help="Uses minimap2 aligner, improves transposable element handling and alignment thresholds"/>
         <param name="input_ref" type="data" format="fasta" label="Reference genome" optional="True"  argument="-R"
             help="Many metrics can't be evaluated without a reference. If this is omitted, QUAST will only report the metrics that can be evaluated without a reference."/>
         <param name="annot" type="data" format="gff, gff3, bed" label="Gene Annotations" optional="True" argument="-G"
@@ -80,20 +67,16 @@
             help="Set the thresholds for contig length. Comma-separated list of contig length thresholds.[default is 0,1000]"/>
     </inputs>
     <outputs>
-        <data format="txt" name="log_txt" label="Quast: Log" />
-        <data format="tabular" name="mis_ass_tsv" label="Quast: Misassemblies">
-            <filter>input_ref is not None</filter>
-        </data>
-        <data format="tabular" name="unalign_tsv" label="Quast: Unaligned contigs">
+        <data format="txt" name="log_txt" label="Quast: Log" from_work_dir="outputdir/quast.log"/>
+        <data format="tabular" name="mis_ass_tsv" label="Quast: Misassemblies" from_work_dir="outputdir/contigs_reports/misassemblies_report.txt">
             <filter>input_ref is not None</filter>
         </data>
-        <data format="html" name="contig_size_viewer" label="Quast: Contig view"/>
-        <data format="html" name="alignment_viewer" label="Quast: Alignment view">
+        <data format="tabular" name="unalign_tsv" label="Quast: Unaligned contigs" from_work_dir="outputdir/contigs_reports/unaligned_report.tsv">
             <filter>input_ref is not None</filter>
         </data>
-        <data format="tabular" name="quast_tsv" label="Quast: Report (tabulal)"/>
-        <data format="html" name="report_html" label="Quast: Report (HTML)"/>
-        <data format="pdf" name="report_pdf" label="Quast: Report (PDF)"/>
+        <data format="tabular" name="quast_tsv" label="Quast: Report (tabulal)" from_work_dir="outputdir/report.tsv"/>
+        <data format="html" name="report_html" label="Quast: Report (HTML)" from_work_dir="outputdir/report.html"/>
+        <data format="pdf" name="report_pdf" label="Quast: Report (PDF)" from_work_dir="outputdir/report.pdf"/>
     </outputs>
     <tests>
         <test>
@@ -103,6 +86,7 @@
             <param name="type_file" value="contig"/>
             <param name="annot" value="genes.gff"/>
             <param name="gene_selection" value="prokaryotes"/>
+            <param name="large" value="true"/>
             <output name="quast_tsv" file="test1_output.tsv" lines_diff="4"/>
         </test>
         <test>
@@ -110,6 +94,8 @@
             <param name="input" value="contigs2.fna,contigs1.fna"/>
             <param name="type_file" value="contig"/>
             <output name="quast_tsv" file="test2_output.tsv" lines_diff="4"/>
+            <output name="report_html" file="test2_report.html" lines_diff="50"/>
+            <output name="report_pdf" file="test2_report.pdf" compare="sim_size"/>
         </test>
     </tests>
     <help>
b
diff -r 0834c823d4b9 -r 81df4950d65b test-data/test1_output.tsv
--- a/test-data/test1_output.tsv Mon Feb 12 09:05:20 2018 -0500
+++ b/test-data/test1_output.tsv Tue Dec 04 06:49:05 2018 -0500
b
@@ -21,6 +21,9 @@
 # misassembled contigs 0 0
 Misassembled contigs length 0 0
 # local misassemblies 0 0
+# scaffold gap ext. mis. 0 0
+# scaffold gap loc. mis. 0 0
+# possible TEs 0 0
 # unaligned mis. contigs 0 0
 # unaligned contigs 0 + 0 part 0 + 1 part
 Unaligned length 0 1950
@@ -29,7 +32,7 @@
 # N's per 100 kbp 0.00 0.00
 # mismatches per 100 kbp 0.00 0.00
 # indels per 100 kbp 0.00 0.00
-# genes 6 + 0 part 3 + 3 part
+# genomic features 13 + 1 part 7 + 7 part
 Largest alignment 6650 2030
 Total aligned length 6650 4760
 NA50 6650 1610
b
diff -r 0834c823d4b9 -r 81df4950d65b test-data/test2_report.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test2_report.html Tue Dec 04 06:49:05 2018 -0500
b
b'@@ -0,0 +1,4826 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >\n+\n+    <style rel="stylesheet">\n+/*!\n+ * Bootstrap v2.0.4\n+ *\n+ * Copyright 2012 Twitter, Inc\n+ * Licensed under the Apache License v2.0\n+ * http://www.apache.org/licenses/LICENSE-2.0\n+ *\n+ * Designed and built with all the love in the world @twitter by @mdo and @fat.\n+ */\n+.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}\n+.clearfix:after{clear:both;}\n+.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}\n+.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}\n+.tooltip{position:absolute;z-index:1020;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);}\n+.tooltip.top{margin-top:-2px;}\n+.tooltip.right{margin-left:2px;}\n+.tooltip.bottom{margin-top:2px;}\n+.tooltip.left{margin-left:-2px;}\n+.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000000;}\n+.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #000000;}\n+.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #000000;}\n+.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:5px solid #000000;}\n+.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}\n+.tooltip-arrow{position:absolute;width:0;height:0;}\n+\n+</style>\n+\n+    <style rel="stylesheet">\n+/* Main things */\n+html, body, div, span, h1, h3, h4, h5, h6, blockquote, pre,\n+em, sub, sup, dl, dt, dd, ol, ul, li,\n+fieldset, form, label,\n+table, caption, tbody, tfoot, thead,\n+article, aside, canvas, details, figure, figcaption, footer, header, hgroup,\n+menu, nav, output, section, time {\n+    margin: 0;\n+    padding: 0;\n+    border: 0;\n+    font-size: 100%;\n+    font: inherit;\n+    vertical-align: baseline;\n+}\n+body {\n+    margin: 0;\n+    font-family: Lucida Grande, Verdana, Arial, sans-serif;\n+    font-size: 12px;\n+    color: black;\n+    padding-bottom: 30px;\n+}\n+a {\n+    text-decoration: none;\n+    /*color: #0c4f72;*/\n+    color: #0077B5;\n+    border-bottom: 1px solid #487b95;\n+    border-color: #487b95; /* #487b95 */\n+    border-color: rgba(12, 79, 114, 0.2); /* #0c4f72; */ /* #a0d2eb; */ /*rgba(0, 88, cc, 0.3);*/\n+}\n+a:visited {\n+    text-decoration: none;\n+    color: #8C66B2;\n+    border-bottom: 1px solid #8c66b2;\n+    border-color: #8c66b2;\n+    border-color: rgba(102, 51, 153, 0.2);\n+}\n+a:hover {\n+    text-decoration: none;\n+    color: #b33; /* #0088cc; */\n+    border-bottom: 1px solid #ffcccc;\n+    border-color: #ffcccc;\n+    border-color: rgba(255, 0, 0, 0.2); /* #55b2e0; */ /*#005580;*/\n+}\n+a.dark_bg_link {\n+    color: white; /* #0088cc; */\n+    border-bottom: 1px solid #cccccc;\n+    border-color: #cccccc;\n+}\n+a.dark_bg_link:hover {\n+    color: white; /* #0088cc; */\n+    border-bottom: 1px solid white;\n+}\n+\n+.leading_link_dot {\n+    border-bottom: white solid 1px;\n+}\n+\n+a.header_link, a.header_link:hover, a.header_link:visited {\n+    color: black;\n+    border-bottom: 1px solid #bbb;\n+}\n+\n+\n+.dotted-link {\n+    cursor: pointer;\n+    text-decoration: none;\n+    /*color: #0c4f72;*/\n+    color: #0077B5;\n+    border-bottom: 1px dashed #487b95;\n+    border-color: #487b95; /* #487b95 */\n+    border-color: rgba(12, 79, 114, 0.2);\n+}\n+.dotted-link:hover {\n+    text-decoration: none;\n+    color: #b33 !im'..b'                  : "<span>plot shows the NGAx metric value as x varies from 0 to 100.</span><span>NGAx is computed similarly to NGx, but based on lengths of aligned blocks instead of contig lengths. Contigs are broken at misassembly breakpoints. NGAx is the minimum block length <b>y</b> such that using blocks of length at least <b>y</b> accounts for at least x% of the bases of the reference genome. This metric is computed only if a reference genome is provided.</span>",\n+    "GC content"                    : "<span>plot shows the distribution of GC percentage among the contigs, i.e., the total number of bases in contigs with such GC content. Typically, the distribution is approximately Gaussian. However, for some genomes it is not Gaussian. For assembly projects with contaminants, the GC distribution of the contaminants often differs from the reference genome and may give a superposition of multiple curves with different peaks.</span>",\n+\n+    "Duplication ratio"             : "<span>is the total number of aligned bases in the assembly (i.e. <i>Total length</i> - <i>Fully unaligned length</i> - <i>Partially unaligned length</i>), divided by the total number of aligned bases in the reference (see the <b>Genome fraction (%)</b> metric). If the assembly contains many contigs that cover the same regions of the reference, its <i>Duplication ratio</i> may be much larger than 1. This may occur due to overestimating repeat multiplicities and due to small overlaps between contigs, among other reasons.</span>",\n+    "Largest alignment"             : "<span>is the length of the largest continuous alignment in the assembly. This metric is always equal to the <i>Largest contig</i> metric but it can be smaller if the largest contig of the assembly contains a misassembly event.</span>",\n+    "Total aligned length"          : "<span>is the total number of aligned bases in the assembly.</span>",\n+    "Avg contig read support"       : "<span>is the average coverage of contigs that have large unique alignments to the reference. Read coverage is extracted from contig names (SPAdes/Velvet naming scheme only).</span>",\n+\n+    "# N\'s"                         : "<span>is the total number of uncalled bases (N\'s) in the assembly.</span>",\n+    "# N\'s per 100 kbp"             : "<span>is the average number of uncalled bases (N\'s) per 100000 assembly bases.</span>",\n+\n+    "# mapped"                      : "<span>is the number of reads that mapped to the assembly.</span>",\n+    "Mapped (%)"                    : "<span>is the percent of reads that mapped to the assembly.</span>",\n+    "# properly paired"             : "<span>is the number of reads that mapped within expected range and orientation of each other to the assembly.</span>",\n+    "Properly paired (%)"           : "<span>is the percent of reads that mapped within expected range and orientation of each other to the assembly.</span>",\n+    "# singletons"                  : "<span>is the number of reads which do not overlap any other reads.</span>",\n+    "Singletons (%)"                : "<span>is the percent of reads which do not overlap any other reads.</span>",\n+    "# misjoint mates"              : "<span>is the number of reads with mate mapped to a different contig.</span>",\n+    "Misjoint mates (%)"            : "<span>is the percent of reads with mate mapped to a different contig.</span>",\n+    "Avg. coverage depth"           : "<span>is the average depth of coverage.</span>",\n+    "Coverage >= 1x (%)"            : "<span>is the total number of bases with at least 1x coverage, divided by the total length of the assembly.</span>",\n+\n+    "# similar correct contigs"     : "<span>is the number of correct contigs similar among > 50% assemblies (see Icarus for visualization).</span>",\n+    "# similar misassembled blocks" : "<span>is the number of misassembled blocks similar among > 50% assemblies (see Icarus for visualization).</span>"\n+}\n+\n+        </div>\n+    </div>\n+</div>\n+</body>\n+</html>\n'
b
diff -r 0834c823d4b9 -r 81df4950d65b test-data/test2_report.pdf
b
Binary file test-data/test2_report.pdf has changed