# HG changeset patch # User bgruening # Date 1384465158 18000 # Node ID d957e25e18a321e6a891bbd8ea10c59f4e18f35c Uploaded diff -r 000000000000 -r d957e25e18a3 bamCompare.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamCompare.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,212 @@ + + normalizes and compares two BAM files to obtain the ratio, log2ratio or difference. (bam2bigwig) + + + deepTools_macros.xml + + + bamCompare + + @THREADS@ + + --bamfile1 '$bamFile1' + -bai1 '${bamFile1.metadata.bam_index}' + --bamfile2 '$bamFile2' + -bai2 '${bamFile2.metadata.bam_index}' + + --outFileName '$outFileName' + --outFileFormat '$outFileFormat' + + --fragmentLength $fragmentLength + --binSize $binSize + + #if $scaling.method == 'SES': + --scaleFactorsMethod SES + --sampleLength $scaling.sampleLength + #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': + --normalizeTo1x $comparison.normalization.normalizeTo1x + #end if + + #if str($comparison.ignoreForNormalization).strip() != '': + --ignoreForNormalization $comparison.ignoreForNormalization + #end if + + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + #if $advancedOpt.smoothLength: + --smoothLength '$advancedOpt.smoothLength' + #end if + + #if str($advancedOpt.region.value) != '': + --region '$advancedOpt.region' + #end if + + $advancedOpt.doNotExtendPairedEnds + $advancedOpt.ignoreDuplicates + + #if $advancedOpt.minMappingQuality: + --minMappingQuality '$advancedOpt.minMappingQuality' + #end if + + --missingDataAsZero $advancedOpt.missingDataAsZero + + #end if + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +**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, +the reads are counted for each bin and each BAM file and finally, a summarizing value is 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 on each BAM file using the SES method +proposed by Diaz et al. (2012). Stat Appl Genet Mol Biol 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. +If paired-end reads are present, the fragment +length reported in the BAM file is used by default. + + +.. image:: $PATH_TO_IMAGES/norm_IGVsnapshot_indFiles.png + + +**Output files**: + +- same as for bamCoverage, except that you now obtain 1 coverage file that is based on 2 BAM files. + +----- + +.. class:: infomark + + + diff -r 000000000000 -r d957e25e18a3 bamCorrelate.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamCorrelate.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,158 @@ + + correlates pairs of BAM files + + + deepTools_macros.xml + + + #import tempfile + #set $temp_dir = os.path.abspath(tempfile.mkdtemp()) + + #set files=[] + #set labels=[] + + @multiple_input_bams@ + + bamCorrelate + + @THREADS@ + + --bamfiles #echo " ".join($files) + --labels #echo " ".join($labels) + + --fragmentLength $fragmentLength + --corMethod $corMethod + + #set newoutFileName=str($outFileName)+".png" + --plotFile $newoutFileName + + #if $outputOpt.showOutputOpt == "yes" + --outRawCounts '$outFileRawCounts' + --outFileCorMatrix '$outFileCorMatrix' + #end if + + #if $mode.modeOpt == "bins": + --binSize '$mode.binSize' + --numberOfSamples '$modenumberOfSamples' + #else: + --BED $mode.region_file + #end if + + ## options available in both modes + #if $mode.advancedOpt.showAdvancedOpt == "yes": + + #if str($mode.advancedOpt.region.value) != '': + --region '$mode.advancedOpt.region' + #end if + + $mode.advancedOpt.doNotExtendPairedEnds + $mode.advancedOpt.ignoreDuplicates + $mode.advancedOpt.includeZeros + + #if $mode.advancedOpt.minMappingQuality: + --minMappingQuality '$mode.advancedOpt.minMappingQuality' + #end if + + #if $mode.advancedOpt.zMin: + --zMin $mode.advancedOpt.zMin + #end if + #if $mode.advancedOpt.zMax: + --zMax $mode.advancedOpt.zMax + #end if + --colorMap '$mode.advancedOpt.colorMap' + + #end if + + ; mv $newoutFileName $outFileName + ; rm $temp_dir -rf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (outputOpt['showOutputOpt'] == 'yes' and outputOpt['saveRawCounts'] == True) + + + (outputOpt['showOutputOpt'] == 'yes' and outputOpt['saveCorMatrix'] == True) + + + + +**What it does** + +This tool is useful to assess the overall similarity of different BAM files. A typical application +is to check the correlation between replicates or published data sets. + +The tool splits the genomes into bins of given length. For each bin, the number of reads +found in each BAM file is counted and a correlation is computed for all +pairs of BAM files. + + +.. image:: $PATH_TO_IMAGES/QC_bamCorrelate_humanSamples.png + :alt: Heatmap of RNA Polymerase II ChIP-seq + + +**Output files**: + +- diagnostic plot produced by bamCorrelate is a clustered heatmap displaying the values for each pair-wise correlation, see below for an example +- data matrix (optional) in case you want to plot the correlation values using a different program, e.g. R, this matrix can be used + + + + +----- + +.. class:: infomark + +@REFERENCES@ + + + diff -r 000000000000 -r d957e25e18a3 bamCoverage.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamCoverage.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,155 @@ + + generates a coverage bigWig file from a given BAM file. Multiple options are available to count reads and normalize coverage. (bam2bigwig) + + + deepTools_macros.xml + + + bamCoverage + + @THREADS@ + + --bam '$bamInput' + --bamIndex ${bamInput.metadata.bam_index} + --outFileName '$outFileName' + --outFileFormat '$outFileFormat' + + --fragmentLength $fragmentLength + --binSize $binSize + + #if $scaling.type=='rpkm': + --normalizeUsingRPKM + #elif $scaling.type=='1x': + --normalizeTo1x $scaling.normalizeTo1x + #elif $scaling.type=='own': + --scaleFactor $scaling.scaleFactor + #end if + + ##if str($ignoreForNormalization).strip() != '': + ## --ignoreForNormalization $ignoreForNormalization + ##end if + + #if $advancedOpt.showAdvancedOpt == "yes": + #if $advancedOpt.smoothLength: + --smoothLength '$advancedOpt.smoothLength' + #end if + + #if str($advancedOpt.region.value) != '': + --region '$advancedOpt.region' + #end if + $advancedOpt.doNotExtendPairedEnds + $advancedOpt.ignoreDuplicates + + #if $advancedOpt.minMappingQuality: + --minMappingQuality '$advancedOpt.minMappingQuality' + #end if + + #end if + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +**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. Bins with zero counts are skipped, i.e. not added to the output file. +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). + + +.. image:: $PATH_TO_IMAGES/norm_IGVsnapshot_indFiles.png + + +**Output files**: + +- coverage file either in bigWig or bedGraph format + +----- + +.. class:: infomark + +@REFERENCES@ + + + diff -r 000000000000 -r d957e25e18a3 bamFingerprint.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamFingerprint.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,144 @@ + + plots profiles of BAM files; useful for assesing ChIP signal strength + + + deepTools_macros.xml + + + #import tempfile + #set $temp_dir = os.path.abspath(tempfile.mkdtemp()) + + #set files=[] + #set labels=[] + + @multiple_input_bams@ + + bamFingerprint + + @THREADS@ + + --bamfiles #echo " ".join($files) + --labels #echo " ".join($labels) + + --fragmentLength $fragmentLength + + #set newoutFileName=str($outFileName)+".png" + --plotFile $newoutFileName + + #if $outputOpt.showOutputOpt == "yes" + #if $outputOpt.saveRawCounts: + --outRawCounts '$outFileRawCounts' + #end if + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + + #if str($advancedOpt.region.value) != '': + --region '$advancedOpt.region' + #end if + + --binSize '$advancedOpt.binSize' + --numberOfSamples '$advancedOpt.numberOfSamples' + + $advancedOpt.doNotExtendPairedEnds + $advancedOpt.ignoreDuplicates + $advancedOpt.skipZeros + + #if $advancedOpt.minMappingQuality: + --minMappingQuality '$advancedOpt.minMappingQuality' + #end if + #end if + ; mv $newoutFileName $outFileName + ; rm $temp_dir -rf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (outputOpt['showOutputOpt'] == 'yes' and outputOpt['saveRawCounts'] == True) + + + + +**What it does** + +This tool is based on a method developed by Diaz et al. (2012). Stat Appl Genet Mol Biol 11(3). +The resulting plot can be used to assess the strength of a ChIP (for factors that bind to narrow regions). +The tool first samples indexed BAM files and counts all reads overlapping a window (bin) of specified length. +These counts are then sorted according to their rank and the cumulative sum of read counts are plotted. An ideal input +with perfect uniform distribution of reads along the genome (i.e. without enrichments in open chromatin etc.) should +generate a straight diagonal line. A very specific and strong ChIP enrichment will be indicated by a prominent and steep +rise of the cumulative sum towards the highest rank. This means that a big chunk of reads from the ChIP sample is located in +few bins which corresponds to high, narrow enrichments seen for transcription factors. + + +.. image:: $PATH_TO_IMAGES/QC_fingerprint.png + + +**Output files**: + +- Diagnostic plot +- Data matrix of raw counts + +----- + +.. class:: infomark + +@REFERENCES@ + + + diff -r 000000000000 -r d957e25e18a3 bigwigCompare.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bigwigCompare.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,102 @@ + + normalizes and compares two bigWig files to obtain the ratio, log2ratio or difference + + + deepTools_macros.xml + + + bigwigCompare + + @THREADS@ + + --bigwig1 '$bigwigFile1' + --bigwig2 '$bigwigFile2' + + --outFileName '$outFileName' + --outFileFormat '$outFileFormat' + + --ratio $comparison_type + + #if $advancedOpt.showAdvancedOpt == "yes": + #if str($advancedOpt.region.value) != '': + --region '$advancedOpt.region' + #end if + + --missingDataAsZero $advancedOpt.missingDataAsZero + --scaleFactors '$advancedOpt.scaleFactor1:$advancedOpt.scaleFactor2' + --pseudocount '$advancedOpt.pseudocount' + --binSize $advancedOpt.binSize + + #end if + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +**What it does** + +This tool compares two bigwig files based on the number of mapped reads. To +compare the bigwig files the genome is partitioned into bins of equal size, +then the number of reads found in each BAM file are counted for such bins and +finally a summarizing value is reported. This value can be the ratio of the +number of reads per bin, the log2 of the ratio, the sum or the difference. + +----- + +.. class:: infomark + +@REFERENCES@ + + + diff -r 000000000000 -r d957e25e18a3 computeGCBias.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/computeGCBias.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,173 @@ + + to see whether your samples should be normalized for GC bias + + + + + + deepTools_macros.xml + + + #import tempfile + #set $temp_dir = os.path.abspath(tempfile.mkdtemp()) + + #set $temp_bam_handle = tempfile.NamedTemporaryFile( dir=$temp_dir ) + #set $temp_bam_path = $temp_bam_handle.name + '.bam' + #silent $temp_bam_handle.close() + #silent os.system("ln -s %s %s" % (str($bamInput), $temp_bam_path)) + #silent os.system("ln -s %s %s.bai" % (str($bamInput.metadata.bam_index), $temp_bam_path)) + + computeGCBias + + @THREADS@ + + --bamfile '$temp_bam_path' + --GCbiasFrequenciesFile $outFileName + --fragmentLength $fragmentLength + + @reference_genome_source@ + + + #if $effectiveGenomeSize.effectiveGenomeSize_opt == "specific": + --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize + #else: + --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize_opt + #end if + + + #if $advancedOpt.showAdvancedOpt == "yes": + #if str($advancedOpt.region.value) != '': + --region '$advancedOpt.region' + #end if + + --sampleSize '$advancedOpt.sampleSize' + --regionSize '$advancedOpt.regionSize' + + #if $advancedOpt.filterOut: + --filterOut $advancedOpt.filterOut + #end if + + #if $advancedOpt.extraSampling: + --extraSampling $advancedOpt.extraSampling + #end if + + #end if + + #if $saveBiasPlot: + --biasPlot $biasPlot + #end if + +## #if $output.showOutputSettings == "yes" +## #if $output.saveBiasPlot: +## --biasPlot biasPlot.png ; +## mv biasPlot.png $biasPlot +## #end if +## #end if + + ; rm $temp_dir -rf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + saveBiasPlot is True + + + + + +**What it does** + +This tool computes the GC bias using the method proposed by Benjamini and Speed (2012). Nucleic Acids Res. (see below for more explanations) +The output is used to plot the bias and can also be used later on to correct the bias with the tool correctGCbias. +There are two plots produced by the tool: a boxplot showing the absolute read numbers per genomic-GC bin and an x-y plot +depicting the ratio of observed/expected reads per genomic GC content bin. + +----- + +**Summary of the method used** + +In order to estimate how many reads with what kind of GC content one should have sequenced, we first need to determine how many regions the specific +reference genome contains for each amount of GC content, i.e. how many regions in the genome have 50% GC (or 10% GC or 90% GC or...). +We then sample a large number of equally sized genome bins and count how many times we see a bin with 50% GC (or 10% GC or 90% or...). These EXPECTED values are independent of any +sequencing as it only depends on the respective reference genome (i.e. it will most likely vary between mouse and fruit fly due to their genome's different GC contents). +The OBSERVED values are based on the reads from the sequenced sample. Instead of noting how many genomic regions there are per GC content, we now count the reads per GC content. +In an ideal sample without GC bias, the ratio of OBSERVED/EXPECTED values should be close to 1 regardless of the GC content. Due to PCR (over)amplifications, the majority of ChIP samples +usually shows a significant bias towards reads with high GC content (>50%) + +.. image:: $PATH_TO_IMAGES/QC_GCplots_input.png + + +**Output files**: + +- Diagnostic plot + + - box plot of absolute read numbers per genomic GC bin + - x-y plot of observed/expected read ratios per genomic GC content bin + +- Data matrix + + - to be used for GC correction with correctGCbias + + +----- + +.. class:: infomark + +@REFERENCES@ + + + diff -r 000000000000 -r d957e25e18a3 computeMatrix.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/computeMatrix.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,235 @@ + + summarizes and prepares an intermediary file containing scores associated with genomic regions that can be used afterwards to plot a heatmap or a profile + + + deepTools_macros.xml + + + #import tempfile + + #set $temp_input_handle = tempfile.NamedTemporaryFile() + #set $temp_input_path = $temp_input_handle.name + #silent $temp_input_handle.close() + + #for $rf in $regionsFiles: + cat "$rf.regionsFile" >> $temp_input_path; + #if str($rf.label.value).strip(): + echo "\#$rf.label.value" >> $temp_input_path; + #else: + echo "\#$rf.regionsFile.name" >> $temp_input_path; + #end if + #end for + + + computeMatrix + + $mode.mode_select + --regionsFileName '$temp_input_path' + --scoreFileName '$scoreFile' + --outFileName '$outFileName' + + @THREADS@ + + #if $output.showOutputSettings == "yes" + #if $output.saveData: + --outFileNameData '$outFileNameData' + #end if + #if $output.saveMatrix: + --outFileNameMatrix '$outFileNameMatrix' + #end if + + #if $output.saveSortedRegions: + --outFileSortedRegions '$outFileSortedRegions' + #end if + #end if + + #if $mode.mode_select == "reference-point": + --referencePoint $mode.referencePoint + $mode.nanAfterEnd + --beforeRegionStartLength $mode.beforeRegionStartLength + --afterRegionStartLength $mode.afterRegionStartLength + #else + --regionBodyLength $mode.regionBodyLength + --startLabel $mode.startLabel + --endLabel $mode.endLabel + #if $mode.regionStartLength.regionStartLength_select == "yes": + --beforeRegionStartLength $mode.regionStartLength.beforeRegionStartLength + --afterRegionStartLength $mode.regionStartLength.afterRegionStartLength + #end if + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + --sortRegions '$advancedOpt.sortRegions' + --sortUsing '$advancedOpt.sortUsing' + --averageTypeBins '$advancedOpt.averageTypeBins' + $advancedOpt.missingDataAsZero + $advancedOpt.skipZeros + --binSize $advancedOpt.binSize + + #if $advancedOpt.minThreshold: + --minThreshold $advancedOpt.minThreshold + #end if + #if $advancedOpt.maxThreshold: + --maxThreshold $advancedOpt.maxThreshold + #end if + #if $advancedOpt.scale: + --scale $advancedOpt.scale + #end if + + #end if + ; rm $temp_input_path + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (output['showOutputSettings'] == 'yes' and output['saveData'] == True) + + + (output['showOutputSettings'] == 'yes' and output['saveMatrix'] == True) + + + (output['showOutputSettings'] == 'yes' and output['saveSortedRegions'] == True) + + + + + + + + + + + + + + + +**What it does** + +This tool summarizes and prepares an intermediary file +containing scores associated with genomic regions that can be used +afterwards to plot a heatmap or a profile. + +Genomic regions can really be anything - genes, parts of genes, ChIP-seq +peaks, favorite genome regions... as long as you provide a proper file +in BED or INTERVAL format. This tool can also be used to filter and sort +regions according to their score. + + +.. image:: $PATH_TO_IMAGES/flowChart_computeMatrixetc.png + :alt: Relationship between computeMatrix, heatmapper and profiler + + +----- + +.. class:: infomark + +@REFERENCES@ + + + diff -r 000000000000 -r d957e25e18a3 correctGCBias.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/correctGCBias.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,106 @@ + + uses the output from computeGCBias to generate corrected BAM files + + + deepTools_macros.xml + + + #import tempfile + #set $temp_dir = os.path.abspath(tempfile.mkdtemp()) + + #set $temp_bam_handle = tempfile.NamedTemporaryFile( dir=$temp_dir ) + #set $temp_bam_path = $temp_bam_handle.name + '.bam' + #silent $temp_bam_handle.close() + #silent os.system("ln -s %s %s" % (str($bamInput), $temp_bam_path)) + #silent os.system("ln -s %s %s.bai" % (str($bamInput.metadata.bam_index), $temp_bam_path)) + + + correctGCBias + --bamfile '$temp_bam_path' + --GCbiasFrequenciesFile $GCbiasFrequenciesFile + + @reference_genome_source@ + + + #if $effectiveGenomeSize.effectiveGenomeSize_opt == "specific": + --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize + #else: + --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize_opt + #end if + + + #if $advancedOpt.showAdvancedOpt == "yes": + #if str($advancedOpt.region.value) != '': + --region '$advancedOpt.region' + #end if + + --binSize '$advancedOpt.binSize' + #end if + + #set newoutFileName="corrected."+str($outFileFormat) + + --correctedFile $newoutFileName; mv $newoutFileName $outFileName + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +**What it does** + +This tool requires the output from computeGCBias to correct the given BAM files according to the method proposed by Benjamini and Speed (2012). Nucleic Acids Res. +The resulting BAM files can be used in any downstream analyses, but be aware that you should not filter out duplicates from here on. + +**Output files**: + +- GC-normalized BAM file + +----- + +.. class:: infomark + +@REFERENCES@ + + + diff -r 000000000000 -r d957e25e18a3 deepTools_macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deepTools_macros.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + --numberOfProcessors "\${GALAXY_SLOTS:-4}" + + + deepTools + ucsc_tools + numpy + pysam + samtools + samtools + deepTools + ucsc_tools + + + + + + +For more informations, please visit our `project site`_. + +If you would like to give us feedback or you run into any trouble, please send an email to deeptools@googlegroups.com + +This tool is developed by the `Bioinformatics and Deep-Sequencing Unit`_ at the `Max Planck Institute for Immunobiology and Epigenetics`_. + + +.. _Bioinformatics and Deep-Sequencing Unit: http://www3.ie-freiburg.mpg.de/facilities/research-facilities/bioinformatics-and-deep-sequencing-unit/ +.. _Max Planck Institute for Immunobiology and Epigenetics: http://www3.ie-freiburg.mpg.de +.. _project site: https://github.com/fidelram/deepTools + + + + + + + + + + + + #for $i in $input_files: + #set $temp_input_handle = tempfile.NamedTemporaryFile( dir=$temp_dir ) + #set $temp_input_path = $temp_input_handle.name + #silent $temp_input_handle.close() + #silent os.system("ln -s %s %s.bam" % (str($i.bamfile), $temp_input_path)) + #silent os.system("ln -s %s %s.bam.bai" % (str($i.bamfile.metadata.bam_index), $temp_input_path)) + #silent $files.append('%s.bam' % $temp_input_path) + + ##set $files += [str($i.bamfile)] + #if str($i.label.value) != "": + #set $labels += ["\"%s\"" % ($i.label.value)] + #else + #set $labels += ["\"%s\"" % ($i.bamfile.name)] + #end if + #end for + + + + + + + + + + + + + + + + + + + + + #if $source.ref_source=="history": + --genome $source.input1 + #else: + --genome "${source.input1_2bit.fields.path}" + #end if + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 000000000000 -r d957e25e18a3 heatmapper.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/heatmapper.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,212 @@ + + creates a heatmap for a score associated to genomic regions + + numpy + matplotlib + scipy + + + deepTools_macros.xml + + + heatmapper + + --matrixFile $matrixFile + #if $output.showOutputSettings == "yes" + #set newoutFileName=str($outFileName)+"."+str($output.outFileFormat) + --outFileName $newoutFileName + #if $outFileNameData: + --outFileNameData '$outFileNameData' + #end if + + #if $outFileNameMatrix: + --outFileNameMatrix '$outFileNameMatrix' + #end if + + #if $outFileSortedRegions: + --outFileSortedRegions '$outFileSortedRegions' + #end if + #else + #set newoutFileName=str($outFileName)+".png" + --outFileName $newoutFileName + #end if + + #if $advancedOpt.showAdvancedOpt == "yes" + #if $advancedOpt.sortRegions: + --sortRegions '$advancedOpt.sortRegions' + #end if + + #if $advancedOpt.sortUsing: + --sortUsing '$advancedOpt.sortUsing' + #end if + + #if $advancedOpt.averageTypeSummaryPlot: + --averageTypeSummaryPlot '$advancedOpt.averageTypeSummaryPlot' + #end if + + #if str($advancedOpt.missingDataColor.value) != "None": + --missingDataColor '$advancedOpt.missingDataColor' + #end if + + --colorMap '$advancedOpt.colorMap' + + #if $advancedOpt.zMin: + --zMin $advancedOpt.zMin + #end if + #if $advancedOpt.zMax: + --zMax $advancedOpt.zMax + #end if + + #if $advancedOpt.yMin: + --yMin $advancedOpt.yMin + #end if + #if $advancedOpt.yMax: + --yMax $advancedOpt.yMax + #end if + + --xAxisLabel '$advancedOpt.xAxisLabel' + --yAxisLabel '$advancedOpt.yAxisLabel' + + --heatmapWidth $advancedOpt.heatmapWidth + --heatmapHeight $advancedOpt.heatmapHeight + + --whatToShow '$advancedOpt.whatToShow' + + --startLabel '$advancedOpt.startLabel' + --endLabel '$advancedOpt.endLabel' + --refPointLabel '$advancedOpt.referencePointLabel' + --regionsLabel '$advancedOpt.regionsLabel' + + #if str($advancedOpt.plotTitle.value) != "None": + --plotTitle '$advancedOpt.plotTitle' + #end if + + $advancedOpt.onePlotPerGroup + #end if + + ; mv $newoutFileName $outFileName + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (output['showOutputSettings'] == 'yes' and output['saveData'] == True) + + + (output['showOutputSettings'] == 'yes' and output['saveMatrix'] == True) + + + (output['showOutputSettings'] == 'yes' and output['saveSortedRegions'] == True) + + + + + + + + + + +**What it does** + +The heatmapper visualizes scores associated with genomic regions, for example ChIP enrichment values around the TSS of genes. +Those values can be visualized individually along each of the regions provided by the user in INTERVAL or BED format. +In addition to the heatmap, an average profile plot is plotted on top of the heatmap (can be turned off by the user; +it can also be generated separately by the tool profiler). +We implemented vast optional parameters and we encourage you to play around with the min/max values displayed in the heatmap as well as +with the different coloring options. If you would like to plot heatmaps for different groups of genomic regions individually, +e.g. one plot per chromosome, simply supply each group as an individual BED file. + + +.. image:: $PATH_TO_IMAGES/visual_hm_DmelPolII.png + :alt: Heatmap of RNA Polymerase II ChIP-seq + + +----- + +.. class:: infomark + +@REFERENCES@ + + + diff -r 000000000000 -r d957e25e18a3 profiler.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/profiler.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,166 @@ + + + creates a profile plot for a score associated to genomic regions + + + + deepTools_macros.xml + + + profiler + + --matrixFile $matrixFile + + #if $output.showOutputSettings == "yes" + #set newoutFileName = str($outFileName)+"."+str($output.outFileFormat) + --outFileName $newoutFileName + + #if $output.saveData: + --outFileNameData '$outFileNameData' + #end if + + #if $output.saveMatrix: + --outFileNameMatrix '$outFileNameMatrix' + #end if + + #if $output.saveSortedRegions: + --outFileSortedRegions '$outFileSortedRegions' + #end if + #else + #set newoutFileName = str($outFileName)+".png" + --outFileName $newoutFileName + #end if + + #if $scaleRegions.showScaleRegionsOpt == "yes": + --startLabel $scaleRegions.startLabel + --endLabel $scaleRegions.endLabel + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + #if $advancedOpt.averageType: + --averageType '$advancedOpt.averageType' + #end if + --plotHeight $advancedOpt.plotHeight + --plotWidth $advancedOpt.plotWidth + --plotType $advancedOpt.plotType + + --regionsLabel '$advancedOpt.regionsLabel' + + #if str($advancedOpt.plotTitle.value) != "None": + --plotTitle '$advancedOpt.plotTitle' + #end if + + $advancedOpt.onePlotPerGroup + + #if $advancedOpt.yMin: + --yMin $advancedOpt.yMin + #end if + #if $advancedOpt.yMax: + --yMax $advancedOpt.yMax + #end if + + --xAxisLabel '$advancedOpt.xAxisLabel' + #if str($advancedOpt.yAxisLabel.value) != "None": + --yAxisLabel '$advancedOpt.yAxisLabel' + #end if + #end if + ; mv $newoutFileName $outFileName + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (output['showOutputSettings'] == 'yes' and output['saveData'] == True) + + + (output['showOutputSettings'] == 'yes' and output['saveMatrix'] == True) + + + (output['showOutputSettings'] == 'yes' and output['saveSortedRegions'] == True) + + + + +**What it does** + +This tool plots the average enrichments over all genomic +regions supplied to computeMarix. It is a very useful complement to the +heatmapper, especially in cases when you want to compare the scores for +many different groups. Like heatmapper, profiler does not change the +values that were compute by computeMatrix, but you can choose between +many different ways to color and display the plots. + + +.. image:: $PATH_TO_IMAGES/visual_profiler_DmelPolII.png + :alt: Meta-gene profile of Rna Polymerase II + + +----- + +.. class:: infomark + +@REFERENCES@ + + + diff -r 000000000000 -r d957e25e18a3 readme.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/readme.rst Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,63 @@ +======================== +Galaxy deeptools wrapper +======================== + +deepTools are user-friendly tools for the normalization and visualization of +deep-sequencing data. +They address the challenge of visualizing the large amounts of data that are now +routinely generated from sequencing centers in a meaningful way. +To do so, deepTools contain useful routines to process the mapped reads data +through removal of duplicates and different filtering options to create coverage +files in standard bedGraph and bigWig file formats. deepTools allow the creation +of normalized coverage files or the comparison between two files +(for example, treatment and control). Finally, using such normalized and +standardized files, multiple visualizations can be created to identify +enrichments with functional annotations of the genome. +For a gallery of images that can be produced and a description +of the tools see our poster_. + +.. _poster: http://f1000.com/posters/browse/summary/1094053 + +deeptools is developed under here: + + https://github.com/fidelram/deepTools + +For support, questions, or feature requests contact: deeptools@googlegroups.com + + +======== +Citation +======== + +deeptools are currently under review. In the meantime please refere to + + +======= +History +======= + +- v1.0: Initial public release + + +=============================== +Wrapper Licence (MIT/BSD style) +=============================== + +Permission to use, copy, modify, and distribute this software and its +documentation with or without modifications and for any purpose and +without fee is hereby granted, provided that any copyright notices +appear in all copies and that both those copyright notices and this +permission notice appear in supporting documentation, and that the +names of the contributors or copyright holders not be used in +advertising or publicity pertaining to distribution of the software +without specific prior permission. + +THE CONTRIBUTORS AND COPYRIGHT HOLDERS OF THIS SOFTWARE DISCLAIM ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT +OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE +OR PERFORMANCE OF THIS SOFTWARE. + diff -r 000000000000 -r d957e25e18a3 static/images/QC_GCplots_input.png Binary file static/images/QC_GCplots_input.png has changed diff -r 000000000000 -r d957e25e18a3 static/images/QC_bamCorrelate_humanSamples.png Binary file static/images/QC_bamCorrelate_humanSamples.png has changed diff -r 000000000000 -r d957e25e18a3 static/images/QC_fingerprint.png Binary file static/images/QC_fingerprint.png has changed diff -r 000000000000 -r d957e25e18a3 static/images/flowChart_computeMatrixetc.png Binary file static/images/flowChart_computeMatrixetc.png has changed diff -r 000000000000 -r d957e25e18a3 static/images/norm_IGVsnapshot_indFiles.png Binary file static/images/norm_IGVsnapshot_indFiles.png has changed diff -r 000000000000 -r d957e25e18a3 static/images/visual_hm_DmelPolII.png Binary file static/images/visual_hm_DmelPolII.png has changed diff -r 000000000000 -r d957e25e18a3 static/images/visual_profiler_DmelPolII.png Binary file static/images/visual_profiler_DmelPolII.png has changed diff -r 000000000000 -r d957e25e18a3 test-data/master.mat.gz Binary file test-data/master.mat.gz has changed diff -r 000000000000 -r d957e25e18a3 test-data/master.png Binary file test-data/master.png has changed diff -r 000000000000 -r d957e25e18a3 test-data/test.bw Binary file test-data/test.bw has changed diff -r 000000000000 -r d957e25e18a3 test-data/test2.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/test2.bed Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,8 @@ +ch1 100 150 CG11023 0 + +ch2 150 175 cda5 0 - +ch3 100 125 cda8 0 + +#Group 1 +ch1 75 125 C11023 0 + +ch2 125 150 ca5 0 - +ch3 75 100 ca8 0 + +#Group 2 diff -r 000000000000 -r d957e25e18a3 tool-data/deepTools_seqs.loc.sample --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool-data/deepTools_seqs.loc.sample Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,27 @@ +#This is a sample file distributed with Galaxy that enables tools +#to use a directory of 2bit genome files for use with deepTools. You will +#need to supply these files and then create a deepTools_seqs.loc file +#similar to this one (store it in this directory) that points to +#the directories in which those files are stored. The deepTools_seqs.loc +#file has this format: +# +# +# +#So, for example, if your deepTools_seqs.loc began like this: +# +#hg18 Human (Homo sapiens): hg18 /depot/data2/galaxy/twobit/hg18.2bit +#hg19 Human (Homo sapiens): hg19 /depot/data2/galaxy/twobit/hg19.2bit +#mm9 Mouse (Mus musculus): mm9 /depot/data2/galaxy/twobit/mm9.2bit +# +#then your /depot/data2/galaxy/twobit/ directory +#would need to contain the following 2bit files: +# +#-rw-r--r-- 1 james universe 830134 2005-09-13 10:12 hg18.2bit +#-rw-r--r-- 1 james universe 527388 2005-09-13 10:12 hg19.2bit +#-rw-r--r-- 1 james universe 269808 2005-09-13 10:12 mm9.2bit +# +#Your deepTools_seqs.loc file should include an entry per line for +#each file you have stored that you want to be available. Note that +#your files should all have the extension '2bit'. +# +#Please note that the is also used as "Species name abbreviation". diff -r 000000000000 -r d957e25e18a3 tool_data_table_conf.xml.sample --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_data_table_conf.xml.sample Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,7 @@ + + + + value, name, path + +
+
diff -r 000000000000 -r d957e25e18a3 tool_dependencies.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Thu Nov 14 16:39:18 2013 -0500 @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/bedGraphToBigWig + http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bedGraphToBigWig + http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bedGraphToBigWig + http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.x86_64/bedGraphToBigWig + + + $INSTALL_DIR/bedGraphToBigWig + + + http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/bigWigInfo + http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bigWigInfo + http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bigWigInfo + http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.x86_64/bigWigInfo + + + $INSTALL_DIR/bigWigInfo + + + http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/bigWigToBedGraph + http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bigWigToBedGraph + http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bigWigToBedGraph + http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.x86_64/bigWigToBedGraph + + + $INSTALL_DIR/bigWigToBedGraph + + + $INSTALL_DIR + + + + The tools downloaded by this dependency definition are free for academic use. TODO: UCSC tools are only available with their latest version. That is not good for reproducibility. + + + + + + + + + + + + git clone --recursive https://github.com/fidelram/deepTools.git + git reset --hard 91b873c095bb4ca44da99e57d8b49784508aa98b + $INSTALL_DIR/lib/python + + export PYTHONPATH=$PYTHONPATH:$INSTALL_DIR/lib/python && + python setup.py install --install-lib $INSTALL_DIR/lib/python --install-scripts $INSTALL_DIR/bin + + + + $INSTALL_DIR/bin + $INSTALL_DIR/lib/python + + TRUE + + + + Installation of deepTools from Fidel Ramirez. + +