Mercurial > repos > bgruening > diffbind
changeset 0:7faaf4a5e4e1 draft
Uploaded
author | bgruening |
---|---|
date | Thu, 16 Jan 2014 04:15:09 -0500 |
parents | |
children | 9e9f85c20d99 |
files | diffbind.R diffbind.xml tool_dependencies.xml |
diffstat | 3 files changed, 195 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/diffbind.R Thu Jan 16 04:15:09 2014 -0500 @@ -0,0 +1,51 @@ +## Setup R error handling to go to stderr +options( show.error.messages=F, error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } ) +# we need that to not crash galaxy with an UTF8 error on German LC settings. +Sys.setlocale("LC_MESSAGES", "en_US.UTF-8") + +library('getopt'); +options(stringAsfactors = FALSE, useFancyQuotes = FALSE) +args <- commandArgs(trailingOnly = TRUE) + +#get options, using the spec as defined by the enclosed list. +#we read the options from the default: commandArgs(TRUE). +spec = matrix(c( + 'verbose', 'v', 2, "integer", + 'help' , 'h', 0, "logical", + 'outfile' , 'o', 1, "character", + 'plots' , 'p', 2, "character", + 'infile' , 'i', 1, "character", + 'format', 'f', 1, 'character' +), byrow=TRUE, ncol=4); + +opt = getopt(spec); + +# if help was asked for print a friendly message +# and exit with a non-zero error code +if ( !is.null(opt$help) ) { + cat(getopt(spec, usage=TRUE)); + q(status=1); +} + + +library('DiffBind') +# used to save to BED, GFF or WIG format + +if ( !is.null(opt$plots) ) { + pdf(opt$plots) +} + + +sample = dba(sampleSheet=opt$infile, peakFormat='bed') +sample_count = dba.count(sample) +sample_contrast = dba.contrast(sample_count, categories=DBA_CONDITION, minMembers=2) +sample_analyze = dba.analyze(sample_contrast) +diff_bind = dba.report(sample_analyze) +orvals = dba.plotHeatmap(sample_analyze, contrast=1, correlations=FALSE) + +resSorted <- diff_bind[order(diff_bind$FDR),] +write.table(as.data.frame(resSorted), file = opt$outfile, sep="\t", quote = FALSE, append=TRUE, row.names = FALSE, col.names = FALSE) + + +dev.off() +sessionInfo()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/diffbind.xml Thu Jan 16 04:15:09 2014 -0500 @@ -0,0 +1,101 @@ +<tool id="diffbind" name="DiffBind" version="2.0.1"> + <description> differential binding analysis of ChIP-Seq peak data</description> + <requirements> + <requirement type="binary">Rscript</requirement> + <requirement type="R-module">DESeq2</requirement> + <requirement type="package" version="3.0.1">R_3_0_1</requirement> + <requirement type="package" version="1.0.17">deseq2</requirement> + <requirement type="package" version="1.8.3">diffbind</requirement> + </requirements> + <command> + ## seems that diffbind also needs file extensions to work properly + #set $counter = 1 + #for $sample in $samples: + ln -s $sample.bamreads #echo str($counter) + "_bamreads.bam"# && + ln -s ${sample.bamreads.metadata.bam_index} #echo str($counter) + "_bamreads.bai"# && + ln -s $sample.bamcontrol #echo str($counter) + "_bamcontrol.bam"# && + ln -s ${sample.bamcontrol.metadata.bam_index} #echo str($counter) + "_bamcontrol.bai"# && + #set $counter = $counter + 1 + #end for + + Rscript /usr/local/galaxy/shed_tools/testtoolshed.g2.bx.psu.edu/repos/bgruening/diffbind/7929c8b3f6f9/diffbind/diffbind.R + -i $infile + -o $outfile + -p $plots + -f $format + </command> + <stdio> + <regex match="Execution halted" + source="both" + level="fatal" + description="Execution halted." /> + <regex match="Input-Error 01" + source="both" + level="fatal" + description="Error in your input parameters: Make sure you only apply factors to selected samples." /> + <regex match="Error in" + source="both" + level="fatal" + description="An undefined error occured, please check your intput carefully and contact your administrator." /> + </stdio> + <inputs> + <repeat name="samples" title="Samples" min="2"> + <param name="sample_id" type="text" value="Sample ID" label="Specify a sample id" help="e.g. BT474.1-" /> + <param name="tissue" type="text" value="Tissue" label="Specify the tissue" help="e.g. BT474" /> + <param name="factor" type="text" value="Factor Name" label="Specify a factor name" help="e.g. ER" /> + <param name="condition" type="text" value="Condition" label="Specify the condition" help="e.g. Resistent" /> + <param name="replicate" type="integer" value="1" label="Specify the replicate number" help="e.g. 1" /> + <param format="bam" name="bamreads" type="data" label="Read BAM file" help="Specify the Read BAM file, used for Peak calling."/> + <param format="bam" name="bamcontrol" type="data" label="Control BAM file" help="Specify the Control BAM file, used for Peak calling."/> + <param format="bed" name="peaks" type="data" label="Peak file" help="Result of your Peak calling experiment."/> + </repeat> + <param name="pdf" type="boolean" truevalue="" falsevalue="" checked="true" + label="Visualising the analysis results" + help="output an additional PDF files" /> + <param name="format" type="select" label="Output Format"> + <option value="bed">BED</option> + <option value="gff">GFF</option> + <option value="wig">WIG</option> + </param> + </inputs> + <configfiles> +<configfile name="infile"> +SampleID,Tissue,Factor,Condition,Replicate,bamReads,bamControl,Peaks +#set $counter = 1 +#for $sample in $samples: +$sample.sample_id,$sample.tissue,$sample.factor,$sample.condition,$sample.replicate,#echo str($counter) + '_bamreads.bam'#,#echo str($counter) + '_bamcontrol.bam'#,$sample.peaks +#set $counter = $counter + 1 +#end for +</configfile> + </configfiles> + <outputs> + <data format="bed" name="outfile" label="Differential binding sites on ${on_string}"> + <change_format> + <when input="format" value="wig" format="wig" /> + <when input="format" value="gff" format="gff" /> + </change_format> + </data> + <data format="pdf" name="plots" label="Differential binding sites on ${on_string}"> + <filter>pdf == True</filter> + </data> + </outputs> + + <help> + +.. class:: infomark + +**What it does** + + +------ + +**References** + +DiffBind_ Authors: Rory Stark, Gordon Brown + +.. _DiffBind: http://www.bioconductor.org/packages/release/bioc/html/DiffBind.html + +Wrapper authors: Bjoern Gruening, Pavankumar Videm + + </help> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Thu Jan 16 04:15:09 2014 -0500 @@ -0,0 +1,43 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="R_3_0_1" version="3.0.1"> + <repository changeset_revision="c5ff6dd33c79" name="package_r_3_0_1" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" /> + </package> + <package name="deseq2" version="1.0.17"> + <repository changeset_revision="0e80b1827773" name="package_deseq2_1_0_17" owner="iuc" prior_installation_required="True" toolshed="http://toolshed.g2.bx.psu.edu" /> + </package> + + <package name="diffbind" version="1.8.3"> + <install version="1.0"> + <actions> + <action type="setup_r_environment"> + <repository changeset_revision="c5ff6dd33c79" name="package_r_3_0_1" owner="iuc" toolshed="http://toolshed.g2.bx.psu.edu"> + <package name="R_3_0_1" version="3.0.1" /> + </repository> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/BiocGenerics_0.8.0.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/IRanges_1.20.6.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/XVector_0.2.0.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/limma_3.18.9.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/gtools_3.1.1.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/gdata_2.13.2.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/bitops_1.0-6.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/caTools_1.16.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/Biostrings_2.30.1.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/GenomicRanges_1.14.4.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/RColorBrewer_1.0-5.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/amap_0.8-7.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/edgeR_3.4.2.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/gplots_2.12.1.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/zlibbioc_1.8.0.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/Rsamtools_1.14.2.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/DiffBind_1.8.3.tar.gz</package> + <package>https://github.com/bgruening/download_store/raw/master/DiffBind-1_8_3/getopt_1.20.0.tar.gz</package> + </action> + </actions> + </install> + <readme> + Differential Binding Analysis of ChIP-Seq peak data + http://www.bioconductor.org/packages/release/bioc/html/DiffBind.html + </readme> + </package> +</tool_dependency>