Mercurial > repos > iuc > groot
diff groot.xml @ 0:7af6f7dafd22 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/groot commit 85ca2a9a7b2871674dbb9e53e398e459debca529
| author | iuc |
|---|---|
| date | Fri, 18 Oct 2024 08:19:42 +0000 |
| parents | |
| children | 5d80c24a4f0a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/groot.xml Fri Oct 18 08:19:42 2024 +0000 @@ -0,0 +1,177 @@ +<tool id="groot" name="Groot" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> + <description> align reads to references and weight variation graphs and generate report</description> + <macros> + <token name="@TOOL_VERSION@">1.1.2</token> + <token name="@VERSION_SUFFIX@">0</token> + <token name="@PROFILE@">22.05</token> + </macros> + <xrefs> + <xref type="bio.tools">groot</xref> + </xrefs> + <requirements> + <requirement type="package" version="@TOOL_VERSION@">groot</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ +set -x pipefail; +#set $extension = str($fastq.ext) +ln -s -f '${fastq}' 'input.${extension}' && +groot index + --msaDir '$groot_db_select.fields.path' + --indexDir 'grootIndex' + --windowSize $windowSize + --kmerSize $kmerSize + --maxK $maxK + --maxSketchSpan $maxSketchSpan + --numPart $numPart + --sketchSize $sketchSize +&& + +groot align + --fastq 'input.${extension}' + --indexDir 'grootIndex' + --contThresh $contThresh + --minKmerCov $minKmerCov + --log '$log' + $noAlign + --processors "\${GALAXY_SLOTS:-1}" + +| groot report + --covCutoff '$covCutoff' + $lowCov + > '$report_out' + +]]></command> + <inputs> + <param argument="--fastq" type="data" format="fastqsanger,fastqsanger.gz" label="FASTQ file(s) to align"/> + <section name="index" title="Index"> + <param name="groot_db_select" type="select" label="Groot database"> + <options from_data_table="groot_database"> + <validator message="No groot database is available" type="no_options"/> + </options> + </param> + <param argument="--windowSize" type="integer" min="0" value="100" label="Size of window to sketch graph traversals" /> + <param argument="--kmerSize" type="integer" min="0" value="31" label="Size of k-mer" /> + <param argument="--maxK" type="integer" min="0" value="40" label="maxK in the LSH Ensemble" /> + <param argument="--maxSketchSpan" type="integer" min="0" value="4" label="Maximum number of identical neighbouring sketches permitted in any graph traversal" /> + <param argument="--numPart" type="integer" min="0" value="8" label="Number of partitions in the LSH Ensemble" /> + <param argument="--sketchSize" type="integer" min="0" value="21" label="Size of MinHash sketch" /> + </section> + <section name="align" title="Align"> + <param argument="--contThresh" type="float" min="0" max="1.0" value="0.99" label="Containment threshold for the LSH ensemble" /> + <param argument="--minKmerCov" type="integer" min="0" value="1" label="Minimum number of k-mers covering each base of a graph segment" /> + <param argument="--noAlign" type="boolean" truevalue="" falsevalue="--noAlign" label="Perform exact alignment?" + help="If not, graphs will still be weighted using approximate read mappings"/> + </section> + <section name="report" title="Report"> + <param argument="--covCutoff" type="float" min="0" max="1.0" value="0.97" label="Coverage cutoff for reporting ARGs" /> + <param argument="--lowCov" type="boolean" checked="false" truevalue="--lowCov" falsevalue="" label="Report ARGs which may not be covered at the 5'/3' ends" + help="If 'Yes', overrides --covCutoff option"/> + </section> + </inputs> + <outputs> + <data name="log" format="txt" label="${tool.name} on ${on_string}: Log"/> + <data name="report_out" format="tabular" label="${tool.name} on ${on_string}: Report"/> + </outputs> + <tests> + <test expect_num_outputs="2"> + <param name="fastq" value="bla-b7-150bp-5x.fq" ftype="fastq"/> + <section name="index"> + <param name="groot_db_select" value="resfinder.90" /> + <param name="windowSize" value="150"/> + <param name="kmerSize" value="31"/> + <param name="maxK" value="20"/> + <param name="maxSketchSpan" value="30"/> + <param name="numPart" value="8"/> + <param name="sketchSize" value="20"/> + </section> + <section name="align"> + <param name="contThresh" value="0.99"/> + <param name="minKmerCov" value="1" /> + <param name="noAlign" value=""/> + </section> + <section name="report"> + <conditional name="arg_report"> + <param name="criteria" value="cutoff" /> + <param name="covCutoff" value="0.97" /> + </conditional> + </section> + <output name="report_out" ftype="tabular"> + <assert_contents> + <has_text text="blaB-7_1_AF189304"/> + <has_n_lines n="1"/> + <has_n_columns n="4"/> + </assert_contents> + </output> + <output name="log" ftype="txt"> + <assert_contents> + <has_text text="version"/> + <has_text text="1.1.2"/> + </assert_contents> + </output> + </test> + <test expect_num_outputs="2"> + <param name="fastq" value="argannot_light-150bp-10000-reads.fq.gz" ftype="fastq.gz"/> + <section name="index"> + <param name="groot_db_select" value="arg-annot.90" /> + <param name="windowSize" value="150"/> + <param name="kmerSize" value="41"/> + <param name="maxK" value="4"/> + <param name="maxSketchSpan" value="30"/> + <param name="numPart" value="8"/> + <param name="sketchSize" value="21"/> + </section> + <section name="align"> + <param name="contThresh" value="0.99"/> + <param name="minKmerCov" value="1" /> + <param name="noAlign" value=""/> + </section> + <section name="report"> + <param name="covCutoff" value="0.97" /> + <param name="lowCov" value="True"/> + </section> + <output name="report_out" ftype="tabular"> + <assert_contents> + <has_text text="argannot~~~(Bla)VIM-9~~~AY524988:1-801"/> + <has_text text="argannot~~~(Bla)VIM-20~~~GQ414736:1-801"/> + <has_n_lines n="5"/> + <has_n_columns n="4"/> + </assert_contents> + </output> + <output name="log" ftype="txt"> + <assert_contents> + <has_text text="version"/> + <has_text text="1.1.2"/> + </assert_contents> + </output> + </test> + </tests> + <help><![CDATA[ +**What it does** + +GROOT is a tool to profile Antibiotic Resistance Genes (ARGs) in metagenomic samples. + +The method combines variation graph representation of gene sets with an LSH Forest +indexing scheme to allow for fast classification of metagenomic reads using +similarity-search queries. Subsequent hierarchical local alignment of classified reads +against graph traversals facilitates accurate reconstruction of full-length gene sequences +using a scoring scheme. + +The main advantages of GROOT over existing tools are: + +- quick classification of reads to candidate ARGs +- accurate annotation of full-length ARGs +- can run on a laptop in minutes + +GROOT aligns reads to ARG variation graphs, producing an alignment file that contains +the graph traversals possible for each query read. The alignment file is then used to +generate a simple resistome profile report. + +**Output** + +GROOT will output an ARG alignment file (in BAM format) that contains the graph traversals possible for each query read; the alignment file is then used by GROOT to generate a resistome profile. + + ]]></help> + <citations> + <citation type="doi">10.1093/bioinformatics/bty387</citation> + </citations> +</tool> \ No newline at end of file
