view locuspocus.xml @ 0:c4ac24510b55 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/aegean commit e6c01517075cab35e620fe1bbdb5fd68e4d1359f"
author iuc
date Sun, 03 Jan 2021 14:58:58 +0000
parents
children 1fdc517743e6
line wrap: on
line source

<tool id='aegean_locuspocus' name='AEGeAn LocusPocus' version='@TOOL_VERSION@' profile='20.01'>
    <description> calculate locus coordinates for the given gene annotation</description>
    <macros>                                                                                           
        <import>macros.xml</import>
    </macros>                                                                                          
    <expand macro='xrefs'/>
    <expand macro='edam_ontology'/>
    <expand macro='requirements'/>
    <version_command>locuspocus --version</version_command>
    <command detect_errors='exit_code'>
        <![CDATA[
            locuspocus '$genesgff3'
            -l $ilocus_parsing.delta
            $ilocus_parsing.mode
            $ilocus_parsing.skipiloci
            #if $refine_options.refine_parameters.refine
                $refine_options.refine_parameters.cds
            #end if 
            -m $refine_options.minoverlap
            -f '$input_options.filter'
            #if $input_options.parent
                -p '$input_options.parent'
            #end if
            $input_options.pseudo
            #if $output_options.outputfiles
	            #if "ilens" in $output_options.outputfiles
                    --ilens '$output_ilens'
                #end if
                #if "genemap" in $output_options.outputfiles
                    --genemap '$output_genemap'
                #end if
                #if "transmap" in $output_options.outputfiles
                    --transmap '$output_transmap'
                #end if
            #end if
            #if $output_options.namefmt
                -n '$output_options.namefmt'
            #end if
            $output_options.retainids
            -o '$output'
            ]]>
    </command>
    <inputs>
        <param name='genesgff3' type='data' format='gff3' label="GFF3 File" />
        <section name='ilocus_parsing' title='iLocus parsing options' expanded='True'>
            <param argument='--delta' type='integer' 
                min='0' max='1000' value='500'
                label='Gene loci extension'
                help='When parsing interval loci, use the following delta to extend gene loci and include potential regulatory regions' />
            <param name='mode' type='select' label='Annotation mode'>
                <option value='' selected='true'>Default mode</option>
                <option value='--skipends'> Exclude unannotated iLoci at either end of the sequence</option>
                <option value='--endsonly'> Report only incomplete iLocus fragments at the unannotated ends of sequences</option>
            </param>
            <param argument="--skipiloci"  type='boolean'            
                truevalue='--skipiiloci' falsevalue=''
                label='Do not report intergenic iLoci' />
        </section>
        <section name='refine_options' title='Refine options' expanded='false'>
            <conditional name='refine_parameters'>
                <param name='refine' type='select' 
                    label='Mode for handling of overlpping genes'
                    help='Refine mode allows for a more nuanced handling of overlapping genes.'>
                    <option value=''>Default</option>
                    <option value='--refine'>Refine mode</option>
                </param>
                <when value=''/>
                <when value='--refine'>
                    <param argument='--cds' type='boolean' 
                        truevalue='--cds' falsevalue=''
                        label='Use CDS rather than UTRs'
                        help='(-c)' />
                </when>
            </conditional>
            <param argument='--minoverlap' type='integer' 
                max='20' min='1' value='1' 
                label='Minimum number of overlapping nucleotides'
                help='The minimum number of nucleotides two genes must overlap to be grouped in the same iLocus' />
        </section>
        <section name='input_options' title='Input options' expanded='false'>
            <param  argument='--filter' type='text' 
                value='gene'
                label='Comma-separated list of feature types to use'
                help="Select the featured used to annotate intervals on a genome (e.g. gene, intron, exon)." />
            <param argument='--parent' type='text' 
                value='' optional='true'
                label='Create a parent for features that lack a parent feature'
                help='If a feature of type $CT exists without a parent, create a parent for this feature with type $PT; for example, mRNA:gene will create a gene feature  as a parent for any top-level mRNA feature.'/>
            <param argument='--pseudo' type='boolean' 
                truevalue='--pseudo' falsevalue=''
                label='Correct erroneously labeled pseudogenes'/>   
        </section>
        <section name='output_options' title='Output options' expanded='false'>
            <param argument='--retainids' type='boolean'
                truevalue='--retainids' falsevalue=''
                label='Retain original feature IDs'
                help='Retain original feature IDs from input files; conflicts will arise if input contains duplicated ID values'/>
            <param argument='--namefmt' type='text'
                value='' optional='true'
                label='ID format for newly created locy'
                help='Provide a format string to override the default ID format for newly created loci; default is "locus%lu" (locus1, locus2, etc) for loci and "iLocus%lu" (iLocus1, iLocus2, etc) for interval loci; note the format string should include a single %lu specifier to be filled in with a long unsigned integer value.'/>
            <param name="outputfiles" type="select" display="checkboxes" label="Output files"
                multiple="true" optional="true" >
                <option value="ilens">Create file with the lenghts of each intergenic iLocus</option>
                <option value="genemap">Create a mapping from each gene annotation to its correspondig locus</option>
                <option value="transmap">Create a mapping from each transcript annotation to its correspondent locus</option>
            </param>
        </section>

    </inputs>
    <outputs>
        <data name='output' format='tabular' />
        <data name='output_ilens' format='tabular'>
            <filter>output_options['outputfiles'] and "ilens" in output_options['outputfiles']</filter>
        </data>
        <data name='output_genemap' format='tabular'>
            <filter>output_options['outputfiles'] and "genemap" in output_options['outputfiles']</filter>
        </data>
        <data name='output_transmap' format='tabular'>
            <filter>output_options['outputfiles'] and "transmap" in output_options['outputfiles']</filter>
        </data>
    </outputs>
    <tests>
        <test expect_num_outputs="1">
            <param name='genesgff3' value='TAIR10_GFF3_genes.gff'/>
            <output name='output' file='locuspocus_output_test1.txt'/>
        </test>
        <test expect_num_outputs="1">
            <param name='genesgff3' value='TAIR10_GFF3_genes.gff'/>
            <section name='ilocus_parsing'>
                <param name='delta' value='400'/>
                <param name='mode' value='--skipends'/>
            </section>
            <output name='output' file='locuspocus_output_test2.txt'/>
        </test>
        <test expect_num_outputs="1">
            <param name='genesgff3' value='TAIR10_GFF3_genes.gff'/>
            <section name='ilocus_parsing'>
                <param name='skipiloci' value='true'/>
                <param name='mode' value='--endsonly'/>
            </section>
            <output name='output' file='locuspocus_output_test3.txt'/>
        </test>
        <test expect_num_outputs="1">
            <param name='genesgff3' value='TAIR10_GFF3_genes.gff'/>
            <section name='refine_options'>
                <param name='refine_parameters|refine' value='--refine'/>
                <param name='minoverlap' value='5'/>
            </section>	    
            <output name='output' file='locuspocus_output_test4.txt'/>
        </test>
        <test expect_num_outputs="1">
            <param name='genesgff3' value='TAIR10_GFF3_genes.gff'/>
            <section name='input_options'>
                <param name='filter' value='gene,intron'/>
                <param name='parent' value='mRNA:gene'/>
            </section>	    
            <output name='output' file='locuspocus_output_test5.txt'/>
        </test>
        <test expect_num_outputs="1">
            <param name='genesgff3' value='TAIR10_GFF3_genes.gff'/>
            <section name='input_options'>
                <param name='filter' value='gene,intron'/>
                <param name='parent' value='mRNA:gene'/>
                <param name='pseudo' value='true'/>
            </section>	    
            <output name='output' file='locuspocus_output_test6.txt'/>
        </test>
        <test expect_num_outputs="4">
            <param name='genesgff3' value='TAIR10_GFF3_genes.gff'/>
            <section name='output_options'>
                <param name='retainids' value='true'/>
                <param name='namefmt' value='test%lu'/>
                <param name='outputfiles' value='ilens,genemap,transmap'/>
            </section>
            <output name='output' file='locuspocus_output_test7.txt'/>
            <output name='output_ilens' file='locuspocus_lenght_test7.txt'/>
            <output name='output_genemap' file='locuspocus_genemap_test7.txt'/>
            <output name='output_transmap' file='locuspocus_transmap_test7.txt'/>
        </test>
        <test expect_num_outputs="4">
            <param name='genesgff3' value='TAIR10_GFF3_genes.gff'/>
	        <section name='refine_options'>
                <param name='refine_parameters|refine' value='--refine'/>
                <param name='refine_options|minoverlap' value='5'/>
	        </section>
            <section name='ilocus_parsing'>
                <param name='delta' value='400'/>
                <param name='mode' value='--skipends'/>
            </section>
            <section name='input_options'>
                <param name='filter' value='gene,intron'/>
                <param name='parent' value='mRNA:gene'/>
            </section>	    
            <section name='output_options'>
                <param name='retainids' value='true'/>
                <param name='outputfiles' value='ilens,genemap,transmap'/>
            </section>
            <output name='output' file='locuspocus_output_test8.txt'/>
            <output name='output_ilens' file='locuspocus_lenght_test8.txt'/>
            <output name='output_genemap' file='locuspocus_genemap_test8.txt'/>
            <output name='output_transmap' file='locuspocus_transmap_test8.txt'/>
        </test>
    </tests>
    <help>
        <![CDATA[
.. class:: infomark
            
**Purpose**
            
LocusPocus is a program for computing interval loci (iLoci) from a provided set gene annotations. Each iLocus corresponds to a single gene, a set of overlapping genes, or a space between genes. See this page for a description of iLoci as an organizational principle for genomics.
            
-----
            
.. class:: infomark
            
**Input**
            
Input for LocusPocus is one or more files in GFF3 format. The only strict requirement is that the input must be valid GFF3.
            
The use of ##sequence-region pragmas is optional, and many GFF3 files do not include them. LocusPocus uses this information when computing the location of iLoci at the ends of a sequence. Note that if these pragmas are not declared explicitly, iLoci will only be reported for sequence regions containing annotated features.
            
Users can override gene as the default feature of interest, replace it with one or more other feature types, and construct iLoci for these features in the same way.
            
-----
            
.. class:: infomark
            
**Output**
            
LocusPocus computes the location of the iLoci from the given gene features and reports the iLocus locations in GFF3 format. By default, only the iLocus features themselves are reported, with attributes indicating the number of genes and transcripts in the locus. 
            
]]>
    </help>
    <expand macro='citations'/>
</tool>