Mercurial > repos > pjbriggs > ceas
changeset 0:8b25779ee261 draft
Uploaded initial version to test toolshed.
author | pjbriggs |
---|---|
date | Wed, 28 Jan 2015 04:50:01 -0500 |
parents | |
children | d9032bb158b9 |
files | README.markdown ceasbw_wrapper.sh ceasbw_wrapper.xml tool-data/ceas.loc.sample tool_data_table_conf.xml.sample tool_dependencies.xml |
diffstat | 6 files changed, 294 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.markdown Wed Jan 28 04:50:01 2015 -0500 @@ -0,0 +1,39 @@ +CEASbw +====== + +XML and wrapper script for the Cistrome version of the CEAS package, which can be +used to annotate intervals and scores with genome features. + +In addition to the `ceas` program, the Cistrome version of the package includes the +`ceasBW` program which can handle + +The tool assumes that the `ceas` and `ceasBW` programs are on the Galaxy user's +path. The official CEAS website is at + +<http://liulab.dfci.harvard.edu/CEAS/index.html> + +the Cistrome version can be found via + +<https://bitbucket.org/cistrome/cistrome-applications-harvard/overview> + +To add to Galaxy add the following to tool_conf.xml: + + <tool file="ceas/ceasbw_wrapper.xml" /> + +You also need to make a copy of the `ceas.loc` file (sample version is provided +here) which points to the available GDB files for different genomes. The GDB files +are essentially SQLite database files containing the RefSeq genes for the genome +in question. + +A limited number of GDB files are available for download from the CEAS website; to +make new ones, see the section "Build a sqlite3 file with a gene annotation table +and genome background annotation for CEAS" in the CEAS manual: + +<http://liulab.dfci.harvard.edu/CEAS/usermanual.html> + +The `ceas.loc` file should be placed in the `tool-data` directory of your Galaxy +installation. + +### Changes ### + +1.0.2-0: first version based on our original `ceas` tool.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ceasbw_wrapper.sh Wed Jan 28 04:50:01 2015 -0500 @@ -0,0 +1,78 @@ +#!/bin/sh -e +# +# Wrapper script to run CEASbw as a Galaxy tool +# +# Usage: ceasbw_wrapper.sh $BED_IN $GDB_IN $EXTRA_BED_IN $LOG_OUT $PDF_OUT $XLS_OUT $DBKEY +# +# Process command line +echo $* +BED_IN=$1 +GDB_IN=$2 +EXTRA_BED_IN=$3 +LOG_OUT=$4 +PDF_OUT=$5 +XLS_OUT=$6 +# +# Collect remaining args +CEAS=ceas +OPTIONS= +while [ ! -z "$7" ] ; do + if [ "$7" == "--bigwig" ] ; then + CEAS=ceasBW + fi + OPTIONS="$OPTIONS $7" + shift +done +# +# Convenience variables for local files +base_name="ceas" +log_file=${base_name}.log +r_script=${base_name}.R +pdf_report=${base_name}.pdf +xls_file=${base_name}.xls +# +# Get CEAS version +echo Running $CEAS +$CEAS --version >$log_file 2>/dev/null +# +# Construct and run CEAS command line +ceas_cmd="$CEAS --name $base_name $OPTIONS -g $GDB_IN -b $BED_IN" +if [ "$EXTRA_BED_IN" != "None" ] ; then + ceas_cmd="$ceas_cmd -e $EXTRA_BED_IN" +fi +echo "Running $ceas_cmd" +$ceas_cmd >>$log_file 2>&1 +# +# Move outputs to final destination +if [ -e $log_file ] ; then + echo "Moving $log_file to $LOG_OUT" + /bin/mv $log_file $LOG_OUT +else + echo ERROR failed to make log file >&2 + exit 1 +fi +if [ -e $xls_file ] ; then + echo "Moving $xls_file to $XLS_OUT" + /bin/mv $xls_file $XLS_OUT +else + echo ERROR failed to generate XLS file >&2 + exit 1 +fi +# +# Run the R script to generate the PDF report +if [ -e $r_script ] ; then + echo "Running $r_script to generate $pdf_report" + R --vanilla < $r_script + if [ -e $pdf_report ] ; then + echo "Moving $xls_file to $XLS_OUT" + /bin/mv $pdf_report $PDF_OUT + else + echo ERROR failed to generate PDF report >&2 + exit 1 + fi +else + echo ERROR no R script to generate PDF report >&2 + exit 1 +fi +# +# Done
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ceasbw_wrapper.xml Wed Jan 28 04:50:01 2015 -0500 @@ -0,0 +1,73 @@ +<tool id="ceasbw" name="CEAS" version="1.0.2-0"> + <description>Annotate intervals and scores with genome features (cistrome CEAS)</description> + <command interpreter="bash">ceasbw_wrapper.sh $bed_file $gdb_file $extra_bed_file $log_output $pdf_report $xls_output + #if (str($wig_file.ext) == 'bigwig') + --bigwig $wig_file + --length $GALAXY_DATA_INDEX_DIR/shared/ucsc/chrom/${bed_file.dbkey}.len + # else + --wig $wig_file + #end if + #if (str($span) and int(str($span)) > 0) + --span $span + #end if + --sizes $sizes_lower,$sizes_middle,$sizes_upper + --bisizes $bisizes_lower,$bisizes_upper + --pf-res $profiling_resolution + --rel-dist $relative_distance</command> + <requirements> + <requirement type="package" version="1.2.5">python_mysqldb</requirement> + <requirement type="package" version="0.7.1">bx_python</requirement> + <requirement type="package" version="1.0.2.d8c0751">cistrome_ceas</requirement> + </requirements> + <inputs> + <param name="bed_file" type="data" format="bed" label="BED file with ChIP regions" /> + <param name="wig_file" type="data" format="wig,bigwig" label="WIG or BIGWIG file for wig profiling or genome background annotation" optional="true" /> + <param name="extra_bed_file" type="data" format="bed" label="BED file with extra regions of interest (e.g. non-coding regions)" optional="true" /> + <param name="gdb_file" type="select" label="Gene annotation table"> + <options from_data_table="ceas_annotations"> + <filter name="dbkey" type="data_meta" ref="bed_file" key="dbkey" column="0" /> + <validator type="no_options" message="No tables are available for the selected input"/> + </options> + </param> + <param name="span" type="integer" label="Span from TSS and TTS in the gene-centered annotation (bp)" help="ChIP regions within this range from TSS and TTS are considered when calculating the coverage rates of promoter and downstream by ChIP regions" value="3000" /> + <param name="sizes_lower" type="integer" label="Lower interval for promoter/downstream sizes for ChIP region annotation (bp)" value="1000" /> + <param name="sizes_middle" type="integer" label="Middle interval for promoter/downstream sizes (bp)" value="2000" help="Values > 10000bp are automatically fixed to 10000bp" /> + <param name="sizes_upper" type="integer" label="Upper interval for promoter/downstream sizes (bp)" value="3000" help="Values > 10000bp are automatically fixed to 10000bp" /> + <param name="bisizes_lower" type="integer" label="Lower interval for bidirectional-promoter sizes for ChIP region annotation (bp)" value="2500" /> + <param name="bisizes_upper" type="integer" label="Upper interval for bidirectional-promoter sizes (bp)" value="5000" help="Values > 20000bp are automatically fixed to 20000bp" /> + <param name="profiling_resolution" type="integer" label="Wig profiling resolution (bp)" value="50" help="Warning: a number smaller than the wig interval (resolution) may cause aliasing error" /> + <param name="relative_distance" type="integer" label="Relative distance to TSS/TTS in wig profiling (bp)" value="3000" /> + </inputs> + <outputs> + <data name="log_output" format="txt" label="CEAS on ${on_string} (log output)" /> + <data name="pdf_report" format="pdf" label="CEAS on ${on_string} (PDF report)" /> + <data name="xls_output" format="interval" label="CEAS on ${on_string} (XLS output)" /> + </outputs> + <help> +**What it does** + +CEAS (Cis-regulatory Element Annotation System) is a tool for characterizing genome-wide +protein-DNA interaction patterns from ChIP-chip and ChIP-Seq of both sharp and broad +binding factors. It provides statistics on ChIP enrichment at important genome features +such as specific chromosome, promoters, gene bodies, or exons, and infers genes most +likely to be regulated by a binding factor. + +CEAS also enables biologists to visualize the average ChIP enrichment signals over +specific genomic features, allowing continuous and broad ChIP enrichment to be perceived +which might be too subtle to detect from ChIP peaks alone. + +This tool is compatible with the ceasBW version of CEAS from the Cistrome package +obtained from + +https://bitbucket.org/cistrome/cistrome-applications-harvard/overview + +(commit id d8c0751, datestamp 20140929). The CEAS code is under the +published-packages/CEAS/ subdirectory. + +Cistrome data files and documentation can be found at + +http://liulab.dfci.harvard.edu/CEAS/index.html + +The CEAS user manual is available at http://liulab.dfci.harvard.edu/CEAS/usermanual.html + </help> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool-data/ceas.loc.sample Wed Jan 28 04:50:01 2015 -0500 @@ -0,0 +1,17 @@ +#This is a sample file distributed with Galaxy that is used by the +#ceas tool. The ceas.loc file has this format (white space +#characters are TAB characters): +# +#<dbkey> <Description> <PathToGdbFile> +# +#For example: +# +#hg18 Human (hg18) /home/galaxy/genomes/ceaslib/GeneTable/hg18 +#mm9 Mouse (mm9) /home/galaxy/genomes/ceaslib/GeneTable/mm9 +#...etc... +# +# The GDB files are sqlite databases containing the RefSeq genes for +# the organism in question +# +#This file should be placed in galaxy's tool-data directory when the +#ceas tool is installed.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_data_table_conf.xml.sample Wed Jan 28 04:50:01 2015 -0500 @@ -0,0 +1,6 @@ +<tables> + <table name="ceas_annotations" comment_char="#"> + <columns>dbkey, name, value</columns> + <file path="tool-data/ceas.loc" /> + </table> +</tables> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Wed Jan 28 04:50:01 2015 -0500 @@ -0,0 +1,81 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="python_mysqldb" version="1.2.5"> + <install version="1.0"> + <actions> + <action type="download_by_url">https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip</action> + <action type="make_directory">$INSTALL_DIR/lib/python</action> + <action type="shell_command"> + export PYTHONPATH=$PYTHONPATH:$INSTALL_DIR/lib/python && + python setup.py install --install-lib $INSTALL_DIR/lib/python --install-scripts $INSTALL_DIR/bin + </action> + <action type="set_environment"> + <environment_variable action="prepend_to" name="PYTHONPATH">$INSTALL_DIR/lib/python</environment_variable> + <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable> + </action> + </actions> + </install> + <readme>Installs Python module MySQLdb 1.2.5</readme> + </package> + <!-- bx_python + This is cribbed from devteam's 'package_bx_python_0_7' in the main + toolshed: + https://toolshed.g2.bx.psu.edu/view/devteam/package_bx_python_0_7 + --> + <package name="bx_python" version="0.7.1"> + <install version="1.0"> + <actions> + <action type="setup_virtualenv"> +numpy==1.7.1 +bx-python==0.7.1 + </action> + <action type="set_environment"> + <environment_variable action="set_to" name="BX_PYTHON_PATH">$INSTALL_DIR</environment_variable> + </action> + </actions> + </install> + <readme> + Installation of bx-python 0.7.1 along with numpy 1.7.1. The installation can be + accessed via BX_PYTHON_PATH. + </readme> + </package> + <!-- cistrome_ceas + Installs the version of CEAS package found in the Cistrome + distribution: + https://bitbucket.org/cistrome/cistrome-applications-harvard/overview + --> + <package name="cistrome_ceas" version="1.0.2.d8c0751"> + <install version="1.0"> + <actions> + <action type="shell_command"> + hg clone https://bitbucket.org/cistrome/cistrome-applications-harvard cistrome_ceas + </action> + <action type="shell_command"> + hg update d8c0751 + </action> + <action type="make_directory">$INSTALL_DIR/lib/python</action> + <action type="shell_command"> + cd published-packages/CEAS/ + export PYTHONPATH=$PYTHONPATH:$INSTALL_DIR/lib/python && + python setup.py install --install-lib $INSTALL_DIR/lib/python --install-scripts $INSTALL_DIR/bin + </action> + <action type="set_environment"> + <environment_variable action="prepend_to" name="PYTHONPATH">$INSTALL_DIR/lib/python</environment_variable> + <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable> + </action> + </actions> + </install> + <readme>Installs version 1.0.2 of CEAS from cistrome (commit id d8c0751, + datestamp 20140929), which includes ceasBW (a version of ceas which can + handle bigWig file input from MACS2. + + Cistrome code is at + https://bitbucket.org/cistrome/cistrome-applications-harvard/overview + + The CEAS code is under the published-packages/CEAS/ subdirectory + + Cistrome data files and documentation can be found at + http://liulab.dfci.harvard.edu/CEAS/index.html + </readme> + </package> +</tool_dependency>