Mercurial > repos > jvolkening > centrifuge
diff centrifuge.xml @ 0:be7bba8229c6 draft default tip
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/centrifuge commit 5d9e0a6e2ad278547892c86f0acded93814a1356-dirty
author | jvolkening |
---|---|
date | Fri, 01 Nov 2019 13:53:15 -0400 (2019-11-01) |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/centrifuge.xml Fri Nov 01 13:53:15 2019 -0400 @@ -0,0 +1,431 @@ +<tool id="centrifuge" name="Centrifuge" version="1.0.4_beta"> + + <description>Read-based metagenome characterization</description> + + <!-- ***************************************************************** --> + + <requirements> + <requirement type="package" version="1.0.4_beta">centrifuge</requirement> + </requirements> + + <!-- ***************************************************************** --> + + <version_command>centrifuge --version | perl -wnE'print "$1\n" for /centrifuge\S+ version (\S+)/g'</version_command> + + <!-- ***************************************************************** --> + + <command detect_errors="aggressive"> + <![CDATA[ + + centrifuge + + ##--Output Options------------------------------ + + --out-fmt $outputs.out_fmt + --tab-fmt-cols $outputs.tab_fmt_cols + + ##--General Options----------------------------- + + --threads \${GALAXY_SLOTS:-1} + + #if $general.skip != "": + --skip $general.skip + #end if + #if $general.upto != "": + --upto $general.upto + #end if + #if $general.trim5 != "": + --trim5 $general.trim5 + #end if + #if $general.trim3 != "": + --trim3 $general.trim3 + #end if + + $general.ignore_quals + $general.nofw + $general.norc + $general.non_deterministic + + #if $general.seed != "": + --seed $general.seed + #end if + + ##--Classification------------------------------ + + --min-hitlen $classification.min_hitlen + + #if $classification.min_totallen != "": + --min-totallen $classification.min_totallen + #end if + + #if $classification.host_taxids != "": + --host-taxids $classification.host_taxids + #end if + + #if $classification.exclude_taxids != "": + --exclude-taxids $classification.exclude_taxids + #end if + + ##--Inputs-------------------------------------- + + -x '${inputs.db.fields.path}' + + #for $s in $inputs.unpaired + -U '${s.u_reads}' + #end for + + #for $s in $inputs.paired + -1 '${s.p_reads.forward}' + -2 '${s.p_reads.reverse}' + #end for + + #if $inputs.sra: + --sra-acc $inputs.sra + #end if + + #if $outputs.out_fmt == "tab": + -S $out_tab + #elif $outputs.out_fmt == "sam": + -S $out_sam + #end if + + --report-file $report + + ]]> + </command> + + <!-- ***************************************************************** --> + + <inputs> + + <section name="inputs" title="Inputs" expanded="True"> + + <repeat name="unpaired" title="Unpaired reads" min="0" default="0"> + <param name="u_reads" type="data" format="fastq" label="Unpaired reads"/> + </repeat> + + <repeat name="paired" title="Paired reads" min="0" default="0"> + <param name="p_reads" type="data_collection" collection_type="paired" format="fastq" label="Paired read collection"/> + </repeat> + + <param name="sra" type="text" label="SRA accession"> + <sanitizer invalid_char=""> + <valid initial="string.letters,string.digits"> + <add value="," /> + </valid> + </sanitizer> + </param> + + <param name="db" type="select" label="Select a reference database"> + <options from_data_table="centrifuge_indices"> + <filter type="sort_by" column="2"/> + <validator type="no_options" message="No indexes are available for the selected input dataset"/> + </options> + </param> + + </section> + + <section name="outputs" title="Outputs" expanded="False"> + + <param argument="--out-fmt" name="out_fmt" type="select" label="Output format"> + <option value="tab" selected="true">tabular</option> + <option value="sam">SAM</option> + </param> + + <param argument="--tab-fmt-cols" name="tab_fmt_cols" type="text" label="Output columns" value="readID,seqID,taxID,score,2ndBestScore,hitLength,queryLength,numMatches"> + <sanitizer invalid_char=""> + <valid initial="string.letters,string.digits"> + <add value="," /> + </valid> + </sanitizer> + </param> + + </section> + + <section name="general" title="General options" expanded="False"> + + <param argument="--skip" type="integer" value="" optional="true" label="Initial reads to skip" /> + <param argument="--upto" type="integer" value="" optional="true" label="Stop after reads" /> + <param argument="--trim5" type="integer" value="" optional="true" label="Trim 5' bases" /> + <param argument="--trim3" type="integer" value="" optional="true" label="Trim 3' bases" /> + + <param argument="--ignore-quals" name="ignore_quals" type="boolean" truevalue="--ignore-quals" falsevalue="" checked="no" label="Ignore qualities" /> + + <param argument="--nofw" type="boolean" truevalue="--nofw" falsevalue="" checked="no" label="Don't map forward strand" /> + <param argument="--norc" type="boolean" truevalue="--norc" falsevalue="" checked="no" label="Don't map rev-com strand" /> + + <param argument="--seed" type="integer" value="" min="0" optional="true" label="Starting seed" /> + <param argument="--non-deterministic" name="non_deterministic" type="boolean" truevalue="--non-deterministic" falsevalue="" checked="no" label="Use non-deterministic seeding" /> + + </section> + + <section name="classification" title="Classification" expanded="True"> + + <param argument="--min-hitlen" name="min_hitlen" type="integer" value="22" min="16" label="Minimum hit length" /> + <param argument="--min-totallen" name="min_totallen" type="integer" optional="true" min="0" label="Minimum summed length" /> + + <param argument="--host-taxids" name="host_taxids" type="text" label="Host taxonomic IDs"> + <sanitizer invalid_char=""> + <valid initial="string.digits"> + <add value="," /> + </valid> + </sanitizer> + </param> + <param argument="--exclude-taxids" name="exclude_taxids" type="text" label="Excluded taxonomic IDs"> + <sanitizer invalid_char=""> + <valid initial="string.digits"> + <add value="," /> + </valid> + </sanitizer> + </param> + + </section> + + </inputs> + + <!-- ***************************************************************** --> + + <outputs> + + <data name="out_tab" format="tabular" label="Centrifuge on ${on_string}: Output"> + <filter>(outputs['out_fmt'] == "tab")</filter> + </data> + <data name="out_sam" format="sam" label="Centrifuge on ${on_string}: Output"> + <filter>(outputs['out_fmt'] == "sam")</filter> + </data> + <data name="report" format="tabular" label="Centrifuge on ${on_string}: Report" /> + + </outputs> + + <!-- ***************************************************************** --> + + <tests> + <!-- default unpaired --> + <test> + <param name="db" value="test_db" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="defaults.tsv" sort="true" /> + <output name="report" file="defaults.report" /> + </test> + <!-- default paired --> + <test> + <param name="db" value="test_db" /> + <param name="p_reads"> + <collection type="paired"> + <element name="forward" value="input_f.fq" /> + <element name="reverse" value="input_r.fq" /> + </collection> + </param> + <output name="out_tab" file="paired.tsv" sort="true" /> + <output name="report" file="paired.report" /> + </test> + <!-- default combined --> + <test> + <param name="db" value="test_db" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <param name="p_reads"> + <collection type="paired"> + <element name="forward" value="input_f.fq" /> + <element name="reverse" value="input_r.fq" /> + </collection> + </param> + <output name="out_tab" file="both.tsv" sort="true" /> + <output name="report" file="both.report" /> + </test> + <!-- exclude IDs --> + <test> + <param name="db" value="test_db" /> + <param name="exclude_taxids" value="9913" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="exclude.tsv" sort="true" /> + <output name="report" file="exclude.report" /> + </test> + <!-- specify host --> + <test> + <param name="db" value="test_db" /> + <param name="host_taxids" value="9913" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="host.tsv" sort="true" /> + <output name="report" file="host.report" /> + </test> + <!-- minimum length --> + <test> + <param name="db" value="test_db" /> + <param name="min_hitlen" value="83" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="minlen83.tsv" sort="true" /> + <output name="report" file="minlen83.report" /> + </test> + <!-- norc --> + <test> + <param name="db" value="test_db" /> + <param name="norc" value="true" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="norc.tsv" sort="true" /> + <output name="report" file="norc.report" /> + </test> + <!-- nofw --> + <test> + <param name="db" value="test_db" /> + <param name="nofw" value="true" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="nofw.tsv" sort="true" /> + <output name="report" file="nofw.report" /> + </test> + <!-- set seed --> + <test> + <param name="db" value="test_db" /> + <param name="seed" value="123" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="seed123.tsv" sort="true" /> + <output name="report" file="seed123.report" /> + </test> + <!-- 5' trim --> + <test> + <param name="db" value="test_db" /> + <param name="trim5" value="10" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="trim5_10.tsv" sort="true" /> + <output name="report" file="trim5_10.report" /> + </test> + <!-- 3' trim --> + <test> + <param name="db" value="test_db" /> + <param name="trim3" value="5" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="trim3_5.tsv" sort="true" /> + <output name="report" file="trim3_5.report" /> + </test> + <!-- skip start --> + <test> + <param name="db" value="test_db" /> + <param name="skip" value="3" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="skip3.tsv" sort="true" /> + <output name="report" file="skip3.report" /> + </test> + <!-- skip end --> + <test> + <param name="db" value="test_db" /> + <param name="upto" value="6" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + <output name="out_tab" file="upto6.tsv" sort="true" /> + <output name="report" file="upto6.report" /> + </test> + <!-- invalid parameter value --> + <test expect_failure="true"> + <param name="db" value="test_db" /> + <param name="tab_fmt_cols" value="FooBar" /> + <param name="u_reads" ftype="fastq" value="input_u.fq" /> + </test> + + </tests> + + <!-- ***************************************************************** --> + + <help> + <![CDATA[ + +Overview +-------- + +**Centrifuge** is a very rapid and memory-efficient system for the +classification of DNA sequences from microbial samples, with better +sensitivity than and comparable accuracy to other leading systems. The system +uses a novel indexing scheme based on the Burrows-Wheeler transform (BWT) and +the Ferragina-Manzini (FM) index, optimized specifically for the metagenomic +classification problem. Centrifuge requires a relatively small index (e.g., +4.3 GB for ~4,100 bacterial genomes) yet provides very fast classification +speed, allowing it to process a typical DNA sequencing run within an hour. +Together these advances enable timely and accurate analysis of large +metagenomics data sets on conventional desktop computers. + +Usage +----- + +Following is the manpage for `centrifuge`, which can be linked with the +options above using the help text. Note that not all options are available in +the Galaxy wrapper. + +:: + + centrifuge [options]* -x <cf-idx> {-1 <m1> -2 <m2> | -U <r> | --sra-acc <SRA accession number>} [-S <filename>] [--report-file <report>] + + <cf-idx> Index filename prefix (minus trailing .X.cf). + <m1> Files with #1 mates, paired with files in <m2>. + Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2). + <m2> Files with #2 mates, paired with files in <m1>. + Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2). + <r> Files with unpaired reads. + Could be gzip'ed (extension: .gz) or bzip2'ed (extension: .bz2). + <SRA accession number> Comma-separated list of SRA accession numbers, e.g. --sra-acc SRR353653,SRR353654. + <filename> File for classification output (default: stdout) + <report> File for tabular report output (default: centrifuge_report.tsv) + + <m1>, <m2>, <r> can be comma-separated lists (no whitespace) and can be + specified many times. E.g. '-U file1.fq,file2.fq -U file3.fq'. + + Options (defaults in parentheses): + + Input: + -q query input files are FASTQ .fq/.fastq (default) + --qseq query input files are in Illumina's qseq format + -f query input files are (multi-)FASTA .fa/.mfa + -r query input files are raw one-sequence-per-line + -c <m1>, <m2>, <r> are sequences themselves, not files + -s/--skip <int> skip the first <int> reads/pairs in the input (none) + -u/--upto <int> stop after first <int> reads/pairs (no limit) + -5/--trim5 <int> trim <int> bases from 5'/left end of reads (0) + -3/--trim3 <int> trim <int> bases from 3'/right end of reads (0) + --phred33 qualities are Phred+33 (default) + --phred64 qualities are Phred+64 + --int-quals qualities encoded as space-delimited integers + --ignore-quals treat all quality values as 30 on Phred scale (off) + --nofw do not align forward (original) version of read (off) + --norc do not align reverse-complement version of read (off) + --sra-acc SRA accession ID + + Classification: + --min-hitlen <int> minimum length of partial hits (default 22, must be greater than 15) + --min-totallen <int> minimum summed length of partial hits per read (default 0) + --host-taxids <taxids> comma-separated list of taxonomic IDs that will be preferred in classification + --exclude-taxids <taxids> comma-separated list of taxonomic IDs that will be excluded in classification + + Output: + --out-fmt <str> define output format, either 'tab' or 'sam' (tab) + --tab-fmt-cols <str> columns in tabular format, comma separated + default: readID,seqID,taxID,score,2ndBestScore,hitLength,queryLength,numMatches + -t/--time print wall-clock time taken by search phases + --un <path> write unpaired reads that didn't align to <path> + --al <path> write unpaired reads that aligned at least once to <path> + --un-conc <path> write pairs that didn't align concordantly to <path> + --al-conc <path> write pairs that aligned concordantly at least once to <path> + (Note: for --un, --al, --un-conc, or --al-conc, add '-gz' to the option name, e.g. + --un-gz <path>, to gzip compress output, or add '-bz2' to bzip2 compress output.) + --quiet print nothing to stderr except serious errors + --met-file <path> send metrics to file at <path> (off) + --met-stderr send metrics to stderr (off) + --met <int> report internal counters & metrics every <int> secs (1) + + Performance: + -o/--offrate <int> override offrate of index; must be >= index's offrate + -p/--threads <int> number of alignment threads to launch (1) + --mm use memory-mapped I/O for index; many 'bowtie's can share + + Other: + --qc-filter filter out reads that are bad according to QSEQ filter + --seed <int> seed for random number generator (0) + --non-deterministic seed rand. gen. arbitrarily instead of using read attributes + --version print version information and quit + -h/--help print this usage message + + ]]> + </help> + + <!-- ***************************************************************** --> + + <citations> + <citation type="doi">10.1101/gr.210641.116</citation> + </citations> + +</tool>