Mercurial > repos > iuc > circexplorer2
comparison circexplorer2.xml @ 0:581c89681b37 draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circexplorer2 commit fe03991cd7c43f5266314d1fb9e4108f1ab102e8
| author | iuc |
|---|---|
| date | Fri, 26 Aug 2022 22:42:55 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:581c89681b37 |
|---|---|
| 1 <tool id="circexplorer2" name="CIRCexplorer2" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.05"> | |
| 2 <description>circular RNA analysis</description> | |
| 3 <macros> | |
| 4 <import>macros.xml</import> | |
| 5 </macros> | |
| 6 <expand macro="requirements" /> | |
| 7 <expand macro='xrefs'/> | |
| 8 <command detect_errors="exit_code"><![CDATA[ | |
| 9 #if $mode.selector == 'align' | |
| 10 mkdir -p reads && | |
| 11 #set file_paths = [] | |
| 12 #for $i,$input_file in enumerate($mode.fastq) | |
| 13 #set $fname = 'file' + str($i) + "." + $input_file.ext | |
| 14 #set $file_path = 'reads/' + $fname | |
| 15 ln -s '$input_file' '$file_path' && | |
| 16 $file_paths.append($file_path) | |
| 17 #end for | |
| 18 CIRCexplorer2 align | |
| 19 @threads@ | |
| 20 --gtf '$mode.gtf' | |
| 21 -g '$mode.genome' | |
| 22 --fastq #echo ','.join($file_paths)# | |
| 23 $mode.bw | |
| 24 $mode.scale | |
| 25 $mode.skip_tophat | |
| 26 $mode.skip_tophat_fusion | |
| 27 && tar -zcvf alignment.tgz './alignment' | |
| 28 #else if $mode.selector == 'parse' | |
| 29 CIRCexplorer2 parse | |
| 30 -t $mode.aligner.selector | |
| 31 $mode.aligner.fusion_file | |
| 32 #if $mode.aligner.selector == 'TopHat-Fusion' | |
| 33 $mode.aligner.pe | |
| 34 #end if | |
| 35 $mode.aligner.f | |
| 36 #else if $mode.selector == 'annotate' | |
| 37 ln -s $mode.genome reference_genome.fa && | |
| 38 CIRCexplorer2 annotate | |
| 39 -r $mode.ref | |
| 40 -g reference_genome.fa | |
| 41 -b $mode.bed | |
| 42 $mode.no_fix | |
| 43 $mode.low_confidence | |
| 44 #else if $mode.selector == 'assemble' | |
| 45 tar -zxf $mode.tophat && | |
| 46 CIRCexplorer2 assemble | |
| 47 @threads@ | |
| 48 -r $mode.ref | |
| 49 -m ./alignment | |
| 50 $mode.remove_rRNA | |
| 51 && tar -zcvf assemble.tgz './assemble' | |
| 52 #else | |
| 53 ln -s '$mode.genome' reference_genome.fa && | |
| 54 #if $mode.assemble_file.ext.endswith(".gz") | |
| 55 tar -zxf $mode.assemble_file && | |
| 56 #else | |
| 57 tar -xf $mode.assemble_file && | |
| 58 #end if | |
| 59 #if $mode.as_option.selector == 'enabled' | |
| 60 tar -zxf $mode.as_option.tophat && | |
| 61 #end if | |
| 62 CIRCexplorer2 denovo | |
| 63 -d ./assemble | |
| 64 -r $mode.ref | |
| 65 -b $mode.bed | |
| 66 -g reference_genome.fa | |
| 67 #if $mode.abs | |
| 68 --abs 'abs' | |
| 69 #end if | |
| 70 #if $mode.as_option.selector == 'enabled' | |
| 71 --as 'as' | |
| 72 $mode.as_option.type_mapping './alignment' | |
| 73 #end if | |
| 74 $mode.no_fix | |
| 75 $mode.rpkm | |
| 76 #end if | |
| 77 ]]></command> | |
| 78 <inputs> | |
| 79 <conditional name="mode"> | |
| 80 <param name="selector" type="select" | |
| 81 label="Tool module" help="CIRCexplorer2 contains 5 modules. Each module | |
| 82 functions as an independent component owning its distinctive duty. | |
| 83 Meanwhile, they inteact with each other, and different circular RNA | |
| 84 analysis pipelines are derived from different combinations of several | |
| 85 modules."> | |
| 86 <option value="align">Align: Map circular RNA junction reads with TopHat2/TopHat-Fusion</option> | |
| 87 <option value="parse">Parse: Parse fusion junction information from other aligners</option> | |
| 88 <option value="annotate">Annotate: Annotate circular RNA junction reads with gene annotations</option> | |
| 89 <option value="assemble">Assemble: Assemble transcriptome for circular RNAs</option> | |
| 90 <option value="denovo">De novo: Fetch de novo circular RNA isoforms</option> | |
| 91 </param> | |
| 92 <when value="align"> | |
| 93 <param argument="--gtf" type="data" format="gtf" label="Annotation GTF file" /> | |
| 94 <expand macro="genome_file"/> | |
| 95 <param argument="--fastq" type="data" format="fastq,fastqsanger,fastq.gz,fastqsanger.gz" multiple="true" label="RNA-seq FASTQ file(s)" | |
| 96 help="Only single-read RNA-seq is supported. It is recommended to convert paired-end RNA-seq to single-read RNA-seq before alignment"/> | |
| 97 <param argument="--bw" type="boolean" truevalue="--bw" falsevalue="" checked="false" | |
| 98 label="Create BigWig file" help=" It will not consider strand information of read alignment"/> | |
| 99 <param argument="--scale" type="boolean" truevalue="--scale" falsevalue="" checked="false" | |
| 100 label="Scale BigWig to HPB" help="Expression levels will be scaled to hits per billion-mapped-bases (HPB)" /> | |
| 101 <param argument="--skip-tophat" type="boolean" truevalue="--skip-tophat" falsevalue="" checked="false" | |
| 102 label="Skip TopHat mapping" help="CIRexplorer2 aligns reads onto genome and transcriptome using TopHat2 to | |
| 103 reduce false positive reads aligned in the TopHat-Fusion alignment step" /> | |
| 104 <param argument="--skip-tophat-fusion" type="boolean" truevalue="--skip-tophat-fusion" falsevalue="" checked="false" | |
| 105 label="Skip TopHat fusion" help="It is useful for poly(A)+ RNA-seq" /> | |
| 106 </when> | |
| 107 <when value="parse"> | |
| 108 <conditional name="aligner"> | |
| 109 <param argument="-t" name="selector" type="select" label="Aligner" | |
| 110 help="CIRCexplorer2 parse could accept results derived from TopHat-Fusion, | |
| 111 STAR, MapSplice, BWA and segemehl."> | |
| 112 <option value="TopHat-Fusion">TopHat-Fusion</option> | |
| 113 <option value="STAR">STAR</option> | |
| 114 <option value="MapSplice">MapSplice</option> | |
| 115 <option value="BWA">BWA</option> | |
| 116 <option value="segemehl">segemehl</option> | |
| 117 </param> | |
| 118 <when value="TopHat-Fusion"> | |
| 119 <expand macro="parse_fusion" format="bam" label="TopHat-Fusion file" | |
| 120 help="The required input file is accepted_hits.bam"/> | |
| 121 <expand macro="parse_statistics"/> | |
| 122 <param argument="--pe" type="boolean" truevalue="--pe" falsevalue="" checked="false" label="Paired-end aligner file" | |
| 123 help="Parse paired-end alignment file. If this is set, then -f is set automatically." /> | |
| 124 </when> | |
| 125 <when value="STAR"> | |
| 126 <expand macro="parse_fusion" format="interval,tabular" label="STAR fusion file" | |
| 127 help="The required input file is Chimeric.out.junction"/> | |
| 128 <expand macro="parse_statistics"/> | |
| 129 </when> | |
| 130 <when value="MapSplice"> | |
| 131 <expand macro="parse_fusion" format="txt" label="MapSplice fusion file" | |
| 132 help="The required input file is fusions_raw.txt"/> | |
| 133 <expand macro="parse_statistics"/> | |
| 134 </when> | |
| 135 <when value="BWA"> | |
| 136 <expand macro="parse_fusion" format="sam" label="BWA fusion file" | |
| 137 help="The required input file is the output sam file"/> | |
| 138 <expand macro="parse_statistics"/> | |
| 139 </when> | |
| 140 <when value="segemehl"> | |
| 141 <expand macro="parse_fusion" format="bed" label="segemehl fusion file" | |
| 142 help="The required input file is splicesites.bed"/> | |
| 143 <expand macro="parse_statistics"/> | |
| 144 </when> | |
| 145 </conditional> | |
| 146 </when> | |
| 147 <when value="annotate"> | |
| 148 <expand macro="annotation_file"/> | |
| 149 <expand macro="genome_file"/> | |
| 150 <expand macro="junction_file"/> | |
| 151 <param argument="--no-fix" type="boolean" truevalue="--no-fix" falsevalue="" checked="false" label="No fix mode" | |
| 152 help="When enabled, realignment step of fusion junction reads will be skipped. It is useful for species with | |
| 153 poor gene annotations, but the accuracy of circular RNA prediction would decrease." /> | |
| 154 <param argument="--low-confidence" type="boolean" truevalue="--low-confidence" falsevalue="" checked="false" label="Low confidence" | |
| 155 help="By default, it extracts fusion junction reads exactly matching the boundaries of exons of the same isoform by default. | |
| 156 If you set the --low-confidence, it will also extract fusion junction reads matching the boundaries of exons of the different | |
| 157 isofoms of the same gene" /> | |
| 158 </when> | |
| 159 <when value="assemble"> | |
| 160 <expand macro="annotation_file"/> | |
| 161 <expand macro="tophat_file"/> | |
| 162 <param argument="--remove-rRNA" type="boolean" truevalue="--remove-rRNA" falsevalue="" checked="false" | |
| 163 label="Remove rRNA" help="Ignore rRNA during assembling (only for human hg19)" /> | |
| 164 </when> | |
| 165 <when value="denovo"> | |
| 166 <expand macro="annotation_file"/> | |
| 167 <expand macro="junction_file"/> | |
| 168 <expand macro="genome_file"/> | |
| 169 <param name="assemble_file" type="data" format="tgz,tar" label="Assemble file" | |
| 170 help="Generated by the module CIRCexplorer2 assemble" /> | |
| 171 <param argument="--abs" type="boolean" truevalue="--abs" falsevalue="" checked="false" | |
| 172 label="Detect alternative back-splicing" help="When set, it will characterize the | |
| 173 alternative back-splicing of circular RNAs" /> | |
| 174 <conditional name="as_option"> | |
| 175 <param name="selector" type="select" label="Characterize alternative splicing of cirRNAs" | |
| 176 help="If enabled, it will characterize the alternative splicing of circular RNAs, including | |
| 177 cassette exons, retained introns, A5SS and A3SS"> | |
| 178 <option value="disabled">Disabled</option> | |
| 179 <option value="enabled">Enabled</option> | |
| 180 </param> | |
| 181 <when value="disabled"/> | |
| 182 <when value="enabled"> | |
| 183 <expand macro="tophat_file"/> | |
| 184 <param name="type_mapping" type="select" label="Type of mapping" | |
| 185 help="In this mode, you should also offer the path of TopHat mapping directory for | |
| 186 p(A)-/p(A)+ RNA-seq via -m/-n option"> | |
| 187 <option value="-m">p(A)-</option> | |
| 188 <option value="-n">p(A)+ RNA-seq</option> | |
| 189 </param> | |
| 190 </when> | |
| 191 </conditional> | |
| 192 <param argument="--no-fix" type="boolean" truevalue="--no-fix" falsevalue="" checked="false" label="No-fix mode" | |
| 193 help="If enabled, realignment step of fusion junction reads will be skipped. It is useful for species with | |
| 194 poor gene annotations, but the accuracy of circular RNA prediction would decrease." /> | |
| 195 <param argument="--rpkm" type="boolean" truevalue="--rpkm" falsevalue="" checked="false" label="Calculate RPKM for cassete exons" | |
| 196 help="If enabled, RPKM of cassette exons would be calculated" /> | |
| 197 </when> | |
| 198 </conditional> | |
| 199 </inputs> | |
| 200 <outputs> | |
| 201 <data name="alignment" format="tgz" from_work_dir="alignment.tgz" label="${tool.name} on ${on_string}: alignment file "> | |
| 202 <filter>mode['selector'] == 'align'</filter> | |
| 203 </data> | |
| 204 <data name="fusion_junction_bw" format="bigwig" from_work_dir="./alignment/tophat/accepted_hits.bw" label="${tool.name} on ${on_string}: BigWig"> | |
| 205 <filter>mode['selector'] == 'align'</filter> | |
| 206 <filter>mode['bw']</filter> | |
| 207 </data> | |
| 208 <data name="parse" format="bed" from_work_dir="back_spliced_junction.bed" label="${tool.name} on ${on_string}: back spliced junction (BED)"> | |
| 209 <filter>mode['selector'] == 'parse'</filter> | |
| 210 </data> | |
| 211 <data name="annotate" format="tabular" from_work_dir="circularRNA_known.txt" label="${tool.name} on ${on_string}: circRNA known"> | |
| 212 <filter>mode['selector'] == 'annotate'</filter> | |
| 213 </data> | |
| 214 <data name="annotate_low" format="tabular" from_work_dir="low_conf_circularRNA_known.txt" label="${tool.name} on ${on_string}: Low confidence circRNA"> | |
| 215 <filter>mode['selector'] == 'annotate'</filter> | |
| 216 <filter>mode['low_confidence']</filter> | |
| 217 </data> | |
| 218 <data name="assemble" format="tgz" from_work_dir="assemble.tgz" label="${tool.name} on ${on_string}: assemble file"> | |
| 219 <filter>mode['selector'] == 'assemble'</filter> | |
| 220 </data> | |
| 221 <data name="denovo_combined" format="tabular" from_work_dir="./denovo/combined_ref.txt" label="${tool.name} on ${on_string}: combined ref"> | |
| 222 <filter>mode['selector'] == 'denovo'</filter> | |
| 223 </data> | |
| 224 <data name="denovo_circularRNA" format="tabular" from_work_dir="./denovo/circularRNA_full.txt" label="${tool.name} on ${on_string}: circRNA full"> | |
| 225 <filter>mode['selector'] == 'denovo'</filter> | |
| 226 </data> | |
| 227 <data name="denovo_annotated" format="tabular" from_work_dir="./denovo/annotated_circ.txt" label="${tool.name} on ${on_string}: annotated circRNA"> | |
| 228 <filter>mode['selector'] == 'denovo'</filter> | |
| 229 </data> | |
| 230 <data name="denovo_novel" format="tabular" from_work_dir="./denovo/novel_circ.txt" label="${tool.name} on ${on_string}: novel circRNA"> | |
| 231 <filter>mode['selector'] == 'denovo'</filter> | |
| 232 </data> | |
| 233 <data name="denovo_abs5" format="tabular" from_work_dir="./abs/a5bs.txt" label="${tool.name} on ${on_string}: a5bs"> | |
| 234 <filter>mode['selector'] == 'denovo'</filter> | |
| 235 <filter>mode['abs']</filter> | |
| 236 </data> | |
| 237 <data name="denovo_abs3" format="tabular" from_work_dir="./abs/a3bs.txt" label="${tool.name} on ${on_string}: a3bs"> | |
| 238 <filter>mode['selector'] == 'denovo'</filter> | |
| 239 <filter>mode['abs']</filter> | |
| 240 </data> | |
| 241 <data name="denovo_all_exon" format="tabular" from_work_dir="./as/all_exon_info.txt" label="${tool.name} on ${on_string}: all exon info"> | |
| 242 <filter>mode['selector'] == 'denovo'</filter> | |
| 243 <filter>mode['as_option'] == 'enabled'</filter> | |
| 244 </data> | |
| 245 <data name="denovo_all_intron" format="tabular" from_work_dir="./as/all_intron_info.txt" label="${tool.name} on ${on_string}: all intron info"> | |
| 246 <filter>mode['selector'] == 'denovo'</filter> | |
| 247 <filter>mode['as_option'] == 'enabled'</filter> | |
| 248 </data> | |
| 249 <data name="denovo_a5ss" format="tabular" from_work_dir="./as/all_A5SS_info.txt" label="${tool.name} on ${on_string}: all A5SS info"> | |
| 250 <filter>mode['selector'] == 'denovo'</filter> | |
| 251 <filter>mode['as_option'] == 'enabled'</filter> | |
| 252 </data> | |
| 253 <data name="denovo_a3ss" format="tabular" from_work_dir="./as/all_A3SS_info.txt" label="${tool.name} on ${on_string}: all A3SS info"> | |
| 254 <filter>mode['selector'] == 'denovo'</filter> | |
| 255 <filter>mode['as_option'] == 'enabled'</filter> | |
| 256 </data> | |
| 257 </outputs> | |
| 258 <tests> | |
| 259 <test expect_num_outputs="1"> | |
| 260 <!--Test 01: Module align default options--> | |
| 261 <conditional name="mode"> | |
| 262 <param name="selector" value="align"/> | |
| 263 <param name="gtf" value="annotation_01.gtf"/> | |
| 264 <param name="genome" value="reference_01.fa"/> | |
| 265 <param name="fastq" value="reads_01.fastq,reads_02.fastq,reads_03.fastq"/> | |
| 266 <param name="skip_tophat_fusion" value="true"/> | |
| 267 </conditional> | |
| 268 <output name="alignment"> | |
| 269 <assert_contents> | |
| 270 <has_size value="3426053" delta="5000"/> | |
| 271 </assert_contents> | |
| 272 </output> | |
| 273 </test> | |
| 274 <test expect_num_outputs="2"> | |
| 275 <!--Test 02: Module align compressed files--> | |
| 276 <conditional name="mode"> | |
| 277 <param name="selector" value="align"/> | |
| 278 <param name="gtf" value="annotation_01.gtf"/> | |
| 279 <param name="genome" value="reference_01.fa"/> | |
| 280 <param name="fastq" value="reads_01.fastq.gz,reads_02.fastq.gz,reads_03.fastq.gz"/> | |
| 281 <param name="skip_tophat_fusion" value="true"/> | |
| 282 <param name="bw" value="true"/> | |
| 283 <param name="scale" value="true"/> | |
| 284 </conditional> | |
| 285 <output name="alignment"> | |
| 286 <assert_contents> | |
| 287 <has_size value="3435977" delta="5000"/> | |
| 288 </assert_contents> | |
| 289 </output> | |
| 290 <output name="fusion_junction_bw" value="test_02.bigwig" ftype="bigwig"/> | |
| 291 </test> | |
| 292 <test expect_num_outputs="1"> | |
| 293 <!--Test 03: Module parse--> | |
| 294 <conditional name="mode"> | |
| 295 <param name="selector" value="parse"/> | |
| 296 <conditional name="aligner"> | |
| 297 <param name="selector" value="MapSplice"/> | |
| 298 <param name="fusion_file" value="mapsplice_chimeric.junction"/> | |
| 299 </conditional> | |
| 300 </conditional> | |
| 301 <output name="parse" value="test_03.bed" ftype="bed"/> | |
| 302 </test> | |
| 303 <test expect_num_outputs="1"> | |
| 304 <!--Test 04: Module parse STAR--> | |
| 305 <conditional name="mode"> | |
| 306 <param name="selector" value="parse"/> | |
| 307 <conditional name="aligner"> | |
| 308 <param name="selector" value="STAR"/> | |
| 309 <param name="fusion_file" value="STAR_chimeric.junction"/> | |
| 310 <param name="f" value="true"/> | |
| 311 </conditional> | |
| 312 </conditional> | |
| 313 <output name="parse" value="test_04.bed" ftype="bed"/> | |
| 314 </test> | |
| 315 <test expect_num_outputs="1"> | |
| 316 <!--Test 05: Module annotate--> | |
| 317 <conditional name="mode"> | |
| 318 <param name="selector" value="annotate"/> | |
| 319 <param name="ref" value="annotation_02.txt"/> | |
| 320 <param name="genome" value="reference_02.fa"/> | |
| 321 <param name="bed" value="test_04.bed"/> | |
| 322 </conditional> | |
| 323 <output name="annotate" value="test_05.tabular" ftype="tabular"/> | |
| 324 </test> | |
| 325 <test expect_num_outputs="2"> | |
| 326 <!--Test 06: Module annotate--> | |
| 327 <conditional name="mode"> | |
| 328 <param name="selector" value="annotate"/> | |
| 329 <param name="ref" value="annotation_02.txt"/> | |
| 330 <param name="genome" value="reference_02.fa"/> | |
| 331 <param name="bed" value="test_04.bed"/> | |
| 332 <param name="no_fix" value="true"/> | |
| 333 <param name="low_confidence" value="true"/> | |
| 334 </conditional> | |
| 335 <output name="annotate" value="test_06.tabular" ftype="tabular"/> | |
| 336 </test> | |
| 337 <test expect_num_outputs="4"> | |
| 338 <!--Test 07: Module de novo--> | |
| 339 <conditional name="mode"> | |
| 340 <param name="selector" value="denovo"/> | |
| 341 <param name="ref" value="annotation_02.txt"/> | |
| 342 <param name="bed" value="test_04.bed"/> | |
| 343 <param name="genome" value="reference_02.fa"/> | |
| 344 <param name="assemble_file" value="assemble.tgz"/> | |
| 345 </conditional> | |
| 346 <output name="denovo_combined" value="test_07_combined.txt" ftype="tabular"/> | |
| 347 <output name="denovo_circularRNA" value="test_07_full.txt" ftype="tabular"/> | |
| 348 <output name="denovo_annotated" value="test_07_annotated.txt" ftype="tabular"/> | |
| 349 <output name="denovo_novel" value="test_07_novel.txt" ftype="tabular"/> | |
| 350 </test> | |
| 351 <test expect_num_outputs="6"> | |
| 352 <!--Test 08: Module de novo additional options--> | |
| 353 <conditional name="mode"> | |
| 354 <param name="selector" value="denovo"/> | |
| 355 <param name="ref" value="annotation_02.txt"/> | |
| 356 <param name="bed" value="test_04.bed"/> | |
| 357 <param name="genome" value="reference_02.fa"/> | |
| 358 <param name="assemble_file" value="assemble.tgz"/> | |
| 359 <param name="abs" value="true"/> | |
| 360 <param name="no_fix" value="true"/> | |
| 361 <param name="rpkm" value="true"/> | |
| 362 </conditional> | |
| 363 <output name="denovo_combined" value="test_08_combined.txt" ftype="tabular"/> | |
| 364 <output name="denovo_circularRNA" value="test_08_full.txt" ftype="tabular"/> | |
| 365 <output name="denovo_annotated" value="test_08_annotated.txt" ftype="tabular"/> | |
| 366 <output name="denovo_novel" value="test_08_novel.txt" ftype="tabular"/> | |
| 367 <output name="denovo_abs5" value="test_08_a5bs.txt" ftype="tabular"/> | |
| 368 <output name="denovo_abs3" value="test_08_a3bs.txt" ftype="tabular"/> | |
| 369 </test> | |
| 370 </tests> | |
| 371 <help><![CDATA[ | |
| 372 | |
| 373 .. class:: infomark | |
| 374 | |
| 375 **Purpose** | |
| 376 | |
| 377 CIRCexplorer2 is a comprehensive and integrative circular RNA analysis toolset. It is the successor | |
| 378 of CIRCexplorer with plenty of new features to facilitate circular RNA identification and characterization. | |
| 379 | |
| 380 ------------------- | |
| 381 | |
| 382 .. class:: infomark | |
| 383 | |
| 384 **Features** | |
| 385 | |
| 386 * Precisely annotate circular RNAs (Annotate) | |
| 387 * Support multiple circular RNA aligners (TopHat2/TopHat-Fusion, STAR, MapSplice, BWA and segemehl) (Align and Parse) | |
| 388 * De novo assemble novel circular RNA transcripts (Assemble) | |
| 389 * Characterize various of alternative (back-)splicing events of circular RNAs (Denovo) | |
| 390 * Fast identify circuar RNAs with STAR or BWA (Parse) | |
| 391 * Support both single-read and paired-end sequencing. | |
| 392 | |
| 393 ------------------- | |
| 394 | |
| 395 .. class:: infomark | |
| 396 | |
| 397 **Modules** | |
| 398 | |
| 399 CIRCexplorer2 contains 5 modules. Each module functions as an independent component owning its distinctive duty. | |
| 400 Meanwhile, they inteact with each other, and different circular RNA analysis pipelines are derived from different | |
| 401 combinations of several modules. Understanding the detailed mechanism of each module could facilitate your circular | |
| 402 RNA research. | |
| 403 | |
| 404 CIRCexplorer2 documentation is available from `here <http://circexplorer2.readthedocs.org/>`_, including installation instructions and tutorial. | |
| 405 | |
| 406 ]]></help> | |
| 407 <expand macro="citations" /> | |
| 408 </tool> |
