changeset 0:5365d08bead0 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/blockclust commit 1973f3035c10db80883d80847ea254289f5cce2a-dirty
author bgruening
date Thu, 17 Sep 2015 16:49:52 -0400
parents
children
files blockclust.tar.gz blockclust.xml tool_dependencies.xml
diffstat 3 files changed, 319 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
Binary file blockclust.tar.gz has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/blockclust.xml	Thu Sep 17 16:49:52 2015 -0400
@@ -0,0 +1,215 @@
+<tool id="blockclust" name="BlockClust" version="1.0.0">
+    <description>efficient clustering and classification of non-coding RNAs from short read RNA-seq profiles</description>
+    <requirements>
+        <requirement type="package" version="1.0">blockclust</requirement>
+        <requirement type="package" version="1.1">eden</requirement>
+        <requirement type="package" version="3.0.3">R</requirement>
+        <requirement type="package" version="0.1.19">samtools</requirement>
+        <requirement type="package" version="12.135">mcl</requirement>
+        <requirement type="package" version="1.0">blockclust_rlibs</requirement>
+    </requirements>
+    <version_command>echo '1.0'</version_command>
+    <command>
+<![CDATA[
+        #if str($tool_mode.operation) == "pre":
+            BlockClustPipeLine.pl -m PRE -bam $tool_mode.reads_bam -tbed $tags_bed
+        #elif str($tool_mode.operation) == "clust":
+            #set $outputdir = $clusters.files_path
+            #set $accept_bed=list()
+            #set $reject_bed=list()
+            ## prepare annotations
+            #if str($tool_mode.reference) == "hg19":
+                $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/hg19/hg19.accept.bed")
+                $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/hg19/hg19.reject.bed")
+            #elif str($tool_mode.reference) == "mm10":
+                $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/mm10/mm10.accept.bed")
+                $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/mm10/mm10.reject.bed")
+            #elif str($tool_mode.reference) == "dm3":
+                $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/dm3/dm3.accept.bed")
+                $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/dm3/dm3.reject.bed")
+                #elif str($tool_mode.reference) == "rheMac3":
+                $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/rheMac3/rheMac3.accept.bed")
+                $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/rheMac3/rheMac3.reject.bed")
+            #elif str($tool_mode.reference) == "panTro4":
+                $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/panTro3/panTro4.accept.bed")
+                $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/panTro3/panTro4.reject.bed")
+            #elif str($tool_mode.reference) == "xenTro3":
+                $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/xenTro3/xenTro3.accept.bed")
+                $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/xenTro3/xenTro3.reject.bed")
+            #elif str($tool_mode.reference) == "celWS235":
+                $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/celWS235/celWS235.accept.bed")
+                $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/celWS235/celWS235.reject.bed")
+            #elif str($tool_mode.reference) == "tair10":
+                $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/tair10/tair10.accept.bed")
+                $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/tair10/tair10.reject.bed")
+            #end if
+            BlockClustPipeLine.pl -m TEST -c \$BLOCKCLUST_DATA_PATH/blockclust.config
+            -t $tool_mode.input_bbo
+            -a #echo ''.join( $accept_bed )
+            -r #echo ''.join( $reject_bed )
+            -o $outputdir
+            #if $tool_mode.nochr:
+                -nochr
+            #end if
+            #if str($tool_mode.pred.enable_pred) == "yes":
+                -p
+                -pm $tool_mode.pred.pred_mode
+                -md \$BLOCKCLUST_DATA_PATH/models;
+                #if str($tool_mode.pred.pred_mode) == "nearest_neighbour":
+                    cp #echo os.path.join($outputdir,'nearest_neighbour_predictions.txt')# $nearest_neighbour_pred_bed;
+                #elif str($tool_mode.pred.pred_mode) == "model_based":
+                    cp #echo os.path.join($outputdir,'model_based_predictions.txt')# $model_based_pred_bed;
+                #end if
+            #else:
+                ;
+            #end if
+
+            cp #echo os.path.join($outputdir, 'mcl_clusters','all_clusters.bed')# $clusters;
+            cp #echo os.path.join($outputdir, 'hclust_tree.pdf')# $hclust_plot;
+            cp #echo os.path.join($outputdir, 'discretized.gspan.tab')# $sim_tab_out
+        #elif str($tool_mode.operation) == "post":
+            BlockClustPipeLine.pl -m POST -cbed $tool_mode.clusters_bed -cm $tool_mode.cmsearch_out -tab $tool_mode.sim_tab_in -rfam \$BLOCKCLUST_DATA_PATH/rfam_map.txt -o ./;
+        #end if
+]]>
+    </command>
+    <inputs>
+        <conditional name="tool_mode">
+            <param name="operation" type="select" label="Select mode of operation">
+                <option value="pre">Pre-processing </option>
+                <option value="clust">Clustering and classification</option>
+                <option value="post">Post-processing</option>
+            </param>
+            <when value="pre">
+                <param name="reads_bam" type="data" format="bam" label="BAM file containing alignments" />
+            </when>
+            <when value="clust">
+                <param name="input_bbo" type="data" format="tabular" label="Input blockgroups file" />
+                <param name="reference" type="select" label="Select reference genome">
+                    <option value="hg19">Human (hg19)</option>
+                    <option value="mm10">Mouse (mm10)</option>
+                    <option value="dm3">Fly (dm3)</option>
+                    <option value="rheMac3">Monkey (rheMac3)</option>
+                    <option value="panTro4">Chimp (panTro4)</option>
+                    <option value="xenTro3">Frog (xenTro3)</option>
+                    <option value="celWS235">C. elegans (celWS235)</option>
+                    <option value="tair10">Arabidopsis thaliana (tair10)</option>
+                </param>
+                <param name="nochr" type="boolean" label="My input files have no 'chr' for chromosome names" checked="False"/>
+                <conditional name="pred">
+                    <param name="enable_pred" type="select" label="Would you like to perform classification?">
+                        <option value="no">No</option>
+                        <option value="yes">Yes</option>
+                    </param>
+                    <when value="yes">
+                        <param name="pred_mode" type="select" label="Mode of classification">
+                            <option value="model_based">Model based</option>
+                            <option value="nearest_neighbour">Nearest neighbour</option>
+                        </param>
+                    </when>
+                </conditional>
+            </when>
+            <when value="post">
+                <param name="cmsearch_out" type="data" format="tabular" label="Output of cmsearch tool" />
+                <param name="clusters_bed" type="data" format="bed" label="BED file containing clusters (output of BlockClust)" />
+                <param name="sim_tab_in" type="data" format="tabular" label="Pairwise similarities file" />
+            </when>
+        </conditional>
+    </inputs>
+
+    <outputs>
+        <data format="bed" name="tags_bed" label="BlockClust: BAM to BED on ${on_string}">
+            <filter> tool_mode["operation"]=="pre"</filter>
+        </data>
+        <data format="pdf" name="hclust_plot" label="BlockClust: Hierarchical clustering plot on ${on_string}" >
+            <filter> tool_mode["operation"]=="clust"</filter>
+        </data>
+        <data format="bed" name="clusters" label="BlockClust: BED of predicted clusters on ${on_string}">
+            <filter> tool_mode["operation"]=="clust"</filter>
+        </data>
+        <data format="bed" name="model_based_pred_bed" label="BlockClust: Model based predictions BED on ${on_string}">
+            <filter>
+            ((
+                tool_mode["operation"] == 'clust' and
+                tool_mode["pred"]["enable_pred"] == "yes" and
+                tool_mode["pred"]["pred_mode"] == "model_based"
+             ))
+             </filter>
+        </data>
+        <data format="bed" name="nearest_neighbour_pred_bed" label="BlockClust: Nearest neighbor predictions BED on ${on_string}">
+            <filter>
+            ((
+                tool_mode["operation"] == 'clust' and
+                tool_mode["pred"]["enable_pred"] == "yes" and
+                tool_mode["pred"]["pred_mode"] == "nearest_neighbour"
+             ))
+             </filter>
+        </data>
+        <data format="tabular" name="sim_tab_out" label="BlockClust: Pairwise similarities on ${on_string}">
+            <filter> tool_mode["operation"]=="clust"</filter>
+        </data>
+        <data format="pdf" name="cluster_dist" from_work_dir="cluster_distribution.pdf" label="BlockClust: Cluster distribution on ${on_string}" >
+            <filter> tool_mode["operation"]=="post"</filter>
+        </data>
+        <data format="pdf" name="cluster_hclust" from_work_dir="hclust_tree_clusters.pdf" label="BlockClust: Hierarchical clustering plot of cluster centroids on ${on_string}" >
+            <filter> tool_mode["operation"]=="post"</filter>
+        </data>
+    </outputs>
+    <help>
+<![CDATA[
+
+**What it does**
+
+BlockClust is an efficient approach to detect transcripts with similar
+processing patterns. BlockClust proposes a novel way to encode expression profiles
+in compact discrete structures which can then be processed using
+fast graph-kernel techniques. BlockClust allows both clustering and
+classification of small non-coding RNAs.
+
+BlockClust runs in three operating modes:
+
+1) Pre-processing - converts given mapped reads (BAM) into BED file of tags
+
+2) Clustering and classification - of given input blockgroups (output of blockbuster tool) as explained in the original paper.
+
+3) Post-processing - plots for overview of predicted clusters.
+
+For a thorough analysis of your data, we suggest you to use complete blockclust workflow, which contains all three modes of operation.
+
+**Input**
+
+BlockClust input files are dependent on the mode of operation:
+
+1. Pre-processing mode:
+    * Binary Sequence Alignment Map (BAM) file
+
+2. Clustering and classification:
+    * A blockgroups file generated by blockbuster tool
+    * Select reference genome
+
+3. Post-processing:
+    * Output of cmsearch, searched clusters generated by BlockClust against Rfam
+    * BED file containing clusters generated by BlockClust
+    * Pairwise similarities of blockgroups generated by BlockClust
+
+**Output**
+
+1. Pre-processing mode:
+    * BED file of tags with expressions
+
+2. Clustering and classification:
+    * Hierarchical clustering plot of all input blockgroups by their similarity
+    * Pairwise similarities of all input blockgroups
+    * BED file containing predicted clusters
+    * BED file containing prediction of blockgroups by pre-compiled SVM binary classification model.
+
+3. Post-processing:
+    * Plot of distribution of ncRNA families per predicted cluster (overview of cluster precissions). The annotation of ncRNA families are retrieved by searching cluster instances against Rfam database.
+    * Hierarchical clustering made out of centroids of each BlockClust predicted cluster
+
+
+]]>
+    </help>
+    <citations>
+        <citation type="doi">10.1093/bioinformatics/btu270</citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml	Thu Sep 17 16:49:52 2015 -0400
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="samtools" version="0.1.19">
+        <repository changeset_revision="0e56e4dac6e7" name="package_samtools_0_1_19" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="R" version="3.0.3">
+        <repository changeset_revision="6ce19fda3a9a" name="package_r_3_0_3" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="eden" version="1.1">
+        <repository changeset_revision="767f6e9800dd" name="package_eden_1_1" owner="rnateam" toolshed="https://toolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="mcl" version="12.135">
+        <repository changeset_revision="7003196be1b1" name="package_mcl_12_135" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="blockclust_rlibs" version="1.0">
+         <install version="1.0">
+            <actions>
+                <action type="setup_r_environment">
+                    <repository changeset_revision="6ce19fda3a9a" name="package_r_3_0_3" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu">
+                        <package name="R" version="3.0.3" />
+                    </repository>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/ape_3.0-11.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/plyr_1.8.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/digest_0.6.4.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/gtable_0.1.2.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/dichromat_2.0-0.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/colorspace_1.2-4.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/munsell_0.4.2.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/labeling_0.2.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/RColorBrewer_1.0-5.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/stringr_0.6.2.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/scales_0.2.3.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/proto_0.3-10.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/reshape2_1.2.2.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/ggplot2_0.9.3.1.tar.gz</package>
+                    <package>https://github.com/bgruening/download_store/raw/master/blockclust/r-packages/squash_1.0.1.tar.gz</package>
+                </action>
+            </actions>
+        </install>
+        <readme>
+
+        </readme>
+    </package>
+    <package name="blockclust" version="1.0">
+        <install version="1.0">
+            <actions>
+                <action type="download_by_url">https://github.com/bgruening/download_store/raw/master/blockclust/blockclust-1.0.tar.gz</action>
+                <action type="shell_command">make</action>
+                <action type="move_file">
+                    <source>BlockClust</source>
+                    <destination>$INSTALL_DIR/bin</destination>
+                </action>
+                <action type="move_file">
+                    <source>BlockClustPipeLine.pl</source>
+                    <destination>$INSTALL_DIR/bin</destination>
+                </action>
+                <action type="move_file">
+                    <source>filterKnownBlockGroups.pl</source>
+                    <destination>$INSTALL_DIR/bin</destination>
+                </action>
+                <action type="move_file">
+                    <source>perf</source>
+                    <destination>$INSTALL_DIR/bin</destination>
+                </action>
+                <action type="move_file">
+                    <source>plotClusters.R</source>
+                    <destination>$INSTALL_DIR/bin</destination>
+                </action>
+                <action type="move_file">
+                    <source>blockclust.config</source>
+                    <destination>$INSTALL_DIR/data/</destination>
+                </action>
+                <action type="move_file">
+                    <source>rfam_map.txt</source>
+                    <destination>$INSTALL_DIR/data/</destination>
+                </action>
+                <action type="make_directory">$INSTALL_DIR/data/annotations</action>
+                <action type="download_file">https://github.com/bgruening/download_store/raw/master/blockclust/blockclust-data-1.0/annotations/dm3.tar.gz</action>
+                <action type="shell_command">tar xfvz dm3.tar.gz -C $INSTALL_DIR/data/annotations/</action>
+                <action type="download_file">https://github.com/bgruening/download_store/raw/master/blockclust/blockclust-data-1.0/annotations/hg19.tar.gz</action>
+                <action type="shell_command">tar xfvz hg19.tar.gz -C $INSTALL_DIR/data/annotations/</action>
+                <action type="download_file">https://github.com/bgruening/download_store/raw/master/blockclust/blockclust-data-1.0/annotations/mm10.tar.gz</action>
+                <action type="shell_command">tar xfvz mm10.tar.gz -C $INSTALL_DIR/data/annotations/</action>
+                <action type="download_file">https://github.com/bgruening/download_store/raw/master/blockclust/blockclust-data-1.0/annotations/panTro4.tar.gz</action>
+                <action type="shell_command">tar xfvz panTro4.tar.gz -C $INSTALL_DIR/data/annotations/</action>
+                <action type="download_file">https://github.com/bgruening/download_store/raw/master/blockclust/blockclust-data-1.0/annotations/rheMac3.tar.gz</action>
+                <action type="shell_command">tar xfvz rheMac3.tar.gz -C $INSTALL_DIR/data/annotations/</action>
+                <action type="download_file">https://github.com/bgruening/download_store/raw/master/blockclust/blockclust-data-1.0/annotations/celWS235.tar.gz</action>
+                <action type="shell_command">tar xfvz celWS235.tar.gz -C $INSTALL_DIR/data/annotations/</action>
+                <action type="download_file">https://github.com/bgruening/download_store/raw/master/blockclust/blockclust-data-1.0/annotations/tair10.tar.gz</action>
+                <action type="shell_command">tar xfvz tair10.tar.gz -C $INSTALL_DIR/data/annotations/</action>
+                <action type="download_file">https://github.com/bgruening/download_store/raw/master/blockclust/blockclust-data-1.0/models.tar.gz</action>
+                <action type="shell_command">tar xfvz models.tar.gz -C $INSTALL_DIR/data/</action>
+                <action type="set_environment">
+                    <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable>
+                    <environment_variable action="set_to" name="BLOCKCLUST_DATA_PATH">$INSTALL_DIR/data</environment_variable>
+                </action>
+            </actions>
+        </install>
+        <readme>
+
+        </readme>
+    </package>
+</tool_dependency>