view tools/fasta_filter_by_id/fasta_filter_by_id.xml @ 3:812383b5d3b8 draft default tip

v0.0.5 - galaxy_sequence_utils dependency and other cleanups inc using MIT license
author peterjc
date Fri, 03 Feb 2017 05:32:34 -0500
parents
children
line wrap: on
line source

<tool id="fasta_filter_by_id" name="Filter FASTA by ID" version="0.0.5" hidden="true">
    <description>from a tabular file</description>
    <requirements>
        <requirement type="package" version="1.0.1">galaxy_sequence_utils</requirement>
    </requirements>
    <version_command interpreter="python">fasta_filter_by_id.py --version</version_command>
    <command interpreter="python">
fasta_filter_by_id.py $input_tabular $columns $input_fasta
#if $output_choice_cond.output_choice=="both"
 $output_pos $output_neg
#elif $output_choice_cond.output_choice=="pos"
 $output_pos -
#elif $output_choice_cond.output_choice=="neg"
 - $output_neg
#end if
    </command>
    <inputs>
        <param name="input_fasta" type="data" format="fasta" label="FASTA file to filter on the identifiers"/>
        <param name="input_tabular" type="data" format="tabular" label="Tabular file containing FASTA identifiers"/>
        <param name="columns" type="data_column" data_ref="input_tabular" multiple="True" numerical="False" label="Column(s) containing FASTA identifiers" help="Multi-select list - hold the appropriate key while clicking to select multiple columns">
            <validator type="no_options" message="Pick at least one column"/>
        </param>
        <conditional name="output_choice_cond">
            <param name="output_choice" type="select" label="Output positive matches, negative matches, or both?">
                <option value="both">Both positive matches (ID on list) and negative matches (ID not on list), as two FASTA files</option>
                <option value="pos">Just positive matches (ID on list), as a single FASTA file</option>
                <option value="neg">Just negative matches (ID not on list), as a single FASTA file</option>
            </param>
            <!-- Seems need these dummy entries here, compare this to indels/indel_sam2interval.xml -->
            <when value="both" />
            <when value="pos" />
            <when value="neg" />
        </conditional>
    </inputs>
    <outputs>
        <data name="output_pos" format="fasta" label="With matched ID">
            <filter>output_choice_cond["output_choice"] != "neg"</filter>
        </data>
        <data name="output_neg" format="fasta" label="Without matched ID">
            <filter>output_choice_cond["output_choice"] != "pos"</filter>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="input_fasta" value="four_human_proteins.fasta" ftype="fasta" />
            <param name="input_tabular" value="blastp_four_human_vs_rhodopsin.tabular" ftype="tabular" />
            <param name="columns" value="1" />
            <param name="output_choice" value="both" />
            <output name="output_pos" file="four_human_proteins_filter_a.fasta" ftype="fasta" />
            <output name="output_neg" file="four_human_proteins_filter_b.fasta" ftype="fasta" />
        </test>
        <test>
            <param name="input_fasta" value="four_human_proteins.fasta" ftype="fasta" />
            <param name="input_tabular" value="blastp_four_human_vs_rhodopsin.tabular" ftype="tabular" />
            <param name="columns" value="1" />
            <param name="output_choice" value="pos" />
            <output name="output_pos" file="four_human_proteins_filter_a.fasta" ftype="fasta" />
        </test>
        <test>
            <param name="input_fasta" value="four_human_proteins.fasta" ftype="fasta" />
            <param name="input_tabular" value="blastp_four_human_vs_rhodopsin.tabular" ftype="tabular" />
            <param name="columns" value="1" />
            <param name="output_choice" value="neg" />
            <output name="output_neg" file="four_human_proteins_filter_b.fasta" ftype="fasta" />
        </test>
    </tests>
    <help>

**Deprecated**

This tool is now obsolete, and should not be used in future. It has been
replaced by a more general version covering FASTA, FASTQ and SFF in one
single tool.

**What it does**

By default it divides a FASTA file in two, those sequences with or without an
ID present in the tabular file column(s) specified. You can opt to have a
single output file of just the matching records, or just the non-matching ones.

Note that the order of sequences in the original FASTA file is preserved.
Also, if any sequences share an identifier, duplicates are not removed.

**Example Usage**

Given a FASTA file of proteins you might run a signal peptide search (e.g.
via the SignalP wrapper for Galaxy), then filtered these tabular results to
select just those with a signal peptide. You could then use this tool to get
a FASTA file of only the proteins with predicted signal peptides.

    </help>
    <citations>
        <citation type="doi">10.7717/peerj.167</citation>
    </citations>
</tool>