|
4
|
1 <tool id="blockclust" name="BlockClust" version="0.1">
|
|
|
2 <description>Non-coding RNA clustering from deep sequencing read profiles</description>
|
|
|
3 <requirements>
|
|
|
4 <requirement type="package" version="1.0">blockclust</requirement>
|
|
5
|
5 <requirement type="package" version="3.0.1">R_3_0_1</requirement>
|
|
|
6 <requirement type="package" version="0.1.19 ">samtools</requirement>
|
|
|
7 <requirement type="R-module">ggplot2</requirement>
|
|
|
8 <requirement type="R-module">ape</requirement>
|
|
9
|
9 <requirement type="set_environment">BLOCKCLUST_DATA_PATH</requirement>
|
|
4
|
10 </requirements>
|
|
|
11 <!--<version_command> -version</version_command>-->
|
|
|
12 <command>
|
|
12
|
13 #if str($tool_mode.operation) == "pre":
|
|
4
|
14 #set $outputdir = $tags_bed.extra_files_path
|
|
12
|
15 BlockClustPipeLine.pl -m PRE -bam $tool_mode.reads_bam -tbed $tags_bed;
|
|
4
|
16 #end if
|
|
|
17
|
|
12
|
18 #if str($tool_mode.operation) == "clust":
|
|
4
|
19 #set $outputdir = $clusters.extra_files_path
|
|
|
20 #set $accept_bed=list()
|
|
|
21 #set $reject_bed=list()
|
|
|
22 ## prepare annotations
|
|
12
|
23 #if str($tool_mode.reference) == "hg19":
|
|
9
|
24 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/hg19/hg19.accept.bed")
|
|
|
25 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/hg19/hg19.reject.bed")
|
|
12
|
26 #elif str($tool_mode.reference) == "mm10":
|
|
9
|
27 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/mm10/mm10.accept.bed")
|
|
|
28 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/mm10/mm10.reject.bed")
|
|
12
|
29 #elif str($tool_mode.reference) == "dm3":
|
|
9
|
30 $accept_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/dm3/dm3.accept.bed")
|
|
|
31 $reject_bed.append("\$BLOCKCLUST_DATA_PATH/annotations/dm3/dm3.reject.bed")
|
|
4
|
32 #end if
|
|
9
|
33 BlockClustPipeLine.pl -m TEST -f SEQUENCE -c \$BLOCKCLUST_DATA_PATH/blockclust.config
|
|
12
|
34 -t $tool_mode.input_bbo
|
|
4
|
35 -a #echo ''.join( $accept_bed )
|
|
|
36 -r #echo ''.join( $reject_bed )
|
|
12
|
37 -o $outputdir
|
|
|
38 #if str($tool_mode.pred.enable_pred) == "yes":
|
|
|
39 -p
|
|
|
40 -pm $tool_mode.pred.pred_mode
|
|
|
41 -md \$BLOCKCLUST_DATA_PATH/models
|
|
|
42 -x 3;
|
|
|
43 #if str($tool_mode.pred.pred_mode) == "nearest_neighbour":
|
|
|
44 cp #echo os.path.join($outputdir,'nearest_neighbour_predictions.txt')# $nearest_neighbour_pred_bed;
|
|
|
45 #elif str($tool_mode.pred.pred_mode) == "model_based":
|
|
|
46 cp #echo os.path.join($outputdir,'model_based_predictions.txt')# $model_based_pred_bed;
|
|
|
47 #end if
|
|
|
48 #else:
|
|
|
49 ;
|
|
|
50 #end if
|
|
|
51
|
|
4
|
52 cp #echo os.path.join($outputdir, 'mcl_clusters','all_clusters.bed')# $clusters;
|
|
|
53 cp #echo os.path.join($outputdir, 'hclust_tree.pdf')# $hclust_plot;
|
|
|
54 cp #echo os.path.join($outputdir, 'discretized.gspan.tab')# $sim_tab_out;
|
|
|
55 #end if
|
|
|
56
|
|
12
|
57 #if str($tool_mode.operation) == "post":
|
|
4
|
58 #set $outputdir = $clusters_bed.extra_files_path
|
|
12
|
59 BlockClustPipeLine.pl -m POST -cbed $tool_mode.clusters_bed -cm $tool_mode.cmsearch_out -tab $tool_mode.sim_tab_in -o $outputdir;
|
|
4
|
60 cp #echo os.path.join($outputdir, 'cluster_distribution.pdf')# $cluster_dist;
|
|
|
61 #end if
|
|
|
62 </command>
|
|
|
63 <inputs>
|
|
12
|
64 <conditional name="tool_mode">
|
|
4
|
65 <param name="operation" type="select" label="Select mode of operation">
|
|
|
66 <option value="pre">Pre-processing </option>
|
|
|
67 <option value="clust">Clustering</option>
|
|
|
68 <option value="post">Post-processing</option>
|
|
|
69 </param>
|
|
|
70 <when value="pre">
|
|
|
71 <param name="reads_bam" type="data" format="bam" label="BAM file containing alignments" />
|
|
|
72 </when>
|
|
|
73 <when value="clust">
|
|
|
74 <param name="input_bbo" type="data" format="tabular" label="Input blockgroups file" />
|
|
|
75 <param name="reference" type="select" label="Select reference genome">
|
|
|
76 <option value="hg19">Human (hg19)</option>
|
|
|
77 <option value="mm10">Mouse (mm10)</option>
|
|
|
78 <option value="dm3">Fly (dm3)</option>
|
|
|
79 </param>
|
|
12
|
80 <conditional name="pred">
|
|
|
81 <param name="enable_pred" type="select" label="Would you like to perform classification?">
|
|
|
82 <option value="no">No</option>
|
|
|
83 <option value="yes">Yes</option>
|
|
|
84 </param>
|
|
|
85 <when value="yes">
|
|
|
86 <param name="pred_mode" type="select" label="Mode of classification">
|
|
|
87 <option value="model_based">Model based</option>
|
|
|
88 <option value="nearest_neighbour">Nearest neighbour</option>
|
|
|
89 </param>
|
|
|
90 </when>
|
|
|
91 </conditional>
|
|
4
|
92 </when>
|
|
|
93 <when value="post">
|
|
5
|
94 <param name="cmsearch_out" type="data" format="tabular" label="Output of cmsearch tool" />
|
|
4
|
95 <param name="clusters_bed" type="data" format="bed" label="BED file containing clusters (output of BlockClust)" />
|
|
|
96 <param name="sim_tab_in" type="data" format="tabular" label="Pairwise similarities file" />
|
|
|
97 </when>
|
|
|
98 </conditional>
|
|
|
99 </inputs>
|
|
|
100
|
|
|
101 <outputs>
|
|
|
102 <data format="bed" name="tags_bed" label="BlockClust: BAM to BED on ${on_string}">
|
|
12
|
103 <filter> tool_mode["operation"]=="pre"</filter>
|
|
4
|
104 </data>
|
|
5
|
105 <data format="pdf" name="hclust_plot" label="BlockClust: Hierarchical clustering plot on ${on_string}" >
|
|
12
|
106 <filter> tool_mode["operation"]=="clust"</filter>
|
|
4
|
107 </data>
|
|
5
|
108 <data format="bed" name="clusters" label="BlockClust: Clustering BED on ${on_string}">
|
|
12
|
109 <filter> tool_mode["operation"]=="clust"</filter>
|
|
|
110 </data>
|
|
|
111 <data format="bed" name="model_based_pred_bed" label="BlockClust: Model based prediction BED on ${on_string}">
|
|
|
112 <filter>
|
|
|
113 ((
|
|
|
114 tool_mode["operation"] == 'clust' and
|
|
|
115 tool_mode["pred"]["enable_pred"] == "yes" and
|
|
|
116 tool_mode["pred"]["pred_mode"] == "model_based"
|
|
|
117 ))
|
|
|
118 </filter>
|
|
|
119 </data>
|
|
|
120 <data format="bed" name="nearest_neighbour_pred_bed" label="BlockClust: Nearest neighbour prediction BED on ${on_string}">
|
|
|
121 <filter>
|
|
|
122 ((
|
|
|
123 tool_mode["operation"] == 'clust' and
|
|
|
124 tool_mode["pred"]["enable_pred"] == "yes" and
|
|
|
125 tool_mode["pred"]["pred_mode"] == "nearest_neighbour"
|
|
|
126 ))
|
|
|
127 </filter>
|
|
4
|
128 </data>
|
|
|
129 <data format="tabular" name="sim_tab_out" label="BlockClust: Pairwise similarities on ${on_string}">
|
|
12
|
130 <filter> tool_mode["operation"]=="clust"</filter>
|
|
4
|
131 </data>
|
|
|
132 <data format="tabular" name="analysis" label="BlockClust: Cluster analysis on ${on_string}" >
|
|
12
|
133 <filter> tool_mode["operation"]=="post"</filter>
|
|
4
|
134 </data>
|
|
|
135 <data format="pdf" name="cluster_dist" label="BlockClust: Cluster distribution on ${on_string}" >
|
|
12
|
136 <filter> tool_mode["operation"]=="post"</filter>
|
|
4
|
137 </data>
|
|
|
138 </outputs>
|
|
|
139 <help>
|
|
|
140
|
|
|
141 .. class:: infomark
|
|
|
142
|
|
|
143 **What it does**
|
|
|
144
|
|
|
145 Clusters the read profiles (i.e., blockgroups) from the blockbuster tool.
|
|
|
146
|
|
|
147 **Inputs**
|
|
|
148
|
|
|
149 BlockClust needs output of tool blockbuster as input
|
|
|
150
|
|
|
151 **Output**
|
|
|
152
|
|
|
153 BlockClust produces a fasta file containing clusters.
|
|
|
154
|
|
|
155 ------
|
|
|
156
|
|
|
157 **Licenses**
|
|
|
158
|
|
|
159 If **BlockClust** is used to obtain results for scientific publications it
|
|
|
160 should be cited as [1]_.
|
|
|
161
|
|
|
162 **References**
|
|
|
163
|
|
|
164 .. [1]
|
|
|
165
|
|
|
166
|
|
|
167 </help>
|
|
|
168 </tool>
|