0
|
1 <tool id="blockclust" name="BlockClust" version="1.0.0">
|
2
|
2 <description>efficient clustering and classification of non-coding RNAs from short read RNA-seq profiles</description>
|
0
|
3 <requirements>
|
|
4 <requirement type="package" version="1.0">blockclust</requirement>
|
|
5 <requirement type="package" version="1.1">eden</requirement>
|
10
|
6 <requirement type="package" version="3.0.3">R</requirement>
|
0
|
7 <requirement type="package" version="0.1.19">samtools</requirement>
|
|
8 <requirement type="package" version="12.135">mcl</requirement>
|
|
9 <requirement type="package" version="1.0">blockclust_rlibs</requirement>
|
|
10 </requirements>
|
|
11 <version_command>echo '1.0'</version_command>
|
|
12 <command>
|
10
|
13 <![CDATA[
|
0
|
14 #if str($tool_mode.operation) == "pre":
|
|
15 BlockClustPipeLine.pl -m PRE -bam $tool_mode.reads_bam -tbed $tags_bed
|
|
16 #elif str($tool_mode.operation) == "clust":
|
1
|
17 #set $outputdir = $clusters.files_path
|
0
|
18 #set $accept_bed=list()
|
|
19 #set $reject_bed=list()
|
|
20 ## prepare annotations
|
|
21 #if str($tool_mode.reference) == "hg19":
|
|
22 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/hg19/hg19.accept.bed")
|
|
23 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/hg19/hg19.reject.bed")
|
|
24 #elif str($tool_mode.reference) == "mm10":
|
|
25 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/mm10/mm10.accept.bed")
|
|
26 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/mm10/mm10.reject.bed")
|
|
27 #elif str($tool_mode.reference) == "dm3":
|
|
28 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/dm3/dm3.accept.bed")
|
|
29 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/dm3/dm3.reject.bed")
|
|
30 #elif str($tool_mode.reference) == "rheMac3":
|
|
31 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/rheMac3/rheMac3.accept.bed")
|
|
32 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/rheMac3/rheMac3.reject.bed")
|
|
33 #elif str($tool_mode.reference) == "panTro4":
|
|
34 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/panTro3/panTro4.accept.bed")
|
|
35 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/panTro3/panTro4.reject.bed")
|
|
36 #elif str($tool_mode.reference) == "xenTro3":
|
|
37 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/xenTro3/xenTro3.accept.bed")
|
|
38 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/xenTro3/xenTro3.reject.bed")
|
|
39 #elif str($tool_mode.reference) == "celWS235":
|
|
40 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/celWS235/celWS235.accept.bed")
|
|
41 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/celWS235/celWS235.reject.bed")
|
|
42 #elif str($tool_mode.reference) == "tair10":
|
|
43 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/tair10/tair10.accept.bed")
|
|
44 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/tair10/tair10.reject.bed")
|
|
45 #end if
|
8
|
46 BlockClustPipeLine.pl -m TEST -c \$BLOCKCLUST_DATA_PATH/blockclust.config
|
0
|
47 -t $tool_mode.input_bbo
|
|
48 -a #echo ''.join( $accept_bed )
|
|
49 -r #echo ''.join( $reject_bed )
|
|
50 -o $outputdir
|
8
|
51 #if $tool_mode.nochr:
|
|
52 -nochr
|
10
|
53 #end if
|
0
|
54 #if str($tool_mode.pred.enable_pred) == "yes":
|
|
55 -p
|
|
56 -pm $tool_mode.pred.pred_mode
|
8
|
57 -md \$BLOCKCLUST_DATA_PATH/models;
|
0
|
58 #if str($tool_mode.pred.pred_mode) == "nearest_neighbour":
|
|
59 cp #echo os.path.join($outputdir,'nearest_neighbour_predictions.txt')# $nearest_neighbour_pred_bed;
|
|
60 #elif str($tool_mode.pred.pred_mode) == "model_based":
|
|
61 cp #echo os.path.join($outputdir,'model_based_predictions.txt')# $model_based_pred_bed;
|
|
62 #end if
|
|
63 #else:
|
|
64 ;
|
|
65 #end if
|
|
66
|
|
67 cp #echo os.path.join($outputdir, 'mcl_clusters','all_clusters.bed')# $clusters;
|
|
68 cp #echo os.path.join($outputdir, 'hclust_tree.pdf')# $hclust_plot;
|
|
69 cp #echo os.path.join($outputdir, 'discretized.gspan.tab')# $sim_tab_out
|
|
70 #elif str($tool_mode.operation) == "post":
|
6
|
71 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 ./;
|
0
|
72 #end if
|
10
|
73 ]]>
|
0
|
74 </command>
|
|
75 <inputs>
|
|
76 <conditional name="tool_mode">
|
|
77 <param name="operation" type="select" label="Select mode of operation">
|
|
78 <option value="pre">Pre-processing </option>
|
2
|
79 <option value="clust">Clustering and classification</option>
|
0
|
80 <option value="post">Post-processing</option>
|
|
81 </param>
|
|
82 <when value="pre">
|
|
83 <param name="reads_bam" type="data" format="bam" label="BAM file containing alignments" />
|
|
84 </when>
|
|
85 <when value="clust">
|
|
86 <param name="input_bbo" type="data" format="tabular" label="Input blockgroups file" />
|
|
87 <param name="reference" type="select" label="Select reference genome">
|
|
88 <option value="hg19">Human (hg19)</option>
|
|
89 <option value="mm10">Mouse (mm10)</option>
|
|
90 <option value="dm3">Fly (dm3)</option>
|
|
91 <option value="rheMac3">Monkey (rheMac3)</option>
|
|
92 <option value="panTro4">Chimp (panTro4)</option>
|
|
93 <option value="xenTro3">Frog (xenTro3)</option>
|
|
94 <option value="celWS235">C. elegans (celWS235)</option>
|
|
95 <option value="tair10">Arabidopsis thaliana (tair10)</option>
|
|
96 </param>
|
8
|
97 <param name="nochr" type="boolean" label="My input files have no 'chr' for chromosome names" checked="False"/>
|
0
|
98 <conditional name="pred">
|
|
99 <param name="enable_pred" type="select" label="Would you like to perform classification?">
|
|
100 <option value="no">No</option>
|
|
101 <option value="yes">Yes</option>
|
|
102 </param>
|
|
103 <when value="yes">
|
|
104 <param name="pred_mode" type="select" label="Mode of classification">
|
|
105 <option value="model_based">Model based</option>
|
|
106 <option value="nearest_neighbour">Nearest neighbour</option>
|
|
107 </param>
|
|
108 </when>
|
|
109 </conditional>
|
|
110 </when>
|
|
111 <when value="post">
|
|
112 <param name="cmsearch_out" type="data" format="tabular" label="Output of cmsearch tool" />
|
|
113 <param name="clusters_bed" type="data" format="bed" label="BED file containing clusters (output of BlockClust)" />
|
|
114 <param name="sim_tab_in" type="data" format="tabular" label="Pairwise similarities file" />
|
|
115 </when>
|
|
116 </conditional>
|
|
117 </inputs>
|
|
118
|
|
119 <outputs>
|
|
120 <data format="bed" name="tags_bed" label="BlockClust: BAM to BED on ${on_string}">
|
|
121 <filter> tool_mode["operation"]=="pre"</filter>
|
|
122 </data>
|
|
123 <data format="pdf" name="hclust_plot" label="BlockClust: Hierarchical clustering plot on ${on_string}" >
|
|
124 <filter> tool_mode["operation"]=="clust"</filter>
|
|
125 </data>
|
2
|
126 <data format="bed" name="clusters" label="BlockClust: BED of predicted clusters on ${on_string}">
|
0
|
127 <filter> tool_mode["operation"]=="clust"</filter>
|
|
128 </data>
|
2
|
129 <data format="bed" name="model_based_pred_bed" label="BlockClust: Model based predictions BED on ${on_string}">
|
0
|
130 <filter>
|
|
131 ((
|
10
|
132 tool_mode["operation"] == 'clust' and
|
0
|
133 tool_mode["pred"]["enable_pred"] == "yes" and
|
|
134 tool_mode["pred"]["pred_mode"] == "model_based"
|
|
135 ))
|
|
136 </filter>
|
|
137 </data>
|
2
|
138 <data format="bed" name="nearest_neighbour_pred_bed" label="BlockClust: Nearest neighbor predictions BED on ${on_string}">
|
0
|
139 <filter>
|
|
140 ((
|
10
|
141 tool_mode["operation"] == 'clust' and
|
0
|
142 tool_mode["pred"]["enable_pred"] == "yes" and
|
|
143 tool_mode["pred"]["pred_mode"] == "nearest_neighbour"
|
|
144 ))
|
|
145 </filter>
|
|
146 </data>
|
|
147 <data format="tabular" name="sim_tab_out" label="BlockClust: Pairwise similarities on ${on_string}">
|
|
148 <filter> tool_mode["operation"]=="clust"</filter>
|
|
149 </data>
|
1
|
150 <data format="pdf" name="cluster_dist" from_work_dir="cluster_distribution.pdf" label="BlockClust: Cluster distribution on ${on_string}" >
|
0
|
151 <filter> tool_mode["operation"]=="post"</filter>
|
|
152 </data>
|
1
|
153 <data format="pdf" name="cluster_hclust" from_work_dir="hclust_tree_clusters.pdf" label="BlockClust: Hierarchical clustering plot of cluster centroids on ${on_string}" >
|
0
|
154 <filter> tool_mode["operation"]=="post"</filter>
|
|
155 </data>
|
|
156 </outputs>
|
|
157 <help>
|
10
|
158 <![CDATA[
|
0
|
159
|
|
160 .. class:: infomark
|
|
161
|
10
|
162 **What it does**
|
0
|
163
|
10
|
164 BlockClust is an efficient approach to detect transcripts with similar
|
2
|
165 processing patterns. We propose a novel way to encode expression profiles
|
10
|
166 in compact discrete structures, which can then be processed using
|
|
167 fast graph-kernel techniques. BlockClust allows both clustering and
|
2
|
168 classification of small non-coding RNAs.
|
|
169
|
10
|
170 BlockClust runs in three operating modes:
|
4
|
171
|
2
|
172 1) Pre-processing - converts given mapped reads (BAM) into BED file of tags
|
4
|
173
|
|
174 2) Clustering and classification - of given input blockgroups (output of blockbuster tool) as explained in the original paper.
|
|
175
|
6
|
176 3) Post-processing - plots for overview of predicted clusters.
|
2
|
177
|
|
178 For a thorough analysis of your data, we suggest you to use complete blockclust workflow, which contains all three modes of operation.
|
0
|
179
|
|
180 **Inputs**
|
|
181
|
2
|
182 BlockClust input files are dependent on the mode of operation:
|
4
|
183
|
|
184 1. Pre-processing mode:
|
|
185 * Binary Sequence Alignment Map (BAM) file
|
2
|
186
|
4
|
187 2. Clustering and classification:
|
|
188 * A blockgroups file generated by blockbuster tool
|
|
189 * Select reference genome
|
2
|
190
|
4
|
191 3. Post-processing:
|
|
192 * Output of cmsearch, searched clusters generated by BlockClust against Rfam
|
|
193 * BED file containing clusters generated by BlockClust
|
|
194 * Pairwise similarities of blockgroups generated by BlockClust
|
0
|
195
|
4
|
196 **Outputs**
|
|
197
|
|
198 1. Pre-processing mode:
|
|
199 * BED file of tags with expressions
|
0
|
200
|
4
|
201 2. Clustering and classification:
|
|
202 * Hierarchical clustering plot of all input blockgroups by their similarity
|
|
203 * Pairwise similarities of all input blockgroups
|
|
204 * BED file containing predicted clusters
|
|
205 * BED file containing prediction of blockgroups by pre-compiled SVM binary classification model.
|
2
|
206
|
4
|
207 3. Post-processing:
|
6
|
208 * 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.
|
4
|
209 * Hierarchical clustering made out of centroids of each BlockClust predicted cluster
|
0
|
210
|
|
211 ------
|
|
212
|
10
|
213 **References**
|
0
|
214
|
3
|
215 Pavankumar Videm, Dominic Rose, Fabrizio Costa, and Rolf Backofen. "BlockClust: efficient clustering and classification of non-coding RNAs from short read RNA-seq profiles." Bioinformatics 30, no. 12 (2014): i274-i282.
|
0
|
216
|
|
217
|
10
|
218 ]]>
|
0
|
219 </help>
|
|
220 </tool>
|