view fromgtfTobed12.xml @ 1:6fd4b3b90220 draft default tip

planemo upload for repository https://github.com/lldelisle/tools-lldelisle/tree/master/tools/fromgtfTobed12 commit 15b8c2cc83708044413a152322bcbfca8a74d29a
author lldelisle
date Fri, 03 Nov 2023 14:13:51 +0000
parents 418e4d0fe0bd
children
line wrap: on
line source

<tool id="fromgtfTobed12" name="fromgtftobed12" version="0.11.1+galaxy1">
  <description> Convert a gtf to a bed12.</description>
  <requirements>
    <requirement type="package" version="0.11.1">gffutils</requirement>
  </requirements>
  <stdio>
    <!-- Anything other than zero is an error -->
    <exit_code range="1:" />
    <exit_code range=":-1" />
    <!-- In case the return code has not been set propery check stderr too -->
    <regex match="Error:" />
    <regex match="Exception:" />
  </stdio>
  <command>
<![CDATA[
        python3 $__tool_directory__/fromgtfTobed12.py
        #if str($preferedName) != "":
          --preferedName $preferedName
        #end if
        $mergeTranscripts
        $ucscformat
        --output $output
        $input
]]>
  </command>
  <inputs>
    <param name="input" multiple="false" type="data" format="gtf" label="Select the gtf to convert."/>
    <param name="mergeTranscripts" type="select" label="Do you want to merge all transcripts of a gene in a single line?">
      <option value="" selected="true">No</option>
      <option value="--mergeTranscripts">Yes</option>
      <option value="--mergeTranscriptsAndOverlappingExons">Yes and merge overlapping exons</option>
    </param>
    <param argument="--preferedName" type="text" value="" label="Use a specific name for the 4th column" help="By default the 4th column will be transcript_name or gene_name if you merge transcripts. If you prefer 'gene_id', for example, then set this option." />
    <param argument="--ucscformat" type="boolean" checked="True" truevalue="--ucscformat" falsevalue="" label="If you want that all chromosome names begin with 'chr'."/>
  </inputs>
  
  <outputs>
    <data format="bed" name="output" label="$input.name as bed12"/>
  </outputs>

  <tests>
    <test>
      <param name="input" value="Homo_sapiens.GRCh38.95_491firstLines.gtf.gz"/>
      <param name="ucscformat" value="--ucscformat"/>
      <output name="output" file="test.bed"/>
    </test>
    <test>
      <param name="input" value="Homo_sapiens.GRCh38.95_491firstLines.gtf.gz"/>
      <param name="ucscformat" value="--ucscformat"/>
      <param name="preferedName" value="gene_name"/>
      <output name="output" file="testWithGenes.bed"/>
    </test>
    <test>
      <param name="input" value="Homo_sapiens.GRCh38.95_491firstLines.gtf.gz"/>
      <param name="ucscformat" value="--ucscformat"/>
      <param name="preferedName" value="gene_id"/>
      <output name="output" file="testWithGeneIds.bed"/>
    </test>
    <test>
      <param name="input" value="Homo_sapiens.GRCh38.95_491firstLines.gtf.gz"/>
      <param name="mergeTranscripts" value="--mergeTranscripts"/>
      <param name="ucscformat" value=""/>
      <output name="output" file="testMergeNotUCSC.bed"/>
    </test>
    <test>
      <param name="input" value="Homo_sapiens.GRCh38.95_491firstLines.gtf.gz"/>
      <param name="mergeTranscripts" value="--mergeTranscriptsAndOverlappingExons"/>
      <param name="ucscformat" value=""/>
      <output name="output" file="testMergeExons.bed"/>
    </test>
  </tests>
  <help><![CDATA[
    This tool uses gffutils to convert gtf to bed12. One line per transcript.
    It will use as names transcript_name or gene_name when available.
]]>  </help>
  <citations>
  <citation type="bibtex">@online{gffutils,
  url = {https://pythonhosted.org/gffutils/contents.html}
  }
  </citation>
  </citations>
</tool>