# HG changeset patch
# User iuc
# Date 1764667619 0
# Node ID 24431ccf6352c04468d7ba607439721a7628b9b6
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/amas commit 158ec0e635067d354c425baf14b95cb616fd93c4
diff -r 000000000000 -r 24431ccf6352 amas_replicate.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/amas_replicate.xml Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,98 @@
+
+ replicate multiple alignments
+
+
+ macros.xml
+
+
+
+ amas
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 check_interleaved.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/check_interleaved.py Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,112 @@
+"""
+Helper script to check if AMAS input files are interleaved.
+"""
+import argparse
+import re
+import sys
+
+
+def check_phylip_interleaved(filepath):
+ """Check if PHYLIP file is interleaved."""
+ with open(filepath, encoding='utf-8') as f:
+ # First line is header: ntax nchar
+ header = next(f).strip().split()
+ ntax = int(header[0])
+
+ for idx, line in enumerate(f, 1):
+ if line.strip():
+ if idx > ntax:
+ return True
+
+ return False
+
+
+def check_nexus_interleaved(filepath):
+ """Check if NEXUS file is interleaved."""
+ in_data_block = False
+ in_matrix = False
+ ntax = None
+ seq_lines = 0
+
+ with open(filepath, encoding='utf-8') as f:
+ for line in f:
+ content = line.strip().lower()
+
+ if not content:
+ continue
+
+ if in_matrix:
+ if content == 'end;':
+ return seq_lines != ntax if ntax else False
+
+ if content != ';':
+ seq_lines += 1
+ if ntax and seq_lines > ntax:
+ return True
+ continue
+
+ if not in_data_block:
+ if content.startswith('begin'):
+ words = content.split()
+ if len(words) > 1 and (
+ words[1].startswith('data')
+ or words[1].startswith('characters')):
+ in_data_block = True
+ continue
+
+ if content.startswith('dimensions') and ntax is None:
+ match = re.search(r'ntax=(\d+)', content)
+ if match:
+ ntax = int(match.group(1))
+
+ elif content.startswith('format'):
+ if re.search(r'\binterleave(?:;|=yes;?)?\b', content):
+ return True
+
+ elif content.startswith('matrix'):
+ in_matrix = True
+
+ return False
+
+
+def check_fasta_interleaved(filepath):
+ """FASTA files are not interleaved."""
+ return False
+
+
+def main():
+ parser = argparse.ArgumentParser(
+ description='Check if AMAS input files are interleaved'
+ )
+ parser.add_argument('input_files', nargs='+', help='Input sequence files')
+ parser.add_argument('--format', required=True,
+ choices=['fasta', 'phylip', 'nexus'],
+ help='Input format')
+
+ args = parser.parse_args()
+
+ interleaved_status = []
+ for filepath in args.input_files:
+ if args.format == 'phylip':
+ is_interleaved = check_phylip_interleaved(filepath)
+ elif args.format == 'nexus':
+ is_interleaved = check_nexus_interleaved(filepath)
+ else:
+ is_interleaved = check_fasta_interleaved(filepath)
+
+ interleaved_status.append(is_interleaved)
+
+ interleaved_status = list(set(interleaved_status))
+ if len(interleaved_status) > 1:
+ raise Exception("Error: Input files are a mix of interleaved/sequential formats")
+
+ if interleaved_status[0]:
+ print(f"{args.format}-int")
+ else:
+ print(args.format)
+
+ return 0
+
+
+if __name__ == '__main__':
+ sys.exit(main())
diff -r 000000000000 -r 24431ccf6352 macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,173 @@
+
+ 1.0
+ 0
+ 25.0
+
+
+
+ amas
+
+
+
+
+ python -c "import amas; print(amas.__version__)"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ out_format == "fasta"
+
+
+
+
+ out_format == "phylip" or out_format == "phylip-int"
+
+
+
+
+ out_format == "nexus" or out_format == "nexus-int"
+
+
+
+
+
+
+
+
+
+ 10.7717/peerj.1660
+
+
+
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/concat_1.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/concat_1.fasta Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,6 @@
+>OTU1
+?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU2
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU10
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/concat_2.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/concat_2.fasta Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,6 @@
+>OTU1
+?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU2
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU10
+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/concat_int_1.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/concat_int_1.nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,22 @@
+#NEXUS
+
+BEGIN DATA;
+ DIMENSIONS NTAX=3 NCHAR=300;
+ FORMAT INTERLEAVE DATATYPE=DNA GAP = - MISSING = ?;
+ MATRIX
+Taxon_A ATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCAT
+Taxon_B GCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGT
+Taxon_C TTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCT
+
+Taxon_A ATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCAT
+Taxon_B GCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGT
+Taxon_C TTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCT
+
+Taxon_A ATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCAT
+Taxon_B GCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGT
+Taxon_C TTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCT
+
+
+;
+
+END;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/concat_int_1.phylip
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/concat_int_1.phylip Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,12 @@
+3 300
+Taxon_A ATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCAT
+Taxon_B GCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGT
+Taxon_C TTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCT
+
+ATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCAT
+GCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGT
+TTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCT
+
+ATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCAT
+GCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGT
+TTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCT
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/concat_int_2.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/concat_int_2.nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,19 @@
+#NEXUS
+
+Begin data;
+ Dimensions Nchar=300 Ntax=3;
+ Format Datatype=DNA Gap = - Missing = ? Interleave=yes;
+ matrix
+Taxon_A AAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+Taxon_B GGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAA
+Taxon_C TTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGG
+
+Taxon_A GGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTT
+Taxon_B CCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTT
+Taxon_C AAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+
+Taxon_A AAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+Taxon_B GGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAA
+Taxon_C TTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGG
+;
+End;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/concat_int_2.phylip
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/concat_int_2.phylip Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,12 @@
+3 300
+Taxon_A AAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+Taxon_B GGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAA
+Taxon_C TTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGG
+
+GGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTT
+CCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTT
+AAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+
+AAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+GGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAA
+TTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGG
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/concat_int_3.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/concat_int_3.nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,16 @@
+#NEXUS
+
+begin data;
+ dimensions nchar=200 ntax=3;
+ format datatype=DNA gap = - missing = ?;
+ matrix
+Taxon_A AAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+Taxon_B GGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAA
+Taxon_C TTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGG
+
+Taxon_A GGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTT
+Taxon_B CCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTT
+Taxon_C AAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+
+;
+end;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/concat_result.phylip
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/concat_result.phylip Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,4 @@
+3 200
+OTU1 ?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+OTU10 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
+OTU2 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCTACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/fasta1.fas
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/fasta1.fas Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,20 @@
+>OTU1
+?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU2
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU3
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU4
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU5
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU6
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU7
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU8
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU9
+ACACATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU10
+ACACATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/partitions_concat.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/partitions_concat.nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,6 @@
+#NEXUS
+
+Begin sets;
+ charset p1_concat_1 = 1-100;
+ charset p2_concat_2 = 101-200;
+End;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/partitions_concat_unspecified.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/partitions_concat_unspecified.txt Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,2 @@
+p1_concat_1 = 1-100
+p2_concat_2 = 101-200
diff -r 000000000000 -r 24431ccf6352 test-data/inputs/remove_input.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/inputs/remove_input.nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,20 @@
+#NEXUS
+
+BEGIN DATA;
+ DIMENSIONS NTAX=10 NCHAR=100;
+ FORMAT DATATYPE=DNA GAP = - MISSING = ?;
+ MATRIX
+ OTU1 ?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU10 ACACATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU2 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU3 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU4 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU5 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU6 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU7 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU8 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU9 ACACATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+
+;
+
+END;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_concat.phylip
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_concat.phylip Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,4 @@
+3 200
+OTU1 ?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+OTU10 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
+OTU2 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCTACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_concat_fasta.fas
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_concat_fasta.fas Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,12 @@
+>OTU1
+?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCA
+ACTGCTTAGCTCCACTCGCT?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTC
+CAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+>OTU10
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAATTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
+>OTU2
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCA
+ACTGCTTAGCTCCACTCGCTACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTC
+CAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_concat_int.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_concat_int.nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,18 @@
+#NEXUS
+
+BEGIN DATA;
+ DIMENSIONS NTAX=3 NCHAR=600;
+ FORMAT INTERLEAVE DATATYPE=DNA GAP = - MISSING = ?;
+ MATRIX
+Taxon_A ATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTT
+Taxon_B GCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAACCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTT
+Taxon_C TTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+
+AAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+GGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAA
+TTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGG
+
+
+;
+
+END;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_concat_int_multi.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_concat_int_multi.nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,18 @@
+#NEXUS
+
+BEGIN DATA;
+ DIMENSIONS NTAX=3 NCHAR=800;
+ FORMAT INTERLEAVE DATATYPE=DNA GAP = - MISSING = ?;
+ MATRIX
+Taxon_A ATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATATGCATGCATAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTT
+Taxon_B GCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGCTAGCTAGTGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAACCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTT
+Taxon_C TTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTAGCTAGCTTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+
+AAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTT
+GGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAAGGGGGAAAAACCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTTCCCCCTTTTT
+TTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGTTTTTGGGGGAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCCAAAAACCCCC
+
+
+;
+
+END;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_partitions.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_partitions.nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,6 @@
+#NEXUS
+
+Begin sets;
+ charset p1_concat_1 = 1-100;
+ charset p2_concat_2 = 101-200;
+End;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_partitions_int.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_partitions_int.txt Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,2 @@
+p1_concat_int_1 = 1-300
+p2_concat_int_2 = 301-600
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_partitions_int_multi.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_partitions_int_multi.txt Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,3 @@
+p1_concat_int_1 = 1-300
+p2_concat_int_2 = 301-600
+p3_concat_int_3 = 601-800
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_partitions_raxml.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_partitions_raxml.txt Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,2 @@
+DNA, p1_concat_1 = 1-100
+DNA, p2_concat_2 = 101-200
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_remove_filtered.int-nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_remove_filtered.int-nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,19 @@
+#NEXUS
+
+BEGIN DATA;
+ DIMENSIONS NTAX=8 NCHAR=100;
+ FORMAT INTERLEAVE DATATYPE=DNA GAP = - MISSING = ?;
+ MATRIX
+OTU1 ?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+OTU2 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+OTU3 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+OTU4 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+OTU5 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+OTU6 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+OTU7 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+OTU8 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+
+
+;
+
+END;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_replicate1.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_replicate1.nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,20 @@
+#NEXUS
+
+BEGIN DATA;
+ DIMENSIONS NTAX=10 NCHAR=100;
+ FORMAT DATATYPE=DNA GAP = - MISSING = ?;
+ MATRIX
+ OTU1 ?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU10 ACACATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU2 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU3 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU4 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU5 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU6 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU7 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU8 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU9 ACACATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+
+;
+
+END;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_replicate2.nex
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_replicate2.nex Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,20 @@
+#NEXUS
+
+BEGIN DATA;
+ DIMENSIONS NTAX=10 NCHAR=100;
+ FORMAT DATATYPE=DNA GAP = - MISSING = ?;
+ MATRIX
+ OTU1 ?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU10 ACACATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU2 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU3 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU4 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU5 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU6 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU7 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU8 ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+ OTU9 ACACATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCAACTGCTTAGCTCCACTCGCT
+
+;
+
+END;
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_split_partition1.fas
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_split_partition1.fas Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,9 @@
+>OTU1
+?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCA
+ACTGCTTAGCTCCACTCGCT
+>OTU10
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAA
+>OTU2
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCA
+ACTGCTTAGCTCCACTCGCT
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_split_partition2.fas
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_split_partition2.fas Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,9 @@
+>OTU1
+?ACCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCA
+ACTGCTTAGCTCCACTCGCT
+>OTU10
+TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
+TTTTTTTTTTTTTTTTTTTT
+>OTU2
+ACCCATGTTTGTTGTAGGAGTCAACTTAGAAGCTTATGACCCATCCTATAAAGTCATCTCCAATGCCTCGTGCACAACCA
+ACTGCTTAGCTCCACTCGCT
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_summary.txt Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,2 @@
+Alignment_name No_of_taxa Alignment_length Total_matrix_cells Undetermined_characters Missing_percent No_variable_sites Proportion_variable_sites Parsimony_informative_sites Proportion_parsimony_informative AT_content GC_content A C G T K M R Y S W B V H D X N O - ?
+fasta1.fas 10 100 1000 1 0.1 2 0.02 1 0.01 0.543 0.457 262 297 160 280 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
\ No newline at end of file
diff -r 000000000000 -r 24431ccf6352 test-data/outputs/expected_taxa_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/outputs/expected_taxa_summary.txt Tue Dec 02 09:26:59 2025 +0000
@@ -0,0 +1,11 @@
+Alignment_name Taxon_name Sequence_length Undetermined_characters Missing_percent AT_content GC_content A C G T K M R Y S W B V H D X N O - ?
+fasta1.fas OTU1 100 1 1.0 0.545 0.455 26 29 16 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
+fasta1.fas OTU10 100 0 0.0 0.55 0.45 27 29 16 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+fasta1.fas OTU2 100 0 0.0 0.54 0.46 26 30 16 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+fasta1.fas OTU3 100 0 0.0 0.54 0.46 26 30 16 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+fasta1.fas OTU4 100 0 0.0 0.54 0.46 26 30 16 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+fasta1.fas OTU5 100 0 0.0 0.54 0.46 26 30 16 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+fasta1.fas OTU6 100 0 0.0 0.54 0.46 26 30 16 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+fasta1.fas OTU7 100 0 0.0 0.54 0.46 26 30 16 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+fasta1.fas OTU8 100 0 0.0 0.54 0.46 26 30 16 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+fasta1.fas OTU9 100 0 0.0 0.55 0.45 27 29 16 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
\ No newline at end of file