0
|
1 <tool id="rbc_mirdeep2_mapper" name="MiRDeep2 Mapper" version="2.0.0">
|
|
2 <macros>
|
|
3 <macro name="map_params">
|
|
4 <conditional name="refGenomeSource">
|
|
5 <param name="genomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?" help="Map to genome. (-p)">
|
|
6 <option value="indexed">Use a built-in index</option>
|
|
7 <option value="history">Use one from the history</option>
|
|
8 </param>
|
|
9 <when value="indexed">
|
|
10 <param name="index" type="select" label="Select a reference genome" help="If your genome of interest is not listed, contact your Galaxy admin.">
|
|
11 <options from_data_table="bowtie_indexes">
|
|
12 <filter type="sort_by" column="2"/>
|
|
13 <validator type="no_options" message="No indexes are available for the selected input dataset"/>
|
|
14 </options>
|
|
15 </param>
|
|
16 </when> <!-- build-in -->
|
|
17 <when value="history">
|
|
18 <param name="ownFile" type="data" format="fasta" metadata_name="dbkey" label="Select the reference genome" />
|
|
19 </when> <!-- history -->
|
|
20 </conditional> <!-- refGenomeSource -->
|
|
21 <param name="map_mismatch" type="boolean" truevalue="-q" falsevalue="" checked="false" label="Map with one mismatch in the seed (mapping takes longer)" help="(-q)"/>
|
|
22 <param name="map_threshold" value="5" type="integer" optional="false" label="A read is allowed to map up to this number of positions in the genome" help="Map threshold. (-r)">
|
|
23 <validator type="in_range" min="1" message="Minimum value is 1"/>
|
|
24 </param>
|
|
25 </macro>
|
|
26 </macros>
|
|
27 <description>
|
|
28 <![CDATA[
|
|
29 process and map reads to a reference genome
|
|
30 ]]>
|
|
31 </description>
|
|
32 <requirements>
|
|
33 <requirement type="package" version="2.0">mirdeep2_mapper</requirement>
|
|
34 <requirement type="package" version="0.12.7">bowtie</requirement>
|
|
35 <requirement type="package" version="5.18.1">perl</requirement>
|
|
36 </requirements>
|
|
37
|
|
38 <command>
|
|
39 <![CDATA[
|
|
40
|
|
41 #if $operation.collapse_map == "collapse_and_map" or $operation.collapse_map == "only_map"
|
|
42 #if $operation.refGenomeSource.genomeSource == "history"
|
|
43 bowtie-build $operation.refGenomeSource.ownFile custom_bowtie_indices &&
|
|
44 #end if
|
|
45 #end if
|
|
46 mapper.pl
|
|
47
|
|
48 $reads
|
|
49
|
|
50 #if $reads.extension.startswith("fasta")
|
|
51 -c
|
|
52 #else if $reads.extension.startswith("fastq")
|
|
53 -e -h
|
|
54 #end if
|
|
55
|
|
56 $remove_non_canon
|
|
57
|
|
58 $convert_rna_dna
|
|
59
|
|
60 #if $clip_adapter.clip == "true"
|
|
61 -k $clip_adapter.adapter_seq
|
|
62 #end if
|
|
63
|
|
64 -l $discard_short_reads
|
|
65
|
|
66 #if $operation.collapse_map == "collapse_and_map" or $operation.collapse_map == "only_collapse"
|
|
67 -m -s $output_reads_collapsed
|
|
68 #end if
|
|
69
|
|
70 #if $operation.collapse_map == "collapse_and_map" or $operation.collapse_map == "only_map"
|
|
71 -p
|
|
72
|
|
73 #if $operation.refGenomeSource.genomeSource == "history"
|
|
74 custom_bowtie_indices
|
|
75 #else
|
|
76 $index
|
|
77 #end if
|
|
78
|
|
79 $operation.map_mismatch
|
|
80
|
|
81 -r $operation.map_threshold
|
|
82
|
|
83 -t $output_mapping
|
|
84 #end if
|
|
85
|
|
86 -v -n
|
|
87 ]]>
|
|
88 </command>
|
|
89 <stdio>
|
|
90 <!-- Anything other than zero is an error -->
|
|
91 <exit_code range="1:" />
|
|
92 <exit_code range=":-1" />
|
|
93 <!-- In case the return code has not been set propery check stderr too -->
|
|
94 <regex match="Error:" />
|
|
95 <regex match="Exception:" />
|
|
96 </stdio>
|
|
97 <inputs>
|
|
98 <param format="fastq, fasta" name="reads" type="data" optional="false" label="Deep sequencing reads" help="Reads in fastq or fasta format"/>
|
|
99 <param name="remove_non_canon" type="boolean" truevalue="-j" falsevalue="" checked="false" label="Remove reads with non-standard nucleotides" help="Remove all entries that have a sequence that contains letters other than a,c,g,t,u,n,A,C,G,T,U,N. (-j)"/>
|
|
100 <param name="convert_rna_dna" type="boolean" truevalue="-i" falsevalue="" checked="false" label="Convert RNA to DNA alphabet (to map against genome)" help="(-i)"/>
|
|
101
|
|
102 <conditional name="clip_adapter">
|
|
103 <param name="clip" type="select" label="Clip 3' Adapter Sequence" help="(-k)">
|
|
104 <option value="false">Don't Clip</option>
|
|
105 <option value="true">Clip Sequence</option>
|
|
106 </param>
|
|
107 <when value="true">
|
|
108 <param name="adapter_seq" value="" type="text" optional="false" label="Sequence to clip" help="Adapter Sequence can only contain a,c,g,t,u,n,A,C,G,T,U,N">
|
|
109 <validator type="regex" message="Adapter can ONLY contain a,c,g,t,u,n,A,C,G,T,U,N">^[ACGTUacgtu]+$</validator>
|
|
110 </param>
|
|
111 </when>
|
|
112 <when value="false"/>
|
|
113 </conditional>
|
|
114
|
|
115 <param name="discard_short_reads" value="18" type="integer" optional="false" label="Discard reads shorter than this length" help="Set to 0 to keep all reads. (-l)">
|
|
116 <validator type="in_range" min="0" message="Minimum value is 0"/>
|
|
117 </param>
|
|
118
|
|
119 <conditional name="operation">
|
|
120 <param name="collapse_map" type="select" label="Collapse reads and/or Map" help="(-m) and/or (-p)">
|
|
121 <option value="collapse_and_map">Collapse reads and Map</option>
|
|
122 <option value="only_map">Map</option>
|
|
123 <option value="only_collapse">Collapse</option>
|
|
124 </param>
|
|
125 <when value="collapse_and_map">
|
|
126 <expand macro="map_params"/>
|
|
127 </when>
|
|
128 <when value="only_map">
|
|
129 <expand macro="map_params"/>
|
|
130 </when>
|
|
131 <when value="only_collapse"/>
|
|
132 </conditional>
|
|
133 </inputs>
|
|
134 <outputs>
|
|
135 <data format="fasta" name="output_reads_collapsed" label="Collapsed reads of ${tool.name} on ${on_string}">
|
|
136 <filter>
|
|
137 (
|
|
138 operation['collapse_map'] == "collapse_and_map" or
|
|
139 operation['collapse_map'] == "only_collapse"
|
|
140 )
|
|
141 </filter>
|
|
142 </data>
|
|
143 <data format="tabular" name="output_mapping" label="Mapping output of ${tool.name} on ${on_string} in ARF format">
|
|
144 <filter>
|
|
145 (
|
|
146 operation['collapse_map'] == "collapse_and_map" or
|
|
147 operation['collapse_map'] == "only_map"
|
|
148 )
|
|
149 </filter>
|
|
150 </data>
|
|
151 </outputs>
|
|
152 <tests>
|
|
153 <test>
|
|
154 <param name="reads" value="reads.fa"/>
|
|
155 <param name="remove_non_canon" value="True"/>
|
|
156 <param name="clip" value="true"/>
|
|
157 <param name="adapter_seq" value="TCGTATGCCGTCTTCTGCTTGT"/>
|
|
158 <param name="discard_short_reads" value="18"/>
|
|
159 <param name="collapse_map" value="collapse_and_map"/>
|
|
160 <param name="genomeSource" value="history"/>
|
|
161 <param name="ownFile" value="cel_cluster.fa"/>
|
|
162 <output name="output_reads_collapsed">
|
|
163 <assert_contents>
|
|
164 <has_text text=">seq_349713_x268"/>
|
|
165 <has_text text="TCACCGGGTGTANATCAGCTAA"/>
|
|
166 <has_text text=">seq_354255_x214"/>
|
|
167 <has_text text="TAACCGGGTGAACACTTGCAGT"/>
|
|
168 <has_text text=">seq_357284_x187"/>
|
|
169 </assert_contents>
|
|
170 </output>
|
|
171 <output name="output_mapping">
|
|
172 <assert_contents>
|
|
173 <has_line_matching expression="^.*22\t1\t22\ttcaccgggtggaaactagcagt\tchrII:11534525-11540624\t22\t3060\t3081.*$"/>
|
|
174 <has_line_matching expression="^.*22\t1\t22\ttcaccgggtggaaactagtagt\tchrII:11534525-11540624\t22\t3060\t3081.*$"/>
|
|
175 <has_line_matching expression="^.*22\t1\t22\ttcaccgggtgtacatcagcgaa\tchrII:11534525-11540624\t22\t3631\t3652.*$"/>
|
|
176 <has_line_matching expression="^.*22\t1\t22\ttcaccgggagaaaaactggtgt\tchrII:11534525-11540624\t22\t3382\t3403.*$"/>
|
|
177 <has_line_matching expression="^.*25\t1\t25\ttcaccgggtggaaactagcagtggc\tchrII:11534525-11540624\t25\t3060\t3084.*$"/>
|
|
178 </assert_contents>
|
|
179 </output>
|
|
180 </test>
|
|
181 </tests>
|
|
182 <help>
|
|
183 <![CDATA[
|
|
184 **What MiRDeep2 Mapper does**
|
|
185
|
|
186 The mapper module is designed as a tool to process deep sequencing reads and/or map them to the reference genome.
|
|
187 The module works in sequence space, and can process or map data that is in sequence fasta format.
|
|
188 A number of the functions of the mapper module are implemented specifically with Solexa/Illumina data in mind.
|
|
189
|
|
190 **Example**
|
|
191
|
|
192 Processing reads and mapping them to a genome.
|
|
193
|
|
194 The -c option designates that the input file is a fasta file. The -j options removes entries with
|
|
195 non-canonical letters (letters other than a,c,g,t,u,n,A,C,G,T,U,N). The -k option clips adapters. The -l option discards reads shorter than 18 nts.
|
|
196 The -m option collapses the reads. The -p option maps the processed reads against the previously indexed genome (cel_cluster). The -s option
|
|
197 designates the name of the output file of processed reads and the -t option designates the name of the output file of the genome mappings. Last,
|
|
198 -v gives verbose output to the screen.
|
|
199
|
|
200 ``mapper.pl reads.fa -c -j -k TCGTATGCCGTCTTCTGCTTGT -l 18 -m -p cel_cluster -s reads_collapsed.fa -t reads_collapsed_vs_genome.arf -v``
|
|
201
|
|
202 ]]>
|
|
203 </help>
|
|
204 <citations>
|
|
205 <citation type="doi">10.1093/nar/gkr688</citation>
|
|
206 <citation type="doi">10.1002/0471250953.bi1210s36</citation>
|
|
207 </citations>
|
|
208 </tool>
|