Mercurial > repos > iuc > metabat2_jgi_summarize_bam_contig_depths
diff jgi_summarize_bam_contig_depths.xml @ 0:d27a4ed006ee draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/metabat2/ commit 4baddc43c4fdbe9fa7fe056bc3f9213de01516dd"
author | iuc |
---|---|
date | Fri, 28 Jan 2022 12:21:33 +0000 |
parents | |
children | 1592150e38d2 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jgi_summarize_bam_contig_depths.xml Fri Jan 28 12:21:33 2022 +0000 @@ -0,0 +1,178 @@ +<tool id="metabat2_jgi_summarize_bam_contig_depths" name="Calculate contig depths" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@"> + <description>for MetaBAT2</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements"/> + <command detect_errors="exit_code"><![CDATA[ +jgi_summarize_bam_contig_depths +--outputDepth '$outputDepth' +--percentIdentity $advanced.percentIdentity +#if str($advanced.output_paired_contigs) == 'yes': + --pairedContigs '$outputPairedContigs' +#end if +$advanced.noIntraDepthVariance +$advanced.showDepth +--minMapQual $advanced.minMapQual +--weightMapQual $advanced.weightMapQual +$advanced.includeEdgeBases +--maxEdgeBases $advanced.maxEdgeBases +#if str($advanced.use_reference_cond.use_reference) == 'yes': + #if str($advanced.use_reference_cond.reference_cond.reference_source) == 'cached' + --referenceFasta '$advanced.use_reference_cond.reference_cond.referenceFasta.fields.path' + #else: + --referenceFasta '$advanced.use_reference_cond.reference_cond.referenceFasta' + #end if + --outputGC '$outputGC' + --gcWindow $advanced.use_reference_cond.gcWindow + --outputReadStats '$outputReadStats' + --outputKmers '$outputKmers' +#end if +--shredLength $shredding.shredLength +--shredDepth $shredding.shredDepth +--minContigLength $shredding.minContigLength +--minContigDepth $shredding.minContigDepth +#for bam_input in $bam_inputs: + '$bam_input' +#end for + ]]></command> + <inputs> + <param name="bam_inputs" type="data" format="bam" multiple="true" label="Sorted bam files"/> + <section name="advanced" title="Advanced options"> + <param argument="--percentIdentity" type="integer" value="97" label="Minimum end-to-end percent identity of qualifying reads"/> + <param name="output_paired_contigs" type="select" display="radio" label="Output the sparse matrix of contigs which paired reads span?"> + <option value="no" selected="true">No</option> + <option value="yes">Yes</option> + </param> + <param argument="--noIntraDepthVariance" type="boolean" truevalue="--noIntraDepthVariance" falsevalue="" checked="false" label="Remove variance from mean depth along the contig?"/> + <param argument="--showDepth" type="boolean" truevalue="--showDepth" falsevalue="" checked="false" label="Output a depth file per bam for each contig base?"/> + <param argument="--minMapQual" type="integer" value="0" label="Minimum mapping quality necessary to count a read as mapped"/> + <param argument="--weightMapQual" type="float" value="0.0" label="Weight per-base depth based on the MQ of the read" help="Zero value disables"/> + <param argument="--includeEdgeBases" type="boolean" truevalue="--includeEdgeBases" falsevalue="" checked="false" label="Include 1-readlength edges when calculating depth and variance?"/> + <param argument="--maxEdgeBases" type="integer" value="75" label="Maximum length when calculating depth and variance" help="Ignored when including 1-readlength edges when calculating depth and variance"/> + <conditional name="use_reference_cond"> + <param name="use_reference" type="select" label="Select a reference genome?"> + <option value="no" selected="true">No</option> + <option value="yes">Yes</option> + </param> + <when value="no"/> + <when value="yes"> + <conditional name="reference_cond"> + <param name="reference_source" type="select" label="Choose the source for the reference genome"> + <option value="cached" selected="true">locally cached</option> + <option value="history">from history</option> + </param> + <when value="cached"> + <param argument="--referenceFasta" type="select" label="Using reference genome"> + <options from_data_table="fasta_indexes"> + <filter type="data_meta" column="1" key="dbkey" ref="bam_inputs"/> + <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected BAM file(s)"/> + </options> + </param> + </when> + <when value="history"> + <param argument="--referenceFasta" type="data" format="fasta,fasta.gz" label="Using reference genome" help="Must be the reference used to map the input bam files"/> + </when> + </conditional> + <param argument="--gcWindow" type="integer" value ="100" label="Sliding window size for GC calculations"/> + </when> + </conditional> + </section> + <section name="shredding" title="Options to control shredding contigs that are under-represented by the reads"> + <param argument="--shredLength" type="integer" value="16000" label="Maximum length of the shreds"/> + <param argument="--shredDepth" type="integer" value="5" label="Depth to generate overlapping shreds"/> + <param argument="--minContigLength" type="integer" value="1" label="Mimimum length of contig to include for mapping and shredding"/> + <param argument="--minContigDepth" type="float" value="0.0" label="Minimum depth along the contig at which to break the contig"/> + </section> + </inputs> + <outputs> + <data name="outputDepth" format="tabular" label="${tool.name} on ${on_string} (depth matrix)"/> + <data name="outputPairedContigs" format="fasta" label="${tool.name} on ${on_string} (paired contigs)"> + <filter>advanced["output_paired_contigs"] == "yes"</filter> + </data> + <data name="outputGC" format="tabular" label="${tool.name} on ${on_string} (gc coverage histogram)"> + <filter>advanced["use_reference_cond"]["use_reference"] == "yes"</filter> + </data> + <data name="outputReadStats" format="tabular" label="${tool.name} on ${on_string} (read statistics)"> + <filter>advanced["use_reference_cond"]["use_reference"] == "yes"</filter> + </data> + <data name="outputKmers" format="tabular" label="${tool.name} on ${on_string} (perfect kmer counts)"> + <filter>advanced["use_reference_cond"]["use_reference"] == "yes"</filter> + </data> + </outputs> + <tests> + <!-- Single input, default settings --> + <test expect_num_outputs="1"> + <param name="bam_inputs" value="input1.bam" ftype="bam"/> + <output name="outputDepth" file="jgi_output1.tabular" ftype="tabular" compare="contains"/> + </test> + <!-- Multiple inputs, default settings --> + <test expect_num_outputs="1"> + <param name="bam_inputs" value="input1.bam,input1.bam" ftype="bam"/> + <output name="outputDepth" file="jgi_output2.tabular" ftype="tabular" compare="contains"/> + </test> + <!-- Single input, output paired contigs, reference from history --> + <test expect_num_outputs="5"> + <param name="bam_inputs" value="input2.bam" ftype="bam" dbkey="89"/> + <param name="output_paired_contigs" value="yes"/> + <param name="use_reference" value="yes"/> + <param name="reference_source" value="history"/> + <param name="referenceFasta" value="NC_002945v4.fasta" ftype="fasta"/> + <output name="outputDepth" file="jgi_output_depth1.tabular" ftype="tabular" compare="contains"/> + <output name="outputPairedContigs" file="jgi_output_paired_contigs1.fasta" ftype="fasta"/> + <output name="outputGC" file="jgi_output_gc1.tabular" ftype="tabular"/> + <output name="outputReadStats" file="jgi_output_read_stats1.tabular" ftype="tabular"/> + <output name="outputKmers" file="jgi_output_kmers1.tabular" ftype="tabular"/> + </test> + <!-- Single input, output paired contigs, cached reference --> + <test expect_num_outputs="5"> + <param name="bam_inputs" value="input2.bam" ftype="bam" dbkey="89"/> + <param name="output_paired_contigs" value="yes"/> + <param name="use_reference" value="yes"/> + <param name="reference_source" value="cached"/> + <output name="outputDepth" file="jgi_output_depth1.tabular" ftype="tabular" compare="contains"/> + <output name="outputPairedContigs" file="jgi_output_paired_contigs1.fasta" ftype="fasta"/> + <output name="outputGC" file="jgi_output_gc1.tabular" ftype="tabular"/> + <output name="outputReadStats" file="jgi_output_read_stats1.tabular" ftype="tabular"/> + <output name="outputKmers" file="jgi_output_kmers1.tabular" ftype="tabular"/> + </test> + </tests> + <help> +**What it does** + +Calculates coverage depth for each sequence in one or more selected BAM files, producing a tabular file (for each input) +having mean and variance of base coverage depth that can be used as one of the inputs for the MetaBAT2 metagenome binning +tool. + +The algorithm used for calculating the coverage depth is adjusted by a few factors to improve the fidelity of the metrics +when correlating abundance coverage in the binning stage. By default the following adjustments are applied. + +**Edge bases are ignored** + +Edge bases are not counted as coverage, by the lesser of 1 AverageReadLength or (--maxEdgeBases=75). This is because most +mappers can not reliably place a read that would extend off the edge of a sequence, and coverage depth tends to drop towards +0 at the edge of a contig or scaffold. Use --includeEdgeBases to include the coverage in this region. + +**Reads with high mapping errors are skipped** + +Reads that map imperfectly are excluded when the %ID of the mapping drops below a threshold (--percentIdentity=97). +MetaBAT2 is designed to resolve strain variation and mapping reads with low %ID indicate that the read actually came from +a different strain/species. + +%ID is calculated from the CIGAR string and/or NM/MD fields and == 100 * MatchedBases / (MatchedBases + Substituions + +Insertions + Deletions). This ensures that clips, insertions, deletions and mismatches are excluded from the coverage count. +Only the read bases that exactly match the reference are counted as coverage. This generally has a small effect, except in +the case of long reads from PacBio and Nanopore. + +**More information** + +https://bitbucket.org/berkeleylab/metabat/src/master/ + +**Options** + + * **Select a reference genome** - optionally select the reference genome that was used to map the input bam file(s) and 3 additional outputs will be produced; gc coverage histogram, read statistics and perfect kmer counts. + + </help> + <expand macro="citations"/> +</tool> +