view fastga.xml @ 0:57121595e33c draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/fastga commit 6504da2141da78f7cadb90a2a00e8744b1e0377a
author iuc
date Fri, 20 Feb 2026 07:47:05 +0000
parents
children
line wrap: on
line source

<tool id="fastga" name="FastGA" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>align whole genomes</description>
    <macros>
        <import>fastga_macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <command detect_errors="exit_code"><![CDATA[
        ## FastGA directly string matches the file extensions
        ## symlinks are used to bypass that restriction
        ln -s '$input1' 'input1.${input1.ext}' &&
        ln -s '$input2' 'input2.${input2.ext}' &&
        FastGA
        '${output_settings.out.format}'
        #if str( $output_settings.out.format ) == "-paf":
            #if str( $output_settings.out.cigar_string ) != "no":
                '${output_settings.out.cigar_string}'
            #end if
            #if str( $output_settings.out.cs_string ) != "no":
                '${output_settings.out.cs_string}'
            #end if
        #end if
        $use_soft_mask
        $use_sym_seeding
        -f${adaptive_seed_count_cutoff}
        -c${minimum_seed_coverage}
        -s${new_seed_threshold}
        -l${minimum_alignment_length}
        -i${minimum_alignment_identity}
        'input1.${input1.ext}' 'input2.${input2.ext}' 
        #if str( $output_settings.out.format ) != "-1:output":
            > output
        #end if
    ]]></command>
    <inputs>
        <param name="input1" type="data" label="FASTA sequence" format="fasta,fasta.gz"/>
        <param name="input2" type="data" label="FASTA sequence" format="fasta,fasta.gz"/>
        <param name="use_soft_mask" type="boolean" label="Use soft mask information if available (-M)" checked="false" truevalue="-M" falsevalue=""/>
        <param name="use_sym_seeding" type="boolean" label="Use symmetric seeding (-S)" checked="false" truevalue="-S" falsevalue=""/>
        <param name="adaptive_seed_count_cutoff" type="integer" label="Adaptive seed count cutoff (-f)" value="10" min="0" max="255"/>
        <param name="minimum_seed_coverage" type="integer" label="Minimum seed chain coverage in both genomes (-c)" value="85" min="0"/>
        <param name="new_seed_threshold" type="integer" label="Threshold for starting a new seed chain (-s)" value="1000" min="0"/>
        <param name="minimum_alignment_length" type="integer" label="Minimum alignment length (-l)" value="100" min="0"/>
        <param name="minimum_alignment_identity" type="float" label="Minimum alignment identity (-i)" value="0.7" min="0.55" max="0.99999999999999994"/>
        <section name="output_settings" expanded="False" title="Output">
            <conditional name="out">
                <param name="format" type="select" label="Specify the output format">
                    <option value="-paf" selected="true">paf (-paf)</option>
                    <option value="-psl">psl (-psl)</option>
                    <option value="-1:output">1aln (-1)</option>
                </param>
                <when value="-paf">
                    <param name="cigar_string" type="select" label="Use CIGAR string?">
                        <option value="no" selected="true">No CIGAR string</option>
                        <option value="-pafx">CIGAR string with X's (-pafx)</option>
                        <option value="-pafm">CIGAR string with ='s (-pafm)</option>
                    </param>
                    <param name="cs_string" type="select" label="Use CS string?">
                        <option value="no" selected="true">No CS string</option>
                        <option value="-pafs">CS string in short form (-pafs)</option>
                        <option value="-pafS">CS string in long form (-pafS)</option>
                    </param>
                </when>
                <when value="-psl"/>
                <when value="-1:output"/>
            </conditional>
        </section>
    </inputs>
    <outputs>
        <data name="output" format="paf" from_work_dir="output">
            <change_format>
                <when input="output_settings.out.format" value="-paf" format="paf"/>
                <when input="output_settings.out.format" value="-psl" format="psl"/>
                <when input="output_settings.out.format" value="-1:output" format="txt"/>
            </change_format>
        </data>
    </outputs>
    <tests>
        <test expect_num_outputs="1">
            <param name="input1" value="chrM_hg38.fa.gz"/>
            <param name="input2" value="chrM_mm39.fa.gz"/>
            <section name="output_settings">
                <conditional name="out">
                    <param name="format" value="-paf"/>
                </conditional>
            </section>
            <output name="output" file="chrM_HGvMM.paf" ftype="paf"/>
        </test>
        <test expect_num_outputs="1">
            <param name="input1" value="chrM_hg38.fa.gz"/>
            <param name="input2" value="chrM_mm39.fa.gz"/>
            <section name="output_settings">
                <conditional name="out">
                    <param name="format" value="-psl"/>
                </conditional>
            </section>
            <output name="output" file="chrM_HGvMM.psl" ftype="psl"/>
        </test>
        <test expect_num_outputs="1">
            <param name="input1" value="chrM_hg38.fa.gz"/>
            <param name="input2" value="chrM_mm39.fa.gz"/>
            <section name="output_settings">
                <conditional name="out">
                    <param name="format" value="-paf"/>
                    <param name="cigar_string" value="-pafx"/>
                </conditional>
            </section>
            <output name="output" file="pafx.paf" ftype="paf"/>
        </test>
        <test expect_num_outputs="1">
            <param name="input1" value="chrM_hg38.fa.gz"/>
            <param name="input2" value="chrM_mm39.fa.gz"/>
            <param name="use_soft_mask" value="True"/>
            <param name="use_sym_seeding" value="True"/>
            <param name="adaptive_seed_count_cutoff" value="9"/>
            <param name="minimum_seed_coverage" value="100"/>
            <param name="new_seed_threshold" value="750"/>
            <param name="minimum_alignment_length" value="90"/>
            <param name="minimum_alignment_identity" value="0.6"/>
            <section name="output_settings">
                <conditional name="out">
                    <param name="format" value="-paf"/>
                    <param name="cigar_string" value="-pafm"/>
                    <param name="cs_string" value="-pafS"/>
                </conditional>
            </section>
            <output name="output" file="pafmS_options.paf" ftype="paf"/>
        </test>
        <test expect_num_outputs="1">
            <param name="input1" value="chrM_hg38.fa.gz"/>
            <param name="input2" value="chrM_mm39.fa.gz"/>
            <section name="output_settings">
                <conditional name="out">
                    <param name="format" value="-1:output"/>
                </conditional>
            </section>
        </test>
    </tests>
    <help><![CDATA[

FastGA compares two high-quality genomes and outputs a ``.1aln``, ``.paf``, or ``.psl`` file containing all local alignments found.

It is based on a novel adaptive seed finding algorithm as well as the first wave-based local aligner developed for daligner (2012).

FastGA uses a number of temporary, hidden files such as ONEcode genome databases (.1gdb) and genome indices (.gix) to achieve its high speed and space efficiency.

-----

Input
*****

This tool takes two ``fasta`` or ``fasta.gz`` input files to align.

It is a core assumption of FastGA that the input genomes are nearly complete and are of high quality (Q40 or better).

FastGA is not commutative by default (see *Use symmetric seeding* below).

-----

Options
*******

    ===============================  ========  ===========  ===========================
    **Option**                       **Flag**  **Default**  **Description**
    -------------------------------  --------  -----------  ---------------------------
    Use soft mask information        -M        False        Use soft-masked regions if
                                                            present in the input FASTA
    Use symmetric seeding            -S        False        Enables symmetric seeding
                                                            (not recommended)
    Adaptive seed count cutoff       -f        10           Range: 0–255
    Minimum seed chain coverage      -c        85           Range: ≥ 0
    Threshold for new seed chain     -s        1000         Range: ≥ 0
    Minimum alignment length         -l        100          Range: ≥ 0
    Minimum alignment identity       -i        0.7          Range: 0.55–<1.0
    ===============================  ========  ===========  ===========================

-----

Output
******

**Output format**

    ==========  ========  ===========  ===============================
    **Format**  **Flag**  **Default**  **Notes**
    ----------  --------  -----------  -------------------------------
    PAF         -paf      Yes          
    PSL         -psl      No
    1ALN        -1        No           Output is nondeterministic
    ==========  ========  ===========  ===============================

**CIGAR string options**  

(available only when output format is PAF)

    ==============================  ========  ===========
    **Option**                      **Flag**  **Default**
    ------------------------------  --------  -----------
    No CIGAR string                           Yes
    CIGAR string with X's           -pafx     No
    CIGAR string with ='s           -pafm     No
    ==============================  ========  ===========

**CS string options**  

(available only when output format is PAF)

    ==============================  ========  ===========
    **Option**                      **Flag**  **Default**
    ------------------------------  --------  -----------
    No CS string                              Yes
    CS string (short form)          -pafs     No
    CS string (long form)           -pafS     No
    ==============================  ========  ===========

]]></help>
    <expand macro="citations" />
</tool>