diff chipseeker.xml @ 0:58ef4507ce5a draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/chipseeker commit 9324a8e21c41d62b461dce9c3c17df544e5cd0ce
author rnateam
date Thu, 24 May 2018 18:25:40 -0400
parents
children 95f779f4adb7
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/chipseeker.xml	Thu May 24 18:25:40 2018 -0400
@@ -0,0 +1,142 @@
+<tool id="chipseeker" name="ChIPseeker" version="1.14.2">
+    <description>for ChIP peak annotation and visualization</description>
+    <requirements>
+        <requirement type="package" version="1.14.2">bioconductor-chipseeker</requirement>
+        <requirement type="package" version="3.4.0">bioconductor-txdb.hsapiens.ucsc.hg38.knowngene</requirement>
+        <requirement type="package" version="3.2.2">bioconductor-txdb.hsapiens.ucsc.hg19.knowngene</requirement>
+        <requirement type="package" version="3.4.0">bioconductor-txdb.Mmusculus.UCSC.mm10.knownGene</requirement>
+        <requirement type="package" version="3.5.0">bioconductor-org.hs.eg.db</requirement>
+        <requirement type="package" version="3.5.0">bioconductor-org.mm.eg.db</requirement>
+    </requirements>
+    <version_command><![CDATA[
+echo $(R --version | grep version | grep -v GNU)", ChIPseeker version" $(R --vanilla --slave -e "library(ChIPseeker); cat(sessionInfo()\$otherPkgs\$ChIPseeker\$Version)" 2> /dev/null | grep -v -i "WARNING: ")", TxDb.Hsapiens.UCSC.hg38.knownGene version" $(R --vanilla --slave -e "library(TxDb.Hsapiens.UCSC.hg38.knownGene); cat(sessionInfo()\$otherPkgs\$TxDb.Hsapiens.UCSC.hg38.knownGene\$Version)" 2> /dev/null | grep -v -i "WARNING: ")", TxDb.Hsapiens.UCSC.hg19.knownGene version" $(R --vanilla --slave -e "library(TxDb.Hsapiens.UCSC.hg19.knownGene); cat(sessionInfo()\$otherPkgs\$TxDb.Hsapiens.UCSC.hg19.knownGene\$Version)" 2> /dev/null | grep -v -i "WARNING: ")", TxDb.Mmusculus.UCSC.mm10.knownGene version" $(R --vanilla --slave -e "library(TxDb.Mmusculus.UCSC.mm10.knownGene); cat(sessionInfo()\$otherPkgs\$TxDb.Mmusculus.UCSC.mm10.knownGene\$Version)" 2> /dev/null | grep -v -i "WARNING: ")", org.Hs.eg.db version" $(R --vanilla --slave -e "library(org.Hs.eg.db); cat(sessionInfo()\$otherPkgs\$org.Hs.eg.db\$Version)" 2> /dev/null | grep -v -i "WARNING: ")", org.Mm.eg.db version" $(R --vanilla --slave -e "library(org.Mm.eg.db); cat(sessionInfo()\$otherPkgs\$org.Mm.eg.db\$Version)" 2> /dev/null | grep -v -i "WARNING: ")
+    ]]></version_command>
+    <command detect_errors="exit_code"><![CDATA[
+        #if $rscript:
+            cp '${chipseeker_script}' '${out_rscript}' &&
+        #end if
+        Rscript '${chipseeker_script}'
+    ]]>
+    </command>
+    <configfiles>
+        <configfile name="chipseeker_script"><![CDATA[
+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.
+loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8")
+
+suppressPackageStartupMessages(library(ChIPseeker))
+
+genome <- "${genome}"
+
+if (genome == "hg38") {
+    suppressPackageStartupMessages({
+        library(TxDb.Hsapiens.UCSC.hg38.knownGene)
+        library(org.Hs.eg.db)
+    })
+    txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene
+    annodb <- "org.Hs.eg.db"
+} else if (genome == "hg19") {
+    suppressPackageStartupMessages({
+        library(TxDb.Hsapiens.UCSC.hg19.knownGene)
+        library(org.Hs.eg.db)
+    })
+    txdb <- TxDb.Hsapiens.UCSC.hg19.knownGene
+    annodb <- "org.Hs.eg.db"
+} else if (genome == "mm10") {
+    suppressPackageStartupMessages({
+        library(TxDb.Mmusculus.UCSC.mm10.knownGene)
+        library(org.Mm.eg.db)
+    })
+    txdb <- TxDb.Mmusculus.UCSC.mm10.knownGene
+    annodb <- "org.Mm.eg.db"
+} else {
+    cat(paste("Genome not supported", genome))
+}
+
+peaks <- readPeakFile('$peaks_file')
+peakAnno <-  annotatePeak(peaks, TxDb=txdb, annoDb=annodb)
+write.table(peakAnno, file='$out_tab', sep="\t", row.names=FALSE, quote=FALSE)
+
+if (!is.null("${pdf}")) {
+    pdf("out.pdf", width=14)
+    plotAnnoPie(peakAnno)
+    plotAnnoBar(peakAnno)
+    vennpie(peakAnno)
+    upsetplot(peakAnno)
+    plotDistToTSS(peakAnno, title="Distribution of transcription factor-binding loci\nrelative to TSS")
+    dev.off()
+}
+    ]]></configfile>
+    </configfiles>
+
+    <inputs>
+        <param name="peaks_file" type="data" format="bed" label="Peaks file" help="A peaks file in BED format." />
+        <param name="genome" type="select" label="Genome" help="Select the genome. Options are hg38, hg19 or mm10.">
+            <option value="hg38">hg38</option>
+            <option value="hg19">hg19</option>
+            <option value="mm10">mm10</option>
+        </param>
+
+        <param name="pdf" type="boolean" truevalue="True" falsevalue="" checked="True" label="Output a PDF file of plots?" help="Default: Yes" />
+        <param name="rscript" type="boolean" truevalue="TRUE" falsevalue="FALSE" checked="False" label="Output Rscript?" help="If this option is set to Yes, the Rscript used to annotate the IDs will be provided as a text file in the output. Default: No" />
+    </inputs>
+
+        <outputs>
+            <data name="out_tab" format="tabular" from_work_dir="out.tab" label="${tool.name} on ${on_string}: Annotated Peaks" />
+            <data name="out_plots" format="pdf" from_work_dir="out.pdf" label="${tool.name} on ${on_string}: Plots">
+                <filter>pdf</filter>
+            </data>
+            <data name="out_rscript" format="txt" from_work_dir="out_rscript.txt" label="${tool.name} on ${on_string}: Rscript">
+                <filter>rscript</filter>
+            </data>
+        </outputs>
+
+    <tests>
+        <!-- Ensure outputs work -->
+        <test expect_num_outputs="3">
+            <param name="peaks_file" value="in.diffbind" ftype="bed"/>
+            <param name="genome" value="hg19"/>
+            <param name="rscript" value="True"/>
+            <output name="out_tab" file="out.tab" />
+            <output name="out_plots" file="out.pdf" compare="sim_size"/>
+            <output name="out_rscript" >
+                <assert_contents>
+                    <has_text_matching expression="peakAnno.*annotatePeak" />
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+.. class:: infomark
+
+**What it does**
+
+ChIPseeker_ is a Bioconductor package for annotating ChIP-seq data analysis. See
+the `ChIPseeker vignette`_ for more information.
+
+-----
+
+**Inputs**
+
+A peaks file in BED format e.g from MACS2 or DiffBind.
+
+-----
+
+**Outputs**
+
+This tool outputs
+
+    * a table of annotated peaks
+    * a PDF of plots
+    * the R script used by this tool
+
+.. _ChIPseeker: https://bioconductor.org/packages/release/bioc/html/ChIPseeker.html
+.. _`ChIPseeker vignette`: http://bioconductor.org/packages/release/bioc/vignettes/ChIPseeker/inst/doc/ChIPseeker.html
+
+]]></help>
+    <citations>
+        <citation type="doi">10.1093/bioinformatics/btv145</citation>
+    </citations>
+</tool>