Mercurial > repos > fubar > bbgbigwig_dev
diff bbgbigwig/bam_bed_gff_to_bigwig.xml @ 0:4eadb56fa314 draft
Uploaded
author | fubar |
---|---|
date | Fri, 14 Jun 2024 06:06:45 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bbgbigwig/bam_bed_gff_to_bigwig.xml Fri Jun 14 06:06:45 2024 +0000 @@ -0,0 +1,103 @@ +<tool id="bbgtobigwig" name="Convert BAM/BED/GFF to BigWig" version="0.1" profile="22.05"> + <requirements> + <requirement type="package" version="455">ucsc-bedgraphtobigwig</requirement> + <requirement type="package" version="2.31.1">bedtools</requirement> + <requirement type="package" version="9.5">coreutils</requirement> + <requirement type="package" version="3.12.3">python</requirement> + </requirements> + <required_files> + <include path="gff_to_bed_converter.py"/> + </required_files> + <command detect_errors="aggressive"><![CDATA[ +#if $hist_or_builtin.genosrc == "indexed": + ln -s '$hist_or_builtin.chromfile.fields.len_path' ./CHROMFILE && +#else: + ln -s '$chromfile' ./CHROMFILE && +#end if +#if $input1.ext in ['gff', 'gff3']: + python '$__tool_directory__/gff_to_bed_converter.py' < '$input1' > input2 && +#else: + ln -s '$input1' input2 && +#end if +#if $input1.ext == "bam": + bedtools genomecov -bg -split -ibam input2 | +#else + bedtools genomecov -bg -i input2 -g ./CHROMFILE | +#end if +LC_COLLATE=C sort -k1,1 -k2,2n > temp.bg && +bedGraphToBigWig temp.bg ./CHROMFILE '$output' + ]]></command> + <inputs> + <conditional name="hist_or_builtin"> + <param name="genosrc" type="select" label="Is the input assigned to a built-in or custom reference genome?" + help="If the input has no dbkey, supply a chromosome lengths file"> + <option selected="True" value="indexed">Input data was made with a built-in genome or already has a custom genome dbkey</option> + <option value="history">Input data mapped on a genome from the current history. The chromosome lengths file is also in the history</option> + </param> + <when value="indexed"> + <param name="input1" type="data" format="bam,unsorted.bam,bed,gff,gff3" label="bam/bed/gff to convert"> + <validator type="unspecified_build" /> + </param> + <param name="chromfile" type="select" label="Source Genome Build"> + <options from_data_table="__dbkeys__"> + <filter type="data_meta" column="0" key="dbkey" ref="input1"/> + </options> + <validator type="no_options" message="The chosen genome build is not available."/> + </param> + </when> + <when value="history"> + <param name="input1" type="data" format="bam,unsorted.bam,bed,gff,gff3" label="bam/bed/gff to convert"/> + <param name="chromfile" type="data" format="len,txt,tabular" label="Chromosome length file" + help="Sequence lengths for the history reference are required to make a bigwig. Compute sequence length tool makes these from fasta files"/> + </when> + </conditional> + </inputs> + <outputs> + <data name="output" format="bigwig"/> + </outputs> + <tests> + <test expect_num_outputs="1"> + <conditional name="hist_or_builtin"> + <param name="genosrc" value="indexed"/> + <param name="input1" value="featureCounts_input1.bam" dbkey="hg38"/> + <param name="chromfile" value="hg38"/> + </conditional> + <output name="output" value="featureCounts_input1.bigwig" compare="sim_size"/> + </test> + <test expect_num_outputs="1"> + <conditional name="hist_or_builtin"> + <param name="genosrc" value="history"/> + <param name="input1" value="srma_out2.bam"/> + <param name="chromfile" value="testing.len"/> + </conditional> + <output name="output" value="srma_out2.bigwig" compare="sim_size"/> + </test> + <test expect_num_outputs="1"> + <conditional name="hist_or_builtin"> + <param name="genosrc" value="history"/> + <param name="input1" value="test5.gff3"/> + <param name="chromfile" value="testing.len"/> + </conditional> + <output name="output" value="test5.gff.bigwig" compare="sim_size"/> + </test> + <test expect_num_outputs="1"> + <conditional name="hist_or_builtin"> + <param name="genosrc" value="history"/> + <param name="input1" value="test5.bed"/> + <param name="chromfile" value="testing.len"/> + </conditional> + <output name="output" value="test5.bed.bigwig" compare="sim_size"/> + </test> + </tests> + <help> + + Converter for bam, bed or gff to bigwig + If the input does not have a dbkey, a chromosome lengths file is needed. + This can be useful in workflows with assemblies in progress before a stable reference is available for + a custom or built in reference dbkey. + + </help> + <citations> + <citation type="doi">10.1093/bioinformatics/btq351</citation> + </citations> +</tool>