Mercurial > repos > yating-l > twobit_info_340
changeset 0:b4590c39c70d draft default tip
planemo upload commit c1f0c5ceaac87b6b1db12160a8f5b287635db61b
author | yating-l |
---|---|
date | Mon, 10 Jul 2017 12:49:31 -0400 |
parents | |
children | |
files | test-data/contigs.2bit test-data/contigs_chromInfo.tab test-data/contigs_gaps.bed test-data/contigs_no_Ns_chromInfo.tab tool_dependencies.xml twobit_info.xml ucsc_macros.xml |
diffstat | 7 files changed, 152 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/contigs_chromInfo.tab Mon Jul 10 12:49:31 2017 -0400 @@ -0,0 +1,2 @@ +contig12 56019 +contig10 43013
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/contigs_gaps.bed Mon Jul 10 12:49:31 2017 -0400 @@ -0,0 +1,4 @@ +contig10 16942 16962 gap_0 +contig12 18710 18730 gap_1 +contig12 29582 29904 gap_2 +contig12 30821 30841 gap_3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/contigs_no_Ns_chromInfo.tab Mon Jul 10 12:49:31 2017 -0400 @@ -0,0 +1,2 @@ +contig12 55657 +contig10 42993
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Mon Jul 10 12:49:31 2017 -0400 @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<tool_dependency> + <package name="ucsc_twobit" version="340"> + <repository changeset_revision="f03dc0347e70" name="package_ucsc_twobit_340" owner="yating-l" toolshed="https://toolshed.g2.bx.psu.edu" /> + </package> +</tool_dependency>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/twobit_info.xml Mon Jul 10 12:49:31 2017 -0400 @@ -0,0 +1,94 @@ +<?xml version="1.0"?> +<tool id="twobit_info" name="twoBitInfo" version="1.0"> + <description>Get sequence information from a twoBit file</description> + + <macros> + <import>ucsc_macros.xml</import> + </macros> + + <expand macro="requirements_twobit" /> + + <command detect_errors="exit_code"> +<![CDATA[ + #if str($output_type.output_type_selector) == "Sequence_Lengths": + twoBitInfo + ${output_type.no_Ns} "${twobit_input}" stdout | + sort -k 2,2nr > "${output}" + #else: + twoBitInfo -nBed "${twobit_input}" stdout | + sort -k 1,1 -k 2,2n | + awk 'BEGIN { OFS = "\t" } { print $1, $2, $3, sprintf("gap_%d", idx++ ) }' + > "${output}" + #end if +]]> + </command> + + <expand macro="environment_LC_COLLATE" /> + + <inputs> + <param name="twobit_input" type="data" format="twobit" label="twoBit input file" /> + + <conditional name="output_type"> + <!-- + Because the "when" element in the "data" output does not allow the "label" + attribute, the value from the output_type_selector is used as part of the + label to help users distinguish the different types of output produced by + this tool. The option values are in uppercase so that they conform to the + naming convention of the History items that are displayed to the user. + --> + <param name="output_type_selector" type="select" + label="Type of output file"> + <option value="Sequence_Lengths" selected="true">Sequence lengths</option> + <option value="Gaps">BED records of gaps in each sequence</option> + </param> + + <when value="Sequence_Lengths"> + <param name="no_Ns" type="boolean" checked="false" + truevalue="-noNs" falsevalue="" + label="Exclude gaps (N's) from sequence length" + help="-noNs" /> + </when> + + <when value="Gaps"></when> + </conditional> + </inputs> + <outputs> + <data name="output" format="len" + label="${tool.name} on ${on_string}: ${output_type.output_type_selector}"> + <change_format> + <when input="output_type.output_type_selector" value="Gaps" format="bed" /> + </change_format> + </data> + </outputs> + <tests> + <test> + <!-- Test report sequence length --> + <param name="twobit_input" value="contigs.2bit" ftype="twobit" /> + <param name="output_type_selector" value="Sequence_Lengths" /> + <output name="output" file="contigs_chromInfo.tab" /> + </test> + <test> + <!-- Test report sequence length excluding gaps --> + <param name="twobit_input" value="contigs.2bit" ftype="twobit" /> + <param name="output_type_selector" value="Sequence_Lengths" /> + <param name="no_Ns" value="-noNs" /> + <output name="output" file="contigs_no_Ns_chromInfo.tab" /> + </test> + <test> + <!-- Test report gap BED file --> + <param name="twobit_input" value="contigs.2bit" ftype="twobit" /> + <param name="output_type_selector" value="Gaps" /> + <output name="output" file="contigs_gaps.bed" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +twoBitInfo reports the length of each scaffold and the gap locations +stored in a twoBit Sequence Archive. + + ]]></help> + + <expand macro="citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ucsc_macros.xml Mon Jul 10 12:49:31 2017 -0400 @@ -0,0 +1,44 @@ +<macros> + <xml name="requirements_twobit"> + <requirements> + <requirement type="package" version="340">ucsc_twobit</requirement> + <yield /> + </requirements> + </xml> + <xml name="environment_LC_COLLATE"> + <environment_variables> + <!-- Sort uppercase letters before lowercase (required by UCSC tools) --> + <environment_variable name="LC_COLLATE">C</environment_variable> + <yield /> + </environment_variables> + </xml> + <xml name="citations"> + <citations> + <citation type="bibtex"> + @article{Kent01062002, +author = {Kent, W. James and Sugnet, Charles W. and Furey, Terrence S. and Roskin, Krishna M. and Pringle, Tom H. and Zahler, Alan M. and Haussler, and David}, +title = {The Human Genome Browser at UCSC}, +volume = {12}, +number = {6}, +pages = {996-1006}, +year = {2002}, +doi = {10.1101/gr.229102}, +URL = {http://genome.cshlp.org/content/12/6/996.abstract}, +eprint = {http://genome.cshlp.org/content/12/6/996.full.pdf+html}, +journal = {Genome Research} +} + </citation> + <yield /> + </citations> + </xml> + + <token name="@OPTIONAL_PARAM_FUNC@"> +<![CDATA[ + #def optional_param($_flag, $_flag_value, $_sep="=") + #if str($_flag_value) and str($_flag_value).strip(): + ${_flag}${_sep}${_flag_value} + #end if + #end def +]]> + </token> +</macros>