Mercurial > repos > bgruening > deeptools_bam_compare
diff bamCompare.xml @ 0:105b9da2445c draft
planemo upload for repository https://github.com/fidelram/deepTools/tree/master/galaxy/wrapper/ commit 0a9265a12a303b54cdaa974e82e87c2ac60962ee-dirty
author | bgruening |
---|---|
date | Mon, 25 Jan 2016 20:25:37 -0500 |
parents | |
children | e237a134059a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamCompare.xml Mon Jan 25 20:25:37 2016 -0500 @@ -0,0 +1,234 @@ +<tool id="deeptools_bam_compare" name="bamCompare" version="@WRAPPER_VERSION@.0"> + <description>normalizes and compares two BAM files to obtain the ratio, log2ratio or difference between them</description> + <macros> + <token name="@BINARY@">bamCompare</token> + <import>deepTools_macros.xml</import> + </macros> + <expand macro="requirements" /> + <command> +<![CDATA[ + ln -s '$bamFile1' one.bam && + ln -s '${bamFile1.metadata.bam_index}' one.bam.bai && + ln -s '$bamFile2' two.bam && + ln -s '${bamFile2.metadata.bam_index}' two.bam.bai && + + @BINARY@ + @THREADS@ + --bamfile1 one.bam + --bamfile2 two.bam + + --outFileName '$outFileName' + --outFileFormat '$outFileFormat' + + --binSize $binSize + + #if $scaling.method == 'SES': + --scaleFactorsMethod SES + --sampleLength $scaling.sampleLength + --numberOfSamples $scaling.numberOfSamples + #elif $scaling.method == 'readCount': + --scaleFactorsMethod readCount + #elif $scaling.method == 'own': + --scaleFactors '$scaling.scaleFactor1:$scaling.scaleFactor2' + #end if + + --ratio $comparison.type + + #if $comparison.type == 'subtract': + #if $comparison.normalization.type == 'rpkm': + --normalizeUsingRPKM + #elif $comparison.normalization.type == '1x': + + #if $comparison.normalization.effectiveGenomeSize.effectiveGenomeSize_opt == "specific": + --normalizeTo1x $comparison.normalization.effectiveGenomeSize.effectiveGenomeSize + #else: + --normalizeTo1x $comparison.normalization.effectiveGenomeSize.effectiveGenomeSize_opt + #end if + + #end if + #elif $comparison.type in ['ratio','log2']: + --pseudocount $comparison.pseudocount + #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 + #end if +]]> + </command> + <inputs> + <param argument="--bamFile1" format="bam" type="data" label="First BAM file (e.g. treated sample)" + help="The BAM file must be sorted."/> + <param argument="--bamFile2" format="bam" type="data" label="Second BAM file (e.g. control sample)" + help="The BAM file must be sorted."/> + + <param argument="--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 then this fraction will be reported."/> + + <conditional name="scaling"> + <param name="method" type="select" + label="Method to use for scaling the largest sample to the smallest"> + <option value="readCount" selected="true">read count</option> + <option value="SES">signal extraction scaling (SES), check with plotFingerprint before using it!</option> + <option value="own">enter own scaling factors</option> + </param> + <when value="SES"> + <param argument="--sampleLength" type="integer" value="1000" min="10" + label="Length in bases used to sample the genome and compute the size or scaling factors." + help="The default is fine. Only change it if you know what you are doing." /> + <param argument="--numberOfSamples" type="integer" value="100000" min="0" + label="Number of samplings taken from the genome to compute the scaling factors" + help="" /> + </when> + <when value="readCount" /> + <when value="own"> + <expand macro="scaleFactors" /> + </when> + </conditional> + + <conditional name="comparison"> + <param name="type" type="select" + label="How to compare the two files" + help="The default is to output the log2ratio between the two samples. + The reciprocal ratio returns the negative of the inverse of the ratio if + the ratio is less than 0. The resulting values are interpreted as negative fold changes."> + <option value="log2" selected="true">Compute log2 of the number of reads ratio</option> + <option value="ratio">Compute the ratio of the number of reads</option> + <option value="subtract">Compute difference (subtract input from treatment) of the number of reads</option> + <option value="add">Compute the sum of number of reads</option> + <option value="reciprocal_ratio">Computes the fold change. If the fold change is less than 1, the negative of the inverse is reported. E.g. A fold change of 10 to 5 would be reported not as 0.5 but as -2</option> + </param> + <when value="log2"> + <expand macro="pseudocount" /> + </when> + <when value="ratio"> + <expand macro="pseudocount" /> + </when> + <when value="add" /> + <when value="reciprocal_ratio"> + <expand macro="pseudocount" /> + </when> + <when value="subtract"> + <conditional name="normalization"> + <param name="type" type="select" label="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" /> + <when value="no" /> + <when value="1x"> + <expand macro="effectiveGenomeSize" /> + </when> + </conditional> + </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" /> + <expand macro="read_processing_options" /> + + <expand macro="skipNAs" /> + <param argument="--ignoreForNormalization" type="text" value="" size="50" + label="regions that should be excluded for calculating the scaling factor" + help="Sometimes it makes sense to exclude certain regions when calculating the scaling factor. + For example, if you know of copy number variations between samples then you may want to exclude these. + Another typical example is the difference in chromosome X copies between males and females in many species. + Example inputs are chrX,chrY,chr3 or chr10:12220-128932" /> + </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="bamFile1" value="bowtie2-test1.bam" ftype="bam" /> + <param name="bamFile2" value="bowtie2-test1.bam" ftype="bam" /> + <param name="showAdvancedOpt" value="no" /> + <param name="outFileFormat" value="bigwig" /> + <param name="outFileFormat" value="bedgraph" /> + <param name="binSize" value="5" /> + <param name="type" value="ratio" /> + <output name="outFileName" file="bamCompare_result1.bg" ftype="bedgraph" /> + </test> + <test> + <param name="bamFile1" value="bowtie2-test1.bam" ftype="bam" /> + <param name="bamFile2" value="bowtie2-test1.bam" ftype="bam" /> + <param name="showAdvancedOpt" value="yes" /> + <param name="outFileFormat" value="bigwig" /> + <param name="outFileFormat" value="bigwig" /> + <param name="binSize" value="10" /> + <param name="type" value="ratio" /> + <output name="outFileName" file="bamCompare_result2.bw" ftype="bigwig" /> + </test> + </tests> + <help> +<![CDATA[ + +**What it does** + +This tool compares two BAM files based on the number of mapped reads. To +compare the BAM files, the genome is partitioned into bins of equal size, then +the number of reads found in each BAM file is counted per bin and +finally a summary value reported. This value can be the ratio of the +number of reads per bin, the log2 of the ratio or the difference. This tool +can normalize the number of reads in each BAM file using the SES method +proposed in Diaz et al. (2012). "Normalization, bias correction, and peak +calling for ChIP-seq". Statistical applications in genetics and molecular +biology, 11(3). Normalization based on read counts is also available. The +output is either a bedgraph or a bigwig file containing the bin location and +the resulting comparison values. By default, if reads are mated, the fragment +length reported in the BAM file is used. 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 are present. This means that *each end* will be +extended to match the fragment length. + + +.. image:: $PATH_TO_IMAGES/norm_IGVsnapshot_indFiles.png + + +You can find more details on the bamCompare doc page: https://deeptools.readthedocs.org/en/master/content/tools/bamCompare.html + + +**Output files**: + +- same as for bamCoverage, except that you now obtain 1 coverage file that is based on 2 BAM files. + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>