38
|
1 <tool id="rseqc_bam2wig" name="BAM to Wiggle" version="1.1">
|
|
2 <description>
|
|
3 converts all types of RNA-seq data from .bam to .wig
|
|
4 </description>
|
|
5 <requirements>
|
|
6 <requirement type="package" version="3.0.1">R</requirement>
|
|
7 <requirement type="package" version="1.7.1">numpy</requirement>
|
|
8 <requirement type="package" version="2.3.7">rseqc</requirement>
|
|
9 </requirements>
|
|
10 <command>
|
|
11 tmp_input_name=\$(mktemp -u);
|
|
12 bai='.bai';
|
|
13
|
|
14 ln -s "${input}" \$tmp_input_name &&
|
|
15 ln -s "${input.metadata.bam_index}" \$tmp_input_name\$bai &&
|
|
16 bam2wig.py -i \$tmp_input_name -s $chromsize -o outfile
|
|
17
|
|
18 #if str($strand_type.strand_specific) == "pair"
|
|
19 -d
|
|
20 #if str($strand_type.pair_type) == "sd"
|
|
21 '1++,1--,2+-,2-+'
|
|
22 #else
|
|
23 '1+-,1-+,2++,2--'
|
|
24 #end if
|
|
25 #end if
|
|
26
|
|
27 #if str($strand_type.strand_specific) == "single"
|
|
28 -d
|
|
29 #if str($strand_type.single_type) == "s"
|
|
30 '++,--'
|
|
31 #else
|
|
32 '+-,-+'
|
|
33 #end if
|
|
34 #end if
|
|
35
|
|
36 #if $wigsum.wigsum_type
|
|
37 -t $wigsum.totalwig
|
|
38 #end if
|
|
39
|
|
40 #if $skipmultihits
|
|
41 -u
|
|
42 #end if
|
|
43 ;
|
|
44 rm "\$tmp_input_name\$bai";
|
|
45 rm \$tmp_input_name
|
|
46 </command>
|
|
47 <inputs>
|
|
48 <param name="input" type="data" label="Input .bam File" format="bam" />
|
|
49 <param name="chromsize" type="data" label="Chromosome size file (tab or space separated)" format="txt,tabular" />
|
|
50 <param name="skipmultihits" type="boolean" label="Skip Multiple Hit Reads/Only Use Uniquely Mapped Reads" value="false" />
|
|
51 <conditional name="wigsum">
|
|
52 <param name="wigsum_type" type="boolean" label="Specify wigsum?" value="false">
|
|
53 </param>
|
|
54 <when value="true">
|
|
55 <param name="totalwig" value="0" type="integer" label="specified wigsum" />
|
|
56 </when>
|
|
57 <when value="false"/>
|
|
58 </conditional>
|
|
59 <conditional name="strand_type">
|
|
60 <param name="strand_specific" type="select" label="Strand-specific?" value="none">
|
|
61 <option value="none">none</option>
|
|
62 <option value="pair">Pair-End RNA-seq</option>
|
|
63 <option value="single">Single-End RNA-seq</option>
|
|
64 </param>
|
|
65 <when value="pair">
|
|
66 <param name="pair_type" type="select" display="radio" label="Pair-End Read Type (format: mapped --> parent)" value="sd">
|
|
67 <option value="sd"> read1 (positive --> positive; negative --> negative), read2 (positive --> negative; negative --> positive)</option>
|
|
68 <option value="ds">read1 (positive --> negative; negative --> positive), read2 (positive --> positive; negative --> negative)</option>
|
|
69 </param>
|
|
70 </when>
|
|
71 <when value="single">
|
|
72 <param name="single_type" type="select" display="radio" label="Single-End Read Type (format: mapped --> parent)" value="s">
|
|
73 <option value="s">positive --> positive; negative --> negative</option>
|
|
74 <option value="d">positive --> negative; negative --> positive</option>
|
|
75 </param>
|
|
76 </when>
|
|
77 <when value="none"></when>
|
|
78 </conditional>
|
|
79 </inputs>
|
|
80 <outputs>
|
|
81 <data format="wig" name="output" from_work_dir="outfile.wig">
|
|
82 <filter>strand_type['strand_specific'] == 'none'</filter>
|
|
83 </data>
|
|
84 <data format="wig" name="outputfwd" from_work_dir="outfile_Forward.wig" label="${tool.name} on ${on_string} (Forward Reads)">
|
|
85 <filter>strand_type['strand_specific'] != 'none'</filter>
|
|
86 </data>
|
|
87 <data format="wig" name="outputrv" from_work_dir="outfile_Reverse.wig" label="${tool.name} on ${on_string} (Reverse Reads)">
|
|
88 <filter>strand_type['strand_specific'] != 'none'</filter>
|
|
89 </data>
|
|
90 </outputs>
|
|
91 <stdio>
|
|
92 <exit_code range="1:" level="fatal" description="An error occured during execution, see stderr and stdout for more information" />
|
|
93 <regex match="[Ee]rror" source="both" description="An error occured during execution, see stderr and stdout for more information" />
|
|
94 </stdio>
|
|
95 <help>
|
|
96 bam2wig.py
|
|
97 ++++++++++
|
|
98
|
|
99 Visualization is the most straightforward and effective way to QC your RNA-seq
|
|
100 data. For example, change of expression or new splicing can be easily checked
|
|
101 by visually comparing two RNA-seq tracks using genome browser such as UCSC_,
|
|
102 IGB_ and IGV_. `bam2wig.py` converts all types of RNA-seq data from BAM_
|
|
103 format into wiggle_ format in one-stop. wiggle_ files can then be easily
|
|
104 converted into bigwig_. Bigwig is indexed, binary format of wiggle file, and
|
|
105 it's particular useful to display large, continuous dataset on genome
|
|
106 browser.
|
|
107
|
|
108 Inputs
|
|
109 ++++++++++++++
|
|
110
|
|
111 Input BAM file
|
|
112 Alignment file in BAM format (SAM is not supported). BAM file will be sorted and indexed using samTools.
|
|
113
|
|
114 Chromosome size file
|
|
115 Tab or space separated text file with 2 columns: first column is chromosome name, second column is size of the chromosome. Chromosome names (such as "chr1") should be consistent between this file and BAM file.
|
|
116
|
|
117 Specified wigsum (default=none)
|
|
118 Specified wigsum. Wigsum of 100000000 equals to coverage achieved by 1 million 100nt reads. Ignore this option to disable normalization.
|
|
119
|
|
120 Skip multiple Hit reads
|
|
121 skips multiple hit reads or only use uniquely mapped reads
|
|
122
|
|
123 Strand-specific (default=none)
|
|
124 How read(s) were stranded during sequencing. If you are not sure about the strand rule, run infer_experiment.py
|
|
125
|
|
126 Outputs
|
|
127 ++++++++++++++
|
|
128
|
|
129 If RNA-seq is not strand specific, one wig file will be generated, if RNA-seq
|
|
130 is strand specific, two wig files corresponding to Forward and Reverse will be generated.
|
|
131
|
|
132 -----
|
|
133
|
|
134 About RSeQC
|
|
135 +++++++++++
|
|
136
|
|
137
|
|
138 The RSeQC_ package provides a number of useful modules that can comprehensively evaluate high throughput sequence data especially RNA-seq data. "Basic modules" quickly inspect sequence quality, nucleotide composition bias, PCR bias and GC bias, while "RNA-seq specific modules" investigate sequencing saturation status of both splicing junction detection and expression estimation, mapped reads clipping profile, mapped reads distribution, coverage uniformity over gene body, reproducibility, strand specificity and splice junction annotation.
|
|
139
|
|
140 The RSeQC package is licensed under the GNU GPL v3 license.
|
|
141
|
|
142 .. image:: http://rseqc.sourceforge.net/_static/logo.png
|
|
143
|
|
144 .. _RSeQC: http://rseqc.sourceforge.net/
|
|
145 .. _UCSC: http://genome.ucsc.edu/index.html
|
|
146 .. _IGB: http://bioviz.org/igb/
|
|
147 .. _IGV: http://www.broadinstitute.org/igv/home
|
|
148 .. _BAM: http://genome.ucsc.edu/goldenPath/help/bam.html
|
|
149 .. _wiggle: http://genome.ucsc.edu/goldenPath/help/wiggle.html
|
|
150 .. _bigwig: http://genome.ucsc.edu/FAQ/FAQformat.html#format6.1
|
|
151
|
|
152 </help>
|
|
153 </tool>
|