Mercurial > repos > rnateam > chipseeker
diff chipseeker.xml @ 1:95f779f4adb7 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/chipseeker commit 3419a5a5e19a93369c8c20a39babe5636a309292
author | rnateam |
---|---|
date | Tue, 29 May 2018 15:08:04 -0400 |
parents | 58ef4507ce5a |
children | cb133602cd9b |
line wrap: on
line diff
--- a/chipseeker.xml Thu May 24 18:25:40 2018 -0400 +++ b/chipseeker.xml Tue May 29 15:08:04 2018 -0400 @@ -1,89 +1,75 @@ -<tool id="chipseeker" name="ChIPseeker" version="1.14.2"> +<tool id="chipseeker" name="ChIPseeker" version="1.14.2.1"> <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> + <requirement type="package" version="1.4.4">r-optparse</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: ") +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: ")", optparse version" $(R --vanilla --slave -e "library(optparse); cat(sessionInfo()\$otherPkgs\$optparse\$Version)" 2> /dev/null | grep -v -i "WARNING: ") ]]></version_command> <command detect_errors="exit_code"><![CDATA[ + #set gtf = "refgtf" + #if $gtf_source.gtf_source_select == "history": + ln -s '${gtf_source.gtf_hist}' $gtf && + #else if $gtf_source.gtf_source_select == "cached": + ln -s '${gtf_source.gtf_builtin.fields.path}' $gtf && + #end if + #if $rscript: - cp '${chipseeker_script}' '${out_rscript}' && + cp '$__tool_directory__/chipseeker.R' '$out_rscript' && #end if - Rscript '${chipseeker_script}' + + Rscript '$__tool_directory__/chipseeker.R' + + -i '$peaks' + -G '$gtf' + -u $upstream + -d $downstream + #if $flankgeneinfo: + -F $flankgeneinfo + -D $flankgenedist + #end if + -f $format + -p $pdf ]]> </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 name="peaks" type="data" format="bed,interval" label="Peaks file" help="A peaks file in BED format." /> + <conditional name="gtf_source"> + <param name="gtf_source_select" type="select" label="Annotation source" help="Select a GTF to use for annotation source."> + <option value="cached" selected="true">Use a built-in GTF</option> + <option value="history">Use a GTF from history</option> + </param> + <when value="cached"> + <param name="gtf_builtin" type="select" label="Select a built-in GTF" help="If the GTF file for your transcriptome of interest is not listed, contact your Galaxy administrator"> + <options from_data_table="gene_sets"> + <filter type="sort_by" column="2" /> + <validator type="no_options" message="No GTF file is available." /> + </options> + </param> + </when> + <when value="history"> + <param name="gtf_hist" type="data" format="gtf" label="Select a history GTF" /> + </when> + </conditional> + <param name="upstream" type="integer" min="0" value="3000" label="TSS upstream region" help="User can define TSS (transcription start site) region, by default TSS is defined from -3kb to +3kb." /> + <param name="downstream" type="integer" min="0" value="3000" label="TSS downstream region" help="User can define TSS (transcription start site) region, by default TSS is defined from -3kb to +3kb."/> + <param name="flankgeneinfo" type="boolean" truevalue="True" falsevalue="False" checked="False" label="Add flanking gene information?" help="If specified all genes within the flanking gene distance are reported for each peak. Default: No."/> + <param name="flankgenedist" type="integer" min="0" value="5000" label="Flanking gene distance" help="If flanking gene info is turned on the flanking distance can be specified. Default: 5000."/> + <param name="format" type="select" label="Output Format"> + <option value="interval" selected="True">Interval</option> + <option value="tabular">Tabular (tab-separated)</option> </param> - - <param name="pdf" type="boolean" truevalue="True" falsevalue="" checked="True" label="Output a PDF file of plots?" help="Default: Yes" /> + <param name="pdf" type="boolean" truevalue="True" falsevalue="" checked="True" label="Output PDF 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_tab" format="interval" from_work_dir="out.tab" label="${tool.name} on ${on_string}: Annotated Peaks" > + <change_format> + <when input="format" value="tabular" format="tabular" /> + </change_format> + </data> <data name="out_plots" format="pdf" from_work_dir="out.pdf" label="${tool.name} on ${on_string}: Plots"> <filter>pdf</filter> </data> @@ -93,12 +79,13 @@ </outputs> <tests> - <!-- Ensure outputs work --> + <!-- Ensure bed and GTF inputs and all outputs work --> <test expect_num_outputs="3"> - <param name="peaks_file" value="in.diffbind" ftype="bed"/> - <param name="genome" value="hg19"/> + <param name="peaks" value="in.bed" ftype="bed"/> + <param name="gtf_source_select" value="history"/> + <param name="gtf_hist" value="in.gtf"/> <param name="rscript" value="True"/> - <output name="out_tab" file="out.tab" /> + <output name="out_tab" ftype="interval" file="out.int" /> <output name="out_plots" file="out.pdf" compare="sim_size"/> <output name="out_rscript" > <assert_contents> @@ -106,6 +93,43 @@ </assert_contents> </output> </test> + <!-- Ensure built-in GTF works --> + <test expect_num_outputs="2"> + <param name="peaks" value="in.interval" ftype="interval"/> + <param name="gtf_source_select" value="cached"/> + <output name="out_tab" ftype="interval" file="outint.int" /> + <output name="out_plots" file="out.pdf" compare="sim_size"/> + </test> + <!-- Ensure tabular output works --> + <test expect_num_outputs="2"> + <param name="peaks" value="in.interval" ftype="interval"/> + <param name="gtf_source_select" value="history"/> + <param name="gtf_hist" value="in.gtf"/> + <param name="format" value="tabular"/> + <output name="out_tab" ftype="tabular" file="outint.tab" /> + <output name="out_plots" file="out.pdf" compare="sim_size"/> + </test> + <!-- Ensure TSS region specification works --> + <test expect_num_outputs="2"> + <param name="peaks" value="in.interval" ftype="interval"/> + <param name="gtf_source_select" value="history"/> + <param name="gtf_hist" value="in.gtf"/> + <param name="upstream" value="1000" /> + <param name="downstream" value="1000" /> + <param name="format" value="tabular"/> + <output name="out_tab" ftype="tabular" file="outtss.tab" /> + <output name="out_plots" file="out.pdf" compare="sim_size"/> + </test> + <!-- Ensure flanking genes works --> + <test expect_num_outputs="2"> + <param name="peaks" value="in.interval" ftype="interval"/> + <param name="gtf_source_select" value="history"/> + <param name="gtf_hist" value="in.gtf"/> + <param name="flankgeneinfo" value="True" /> + <param name="format" value="tabular"/> + <output name="out_tab" ftype="tabular" file="outflank.tab" /> + <output name="out_plots" file="out.pdf" compare="sim_size"/> + </test> </tests> <help><![CDATA[ @@ -120,7 +144,21 @@ **Inputs** -A peaks file in BED format e.g from MACS2 or DiffBind. +A peaks file in BED or Interval format e.g from MACS2 or DiffBind. + +Example: + + ===== ====== ====== ======== ===== ====== + Chrom Start End Name Score Strand + ===== ====== ====== ======== ===== ====== + 18 394599 396513 DiffBind 0 . + 18 111566 112005 DiffBind 0 . + 18 346463 347342 DiffBind 0 . + 18 399013 400382 DiffBind 0 . + 18 371109 372102 DiffBind 0 . + ===== ====== ====== ======== ===== ====== + +A GTF file for annotation. ----- @@ -128,10 +166,56 @@ This tool outputs - * a table of annotated peaks + * a file of annotated peaks in Interval or Tabular format * a PDF of plots * the R script used by this tool +**Annotated peaks** + +Annotation similar to below will be added to the input file. + +Example - **Interval format**: + + ===== ====== ====== ===================================================================================================================================================== + Chrom Start End Comment + ===== ====== ====== ===================================================================================================================================================== + 18 394599 396513 DiffBind|0|.|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256| 3869 + 18 111566 112005 DiffBind|0|.|Promoter (<=1kb)|1|111568|112005| 438|1|ENSG00000263006|ENST00000608049| 0 + 18 346463 347342 DiffBind|0|.|Exon (ENST00000400256/ENSG00000158270, exon 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|53040 + 18 399013 400382 DiffBind|0|.|Promoter (<=1kb)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256| 0 + 18 371109 372102 DiffBind|0|.|Intron (ENST00000400256/ENSG00000158270, intron 1 of 1)|1|346465|400382|53918|2|ENSG00000158270|ENST00000400256|28280 + ===== ====== ====== ===================================================================================================================================================== + + Columns contain the following data: + +* **Chrom**: Chromosome name +* **Start**: Start position of site +* **End**: End position of site +* **Comment**: The pipe ("|") separated values in this column correspond to: + + * *<Any additional input columns>* + * *annotation* (Promoter, 5’ UTR, 3’ UTR, Exon, Intron, Downstream, Intergenic) + * *geneChr* + * *geneStart* + * *geneEnd* + * *geneLength* + * *geneStrand* + * *geneId* + * *transcriptId* + * *distanceToTSS* + +Example - **Tabular format**: + + ===== ====== ====== ======== ====== ====== =========================================== ======================================================= ======= ========= ======= ========== ========== =============== =============== ============= + Chrom Start End Name Score Strand Comment annotation geneChr geneStart geneEnd geneLength geneStrand geneId transcriptId distanceToTSS + ===== ====== ====== ======== ====== ====== =========================================== ======================================================= ======= ========= ======= ========== ========== =============== =============== ============= + 18 394599 396513 DiffBind 0 . 1914|7.15|5.55|7.89|-2.35|7.06e-24|9.84e-21 Intron (ENST00000400256/ENSG00000158270, intron 1 of 1) 1 346465 400382 53918 2 ENSG00000158270 ENST00000400256 3869 + 18 111566 112005 DiffBind 0 . 439|5.71|6.53|3.63|2.89|1.27e-08|8.88e-06 Promoter (<=1kb) 1 111568 112005 438 1 ENSG00000263006 ENST00000608049 0 + 18 346463 347342 DiffBind 0 . 879|5|5.77|3.24|2.52|6.51e-06|0.00303 Exon (ENST00000400256/ENSG00000158270, exon 1 of 1) 1 346465 400382 53918 2 ENSG00000158270 ENST00000400256 53040 + 18 399013 400382 DiffBind 0 . 1369|7.62|7|8.05|-1.04|1.04e-05|0.00364 Promoter (<=1kb) 1 346465 400382 53918 2 ENSG00000158270 ENST00000400256 0 + 18 371109 372102 DiffBind 0 . 993|4.63|3.07|5.36|-2.3|8.1e-05|0.0226 Intron (ENST00000400256/ENSG00000158270, intron 1 of 1) 1 346465 400382 53918 2 ENSG00000158270 ENST00000400256 28280 + ===== ====== ====== ======== ====== ====== =========================================== ======================================================= ======= ========= ======= ========== ========== =============== =============== ============= + .. _ChIPseeker: https://bioconductor.org/packages/release/bioc/html/ChIPseeker.html .. _`ChIPseeker vignette`: http://bioconductor.org/packages/release/bioc/vignettes/ChIPseeker/inst/doc/ChIPseeker.html