0
|
1 <tool id="bbgtobigwig" name="Convert BAM/BED/GFF to BigWig" version="0.1" profile="22.05">
|
|
2 <requirements>
|
|
3 <requirement type="package" version="455">ucsc-bedgraphtobigwig</requirement>
|
|
4 <requirement type="package" version="2.31.1">bedtools</requirement>
|
|
5 <requirement type="package" version="9.5">coreutils</requirement>
|
|
6 <requirement type="package" version="3.12.3">python</requirement>
|
|
7 </requirements>
|
|
8 <required_files>
|
|
9 <include path="gff_to_bed_converter.py"/>
|
|
10 </required_files>
|
|
11 <command detect_errors="aggressive"><![CDATA[
|
|
12 #if $hist_or_builtin.genosrc == "indexed":
|
|
13 ln -s '$hist_or_builtin.chromfile.fields.len_path' ./CHROMFILE &&
|
|
14 #else:
|
|
15 ln -s '$chromfile' ./CHROMFILE &&
|
|
16 #end if
|
|
17 #if $input1.ext in ['gff', 'gff3']:
|
|
18 python '$__tool_directory__/gff_to_bed_converter.py' < '$input1' > input2 &&
|
|
19 #else:
|
|
20 ln -s '$input1' input2 &&
|
|
21 #end if
|
|
22 #if $input1.ext == "bam":
|
|
23 bedtools genomecov -bg -split -ibam input2 |
|
|
24 #else
|
|
25 bedtools genomecov -bg -i input2 -g ./CHROMFILE |
|
|
26 #end if
|
|
27 LC_COLLATE=C sort -k1,1 -k2,2n > temp.bg &&
|
|
28 bedGraphToBigWig temp.bg ./CHROMFILE '$output'
|
|
29 ]]></command>
|
|
30 <inputs>
|
|
31 <conditional name="hist_or_builtin">
|
|
32 <param name="genosrc" type="select" label="Is the input assigned to a built-in or custom reference genome?"
|
|
33 help="If the input has no dbkey, supply a chromosome lengths file">
|
|
34 <option selected="True" value="indexed">Input data was made with a built-in genome or already has a custom genome dbkey</option>
|
|
35 <option value="history">Input data mapped on a genome from the current history. The chromosome lengths file is also in the history</option>
|
|
36 </param>
|
|
37 <when value="indexed">
|
|
38 <param name="input1" type="data" format="bam,unsorted.bam,bed,gff,gff3" label="bam/bed/gff to convert">
|
|
39 <validator type="unspecified_build" />
|
|
40 </param>
|
|
41 <param name="chromfile" type="select" label="Source Genome Build">
|
|
42 <options from_data_table="__dbkeys__">
|
|
43 <filter type="data_meta" column="0" key="dbkey" ref="input1"/>
|
|
44 </options>
|
|
45 <validator type="no_options" message="The chosen genome build is not available."/>
|
|
46 </param>
|
|
47 </when>
|
|
48 <when value="history">
|
|
49 <param name="input1" type="data" format="bam,unsorted.bam,bed,gff,gff3" label="bam/bed/gff to convert"/>
|
|
50 <param name="chromfile" type="data" format="len,txt,tabular" label="Chromosome length file"
|
|
51 help="Sequence lengths for the history reference are required to make a bigwig. Compute sequence length tool makes these from fasta files"/>
|
|
52 </when>
|
|
53 </conditional>
|
|
54 </inputs>
|
|
55 <outputs>
|
|
56 <data name="output" format="bigwig"/>
|
|
57 </outputs>
|
|
58 <tests>
|
|
59 <test expect_num_outputs="1">
|
|
60 <conditional name="hist_or_builtin">
|
|
61 <param name="genosrc" value="indexed"/>
|
|
62 <param name="input1" value="featureCounts_input1.bam" dbkey="hg38"/>
|
|
63 <param name="chromfile" value="hg38"/>
|
|
64 </conditional>
|
|
65 <output name="output" value="featureCounts_input1.bigwig" compare="sim_size"/>
|
|
66 </test>
|
|
67 <test expect_num_outputs="1">
|
|
68 <conditional name="hist_or_builtin">
|
|
69 <param name="genosrc" value="history"/>
|
|
70 <param name="input1" value="srma_out2.bam"/>
|
|
71 <param name="chromfile" value="testing.len"/>
|
|
72 </conditional>
|
|
73 <output name="output" value="srma_out2.bigwig" compare="sim_size"/>
|
|
74 </test>
|
|
75 <test expect_num_outputs="1">
|
|
76 <conditional name="hist_or_builtin">
|
|
77 <param name="genosrc" value="history"/>
|
|
78 <param name="input1" value="test5.gff3"/>
|
|
79 <param name="chromfile" value="testing.len"/>
|
|
80 </conditional>
|
|
81 <output name="output" value="test5.gff.bigwig" compare="sim_size"/>
|
|
82 </test>
|
|
83 <test expect_num_outputs="1">
|
|
84 <conditional name="hist_or_builtin">
|
|
85 <param name="genosrc" value="history"/>
|
|
86 <param name="input1" value="test5.bed"/>
|
|
87 <param name="chromfile" value="testing.len"/>
|
|
88 </conditional>
|
|
89 <output name="output" value="test5.bed.bigwig" compare="sim_size"/>
|
|
90 </test>
|
|
91 </tests>
|
|
92 <help>
|
|
93
|
|
94 Converter for bam, bed or gff to bigwig
|
|
95 If the input does not have a dbkey, a chromosome lengths file is needed.
|
|
96 This can be useful in workflows with assemblies in progress before a stable reference is available for
|
|
97 a custom or built in reference dbkey.
|
|
98
|
|
99 </help>
|
|
100 <citations>
|
|
101 <citation type="doi">10.1093/bioinformatics/btq351</citation>
|
|
102 </citations>
|
|
103 </tool>
|