Mercurial > repos > bgruening > deeptools_bam_coverage
view bamCoverage.xml @ 8:028fcce954f1 draft
planemo upload for repository https://github.com/fidelram/deepTools/tree/master/galaxy/wrapper/ commit 2c5f94de9ddf6798e49b7e9c340c841ca2bfbcfe
author | bgruening |
---|---|
date | Mon, 19 Sep 2016 18:05:26 -0400 |
parents | 115aa2cbf152 |
children | aa33302db115 |
line wrap: on
line source
<tool id="deeptools_bam_coverage" name="bamCoverage" version="@WRAPPER_VERSION@.0"> <description>generates a coverage bigWig file from a given BAM file</description> <macros> <token name="@BINARY@">bamCoverage</token> <import>deepTools_macros.xml</import> </macros> <expand macro="requirements" /> <command> <![CDATA[ ln -s '$bamInput' one.bam && ln -s '${bamInput.metadata.bam_index}' one.bam.bai && @BINARY@ @THREADS@ --bam one.bam --outFileName '$outFileName' --outFileFormat '$outFileFormat' --binSize $binSize #if $scaling.type=='rpkm': --normalizeUsingRPKM --scaleFactor $scaling.scaleFactor #elif $scaling.type=='1x': #if $scaling.effectiveGenomeSize.effectiveGenomeSize_opt == "specific": --normalizeTo1x $scaling.effectiveGenomeSize.effectiveGenomeSize #else: --normalizeTo1x $scaling.effectiveGenomeSize.effectiveGenomeSize_opt #end if --scaleFactor $scaling.scaleFactor #end if #if str($region).strip() != '': --region '$region' #end if #if $advancedOpt.showAdvancedOpt == "yes": #if $advancedOpt.smoothLength: --smoothLength '$advancedOpt.smoothLength' #end if @ADVANCED_OPTS_READ_PROCESSING@ $advancedOpt.skipNAs #if str($advancedOpt.ignoreForNormalization).strip() != '': --ignoreForNormalization $advancedOpt.ignoreForNormalization #end if #if str($advancedOpt.filterRNAstrand) != 'no': --filterRNAstrand '$advancedOpt.filterRNAstrand' #end if #if $advancedOpt.Offset: --Offset '$advancedOpt.Offset' #end if @blacklist@ #end if ]]> </command> <inputs> <param name="bamInput" format="bam" type="data" label="BAM file" help=""/> <param name="binSize" type="integer" value="50" min="1" label="Bin size in bases" help="The genome will be divided into bins of the specified size. For each bin, the overlaping number of fragments (or reads) will be reported. If only half a fragment overlaps, this fraction will be reported. "/> <conditional name="scaling"> <param name="type" type="select" label="Scaling/Normalization method" > <option value="1x">Normalize coverage to 1x</option> <option value="rpkm">Normalize to fragments (reads) per kilobase per million (RPKM)</option> <option value="no">Do not normalize or scale</option> </param> <when value="rpkm"> <expand macro="scaleFactor" /> </when> <when value="no"/> <when value="1x"> <expand macro="effectiveGenomeSize" /> <expand macro="scaleFactor" /> </when> </conditional> <param name="outFileFormat" type="select" label="Coverage file format"> <option value="bigwig" selected="true">bigwig</option> <option value="bedgraph">bedgraph</option> </param> <expand macro="region_limit_operation" /> <conditional name="advancedOpt"> <param name="showAdvancedOpt" type="select" label="Show advanced options" > <option value="no" selected="true">no</option> <option value="yes">yes</option> </param> <when value="no" /> <when value="yes"> <expand macro="smoothLength" /> <param argument="ignoreForNormalization" type="text" value="" label="Regions that should be excluded for normalization" help="A list of chromosome names separated by spaces containing those chromosomes that should be excluded during normalization. This is useful when considering samples with unequal coverage across chromosomes, like male and female samples. Example: chrX chrM" /> <expand macro="skipNAs" /> <expand macro="read_processing_options" /> <param argument="--MNase" type="boolean" truevalue="--MNase" falsevalue="" label="Determine nucleosome positions from MNase-seq data" help="Only the 3 nucleotides at the center of each fragment are counted. The fragment ends are defined by the two mate reads. *NOTE*: Requires paired-end data. By default, only fragments between 130 and 200 bases will be used, though this can be changed with the --minFragmentLength and --maxFragmentLength options." /> <param argument="--Offset" type="integer" value="" optional="True" label="Offset inside each alignment to use for the signal location." help="Uses this offset inside of each read as the signal. This is useful in cases like RiboSeq or GROseq, where only the 12th, 15th or 1st base aligned should be used to denote where the signal is (rather than the span of the whole alignment). This can be paired with the --filterRNAstrand option. Note that negative values indicate offsets from the end of each read. A value of 1 indicates the first base of the alignment (taking alignment orientation into account). Likewise, a value of -1 is the last base of the alignment. An offset of 0 is not permitted. By default, the entire alignment is used to denote where the signal is located." /> <param argument="filterRNAstrand" type="select" label="Only include reads originating from fragments from the forward or reverse strand." help="By default (the no option), all reads are processed, regardless of the strand they originated from. For RNAseq, it can be useful to separately create bigWig files for the forward or reverse strands. Note that this tools assumes that a dUTP-based method was used, so fragments will be assigned to the reverse strand if the second read in a pair is reverse complemented."> <option value="no" selected="true">no</option> <option value="forward">forward</option> <option value="reverse">reverse</option> </param> <expand macro="blacklist" /> </when> </conditional> </inputs> <outputs> <data format="bigwig" name="outFileName"> <change_format> <when input="outFileFormat" value="bigwig" format="bigwig" /> <when input="outFileFormat" value="bedgraph" format="bedgraph" /> </change_format> </data> </outputs> <tests> <test> <param name="bamInput" value="bowtie2 test1.bam" ftype="bam" /> <param name="outFileFormat" value="bigwig" /> <param name="showAdvancedOpt" value="no" /> <param name="binSize" value="10" /> <param name="type" value="no" /> <output name="outFileName" file="bamCoverage_result1.bw" ftype="bigwig" /> </test> <test> <param name="bamInput" value="bowtie2 test1.bam" ftype="bam" /> <param name="outFileFormat" value="bigwig" /> <param name="showAdvancedOpt" value="no" /> <param name="binSize" value="10" /> <output name="outFileName" file="bamCoverage_result2.bw" ftype="bigwig" /> </test> <test> <param name="bamInput" value="bowtie2 test1.bam" ftype="bam" /> <param name="outFileFormat" value="bedgraph" /> <param name="showAdvancedOpt" value="no" /> <param name="binSize" value="10" /> <output name="outFileName" file="bamCoverage_result3.bg" ftype="bedgraph" /> </test> <test> <param name="bamInput" value="phiX.bam" ftype="bam" /> <param name="outFileFormat" value="bigwig" /> <param name="showAdvancedOpt" value="no" /> <param name="binSize" value="10" /> <output name="outFileName" file="bamCoverage_result4.bw" ftype="bigwig" /> </test> <test> <param name="bamInput" value="phiX.bam" ftype="bam" /> <param name="outFileFormat" value="bedgraph" /> <param name="showAdvancedOpt" value="yes" /> <param name="binSize" value="10" /> <output name="outFileName" file="bamCoverage_result4.bg" ftype="bedgraph" /> </test> <test> <param name="bamInput" value="phiX.bam" ftype="bam" /> <param name="outFileFormat" value="bigwig" /> <param name="showAdvancedOpt" value="yes" /> <param name="filterRNAstrand" value="reverse" /> <param name="binSize" value="10" /> <output name="outFileName" file="bamCoverage_result5.bw" ftype="bigwig" /> </test> </tests> <help> <![CDATA[ What it does -------------- Given a BAM file, this tool generates a bigWig or bedGraph file of fragment or read coverages. The way the method works is by first calculating all the number of reads (either extended to match the fragment length or not) that overlap each bin in the genome. The resulting read counts can be normalized using either a given scaling factor, the RPKM formula or to get a 1x depth of coverage (RPGC). In the case of paired-end mapping, each read mate is treated independently to avoid a bias when a mixture of concordant and discordant pairs is present. This means that *each end* will be extended to match the fragment length. See the usage hints below. .. image:: $PATH_TO_IMAGES/norm_IGVsnapshot_indFiles.png :width: 600 :height: 336 Output ------------- ``bamCoverage`` produces a coverage file, either in bigWig or bedGraph format, where for each bin the number of overlapping reads (possibly normalized) is noted. Like BAM files, bigWig files are compressed, binary files. If you would like to see the coverage values, choose the bedGraph output. For more information on typical NGS file formats, see our `Glossary <http://deeptools.readthedocs.org/en/latest/content/help_glossary.html#file-formats>`_ .. image:: $PATH_TO_IMAGES/bamCoverage_output.png :width: 600 :height: 450 Usage hints ------------ * A smaller ``bin size`` value will result in a higher resolution of the coverage track but also in a larger file size. * The ``1x normalization`` (RPGC) requires the input of a value for the **effective genome size**, which is the mappable part of the reference genome. Of course, this value is species-specific. * It might be useful for some studies to exclude certain chromosomes in order to avoid biases, e.g. chromosome X for many mammals where the males contain a pair of each autosome, but often only a single X chromosome. * By default, the read length is **NOT** extended! This is the preferred setting for **spliced-read** data like RNA-seq, where one usually wants to rely on the detected read locations only. A read extension would neglect potential splice sites in the unmapped part of the fragment. Other data, e.g. ChIP-seq, where fragments are known to map contiuously, should be processed with read extension (``--extendReads [INT]``). * For paired-end data, the fragment length is generally defined by the two read mates. The user-provided fragment length is only used as a fallback for singletons or mate reads that map too far apart (with a distance greater than four times the fragment length or if the mates are located on different chromosomes). WARNING: If you already normalized for GC bias using ``correctGCbias``, you should absolutely **NOT** set the parameter ``--ignoreDuplicates``! ----- @REFERENCES@ ]]> </help> <expand macro="citations" /> </tool>