diff amas_concat.xml @ 0:fb24e1904d08 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/amas commit 158ec0e635067d354c425baf14b95cb616fd93c4
author iuc
date Tue, 02 Dec 2025 09:26:01 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/amas_concat.xml	Tue Dec 02 09:26:01 2025 +0000
@@ -0,0 +1,144 @@
+<tool id="amas_concat" name="AMAS concat" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
+    <description>concatenate multiple alignments</description>
+
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+
+    <xrefs>
+        <xref type="bio.tools">amas</xref>
+    </xrefs>
+
+    <expand macro="requirements" />
+    <expand macro="version_command" />
+
+    <command detect_errors="exit_code"><![CDATA[
+        #import re
+        set -eu;
+
+        @SNIFF_INPUT_FORMAT@
+
+        @CHECK_INTERLEAVED@
+
+        @SYMLINK_INPUTS@
+
+        python -m amas.AMAS
+            concat
+            --concat-part partitions.txt
+            --concat-out concatenated.out
+            --part-format $part_format
+            --out-format $out_format
+            --in-files
+                @INPUT_FILENAMES@
+            --in-format "\${IN_FORMAT}"
+            --data-type $data_type
+            --cores "\${GALAXY_SLOTS:-1}"
+            $check_align
+    ]]></command>
+
+    <inputs>
+        <param name="input_files" type="data" format="fasta,phylip,nex" label="Sequences to concatenate" multiple="true" 
+               help="Provide pre-aligned FASTA/PHYLIP/NEXUS files (DNA or protein); mixes of unaligned reads or contigs will produce meaningless results." />
+        <expand macro="output_format" label="Select output format for concatenated alignment" />
+        <param name="part_format" type="select" label="Format of the partitions file"
+               help="A file defining how the concatenated alignment is split into separate gene/locus regions. Each line specifies a partition name and its position range (e.g., 'gene1 = 1-500' or 'DNA, gene1 = 1-500' for RAxML format).">
+            <option value="unspecified" selected="true">unspecified</option>            
+            <option value="nexus">nexus</option>
+            <option value="raxml">raxml</option>
+        </param>
+        <expand macro="data_type" />
+        <expand macro="check_align" />
+    </inputs>
+
+    <outputs>
+        <data name="output" from_work_dir="concatenated.out" format="txt" label="${tool.name} on ${on_string}: Concatenated alignment">
+            <change_format>
+                <when input="out_format" value="fasta" format="fasta" />
+                <when input="out_format" value="phylip" format="phylip" />
+                <when input="out_format" value="phylip-int" format="phylip" />
+                <when input="out_format" value="nexus" format="nex" />
+                <when input="out_format" value="nexus-int" format="nex" />
+            </change_format>
+        </data>
+        <data name="partitions_out" from_work_dir="partitions.txt" format="txt" label="${tool.name} on ${on_string}: Partition file">
+            <change_format>
+                <!-- Untitled and RAxML partition formats have no current equivalent datatypes so are outputted as txt by default -->
+                <when input="part_format" value="nexus" format="nex" />
+            </change_format>
+        </data>
+    </outputs>
+
+    <tests>
+        <test expect_num_outputs="2">
+            <param name="input_files" value="inputs/concat_1.fasta,inputs/concat_2.fasta" />
+            <param name="out_format" value="phylip" />
+            <param name="part_format" value="nexus" />
+            <param name="data_type" value="dna" />
+            <param name="check_align" value="false" />
+            <output name="output" file="outputs/expected_concat.phylip" ftype="phylip" />
+            <output name="partitions_out" file="outputs/expected_partitions.nex" ftype="nex" />
+        </test>
+        <test expect_num_outputs="2">
+            <param name="input_files" value="inputs/concat_1.fasta,inputs/concat_2.fasta" />
+            <param name="out_format" value="fasta" />
+            <param name="part_format" value="raxml" />
+            <param name="data_type" value="dna" />
+            <param name="check_align" value="false" />
+            <output name="output" file="outputs/expected_concat_fasta.fas" ftype="fasta" />
+            <output name="partitions_out" file="outputs/expected_partitions_raxml.txt" ftype="txt" />
+        </test>
+        <!-- Interleave tests: amas starts interleaving when sequences have lines > 500 characters -->
+        <test expect_num_outputs="2">
+            <param name="input_files" value="inputs/concat_int_1.phylip,inputs/concat_int_2.phylip" />
+            <param name="out_format" value="nexus-int" />
+            <param name="part_format" value="unspecified" />
+            <param name="data_type" value="dna" />
+            <param name="check_align" value="false" />
+            <output name="output" file="outputs/expected_concat_int.nex" ftype="nex" />
+            <output name="partitions_out" file="outputs/expected_partitions_int.txt" ftype="txt" />
+        </test>
+        <!-- Nexus interleave tests for: 'INTERLEAVE', 'Interleave=yes;', no interleave flag -->
+        <test expect_num_outputs="2">
+            <param name="input_files" value="inputs/concat_int_1.nex,inputs/concat_int_2.nex,inputs/concat_int_3.nex" />
+            <param name="out_format" value="nexus-int" />
+            <param name="part_format" value="unspecified" />
+            <param name="data_type" value="dna" />
+            <param name="check_align" value="false" />
+            <output name="output" file="outputs/expected_concat_int_multi.nex" ftype="nex" />
+            <output name="partitions_out" file="outputs/expected_partitions_int_multi.txt" ftype="txt" />
+        </test>
+    </tests>
+
+    <help><![CDATA[
+        **What it does**
+
+        AMAS Concat combines multiple sequence alignments into a single concatenated alignment, commonly used in phylogenomic analyses.
+
+        **Inputs**
+
+        - **Multiple alignment files**: Select 2 or more pre-aligned sequence files (FASTA, PHYLIP, or NEXUS format)
+        - **Input format**: Specify the format of your input files
+        - **Partition format**: Specify how you want the partition file to be formatted (Unspecified, RAxML, NEXUS)
+        - **Data type**: Choose DNA for nucleotide sequences or Protein for amino acid sequences
+        - **Output format**: Select the desired format for the concatenated alignment
+
+        **Outputs**
+
+        1. **Concatenated alignment**: A single file containing all input alignments joined end-to-end
+        2. **Partitions file**: Defines the boundaries of each original alignment within the concatenated file
+
+        @PARTITIONS_HELP@
+
+        **Use cases**
+
+        - **Multi-locus phylogenomics**: Combine hundreds of genes for species tree inference
+        - **Partitioned phylogenetic analysis**: Apply different evolutionary models to different genes using tools like RAxML or IQ-TREE
+        - **Supermatrix construction**: Create dataset for concatenation-based phylogenetic methods
+        - **Increased phylogenetic signal**: Leverage information from multiple loci to resolve difficult nodes
+        - **Comparative analyses**: Prepare datasets for testing hypotheses across multiple genomic regions
+
+        @AMAS_SHARED_HELP@
+    ]]></help>
+
+    <expand macro="citations" />
+</tool>
\ No newline at end of file