TRAMPO (TRAnsMembrane Protein Order) is a fast, automated pipeline for analyzing nucleotide composition in transmembrane, matrix, and inner membrane space regions of mitochondrial protein-coding genes (PCGs) across multiple species. Its primary output is a partitioned NEXUS file β split by codon position, strand, and transmembrane domain β ready for phylogenetic inference.
π Publication: Cucini, C., Nardi, F., & Pons, J. (2026). Integrating Secondary Structure Information Enhances Phylogenetic Signal in Mitochondrial Protein Coding Genes. Systematic Biology, syag027. https://doi.org/10.1093/sysbio/syag027
TrempΓ³ (trΙmΛpo in Catalan) is a Mallorcan summer salad of pale green pepper, tomato, and onion dressed with salt and extra virgin olive oil β its colors blend those of the Italian flag.
- Overview
- Requirements
- Installation
- Quick Start
- Usage
- Input File Format
- Pipeline Workflow
- Outputs
- Limitations
- License
- Contact
Given (i) FASTA files for each of the 13 mitochondrial PCGs, (ii) the corresponding genetic code, and (iii) a model organism, TRAMPO:
- Validates and corrects all input files
- Aligns ingroup sequences together with the chosen model species
- Partitions protein regions into three domains β TM (transmembrane), MA (mitochondrial matrix), IM (inner mitochondrial space) β based on the model organism's topology prediction
- Generates statistics, graphics, and a partitioned NEXUS charset file split by codon position, gene, and domain
- Linux OS
- Conda
It is recommended to update your system before installation:
sudo apt update && sudo apt upgrade# Clone the repository
git clone https://github.com/dbajpp0/TRAMPO.git
cd TRAMPO
# Create and activate the conda environment
conda env create -f TRAMPO.yml
conda activate TRAMPO
# Make all scripts executable
find . -type f -exec chmod +x {} \;
# Add TRAMPO to your PATH
cd .. && sudo cp -r TRAMPO /usr/local/bin/
# Append to ~/.bashrc
echo 'export PATH=$PATH:/usr/local/bin/TRAMPO' >> ~/.bashrc
source ~/.bashrctrampo -p examples/Primates -c 2 -m hsaThis runs TRAMPO on primate PCG sequences using the vertebrate mitochondrial genetic code (code 2) and Homo sapiens as the model organism. Example outputs are available in the examples_outputs/ folder.
Usage: trampo [-p PATH] [-c INT] [-m STR] [OPTIONS]
REQUIRED:
-p, --path PATH Path to directory containing FASTA files
-c, --code INT NCBI genetic code (https://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi)
-m, --model STR Model organism nickname (see list below)
OPTIONAL:
-s, --sequence FASTA FASTA file of model organism amino acid sequences (required with -t)
-t, --tables PATH Path to user-provided TMHMM table files (required with -s)
-o, --outdir PATH Output directory (default: outdir)
-g, --gene_order STR Gene order model for strand-based partitioning (see list below)
-n, --threads INT Number of threads for MAFFT (default: 1)
MISCELLANEA:
-h, --help Display help and exit
-v, --version Display version and exit
Choose the phylogenetically closest organism to your study group:
| Nickname | Species | Taxon |
|---|---|---|
hsa |
Homo sapiens | Mammalia |
lse |
Lycodon semicarinatus | Lepidosauria |
gga |
Gallus gallus | Aves |
xle |
Xenopus leavis | Amphibia |
dre |
Danio rerio | Actinopterygii |
sca |
Scyliorhinus canicula | Chondrichthyes |
pma |
Petromyzus marinus | Agnatha |
ppe |
Patiria pectinifera | Asteroidea |
spu |
Strongylocentrotus purpuratus | Echinoidea |
dme |
Drosophila melanogaster | Pancrustacea |
rsa |
Rhipicephalus sanguineus | Chelicerata |
aca |
Albinaria caerulea | Mollusca |
lte |
Lumbricus terrestris | Annelida |
cel |
Caenorhabditis elegans | Nematoda |
mse |
Metridium senile | Cnidaria |
user |
Custom model (requires -s and -t) |
β |
Follows NCBI Genetic Code tables. Common values: 2 (vertebrate mitochondrial), 5 (invertebrate mitochondrial).
Enables strand-based partitioning (heavy/light chain). Choose the arrangement matching your model organism:
| Nickname | Taxon |
|---|---|
vert |
All vertebrates |
panc |
Arthropods |
ances |
L. terrestris, C. elegans, M. senile |
albin |
A. caerulea |
To use a custom gene order:
echo "positive:nad3,nad4,nadl,nad5,cox1,cox2,cox3,cytb,atp6,atp8" > templates/go/mycustomgo
echo "negative:nad1,nad2,nad6" >> templates/go/mycustomgo
trampo -p myFolder -c 2 -m hsa -go mycustomgoTRAMPO expects one FASTA file per gene, with filenames matching accepted gene name patterns (case-insensitive):
Genes_folder/
βββ cox1.fa
βββ cox2.fa
βββ cox3.fa
βββ cytb.fa
βββ atp6.fa
βββ atp8.fa
βββ nd1.fa
βββ nd2.fa
βββ nd3.fa
βββ nd4.fa
βββ ndl.fa
βββ nd5.fa
βββ nd6.fa
Accepted filenames per gene:
| Gene | Accepted names |
|---|---|
| ATP6 | ATP6, A6, MT-ATP6, ATPASE6 |
| ATP8 | ATP8, A8, MT-ATP8, ATPASE8 |
| COX1 | COX1, CO1, COXI, MT-CO1, MTCO1, MTCOX1, MTCOXI |
| COX2 | COX2, CO2, COXII, MT-CO2, MTCO2, MTCOX2, MTCOXII |
| COX3 | COX3, CO3, COXIII, MT-CO3, MTCO3, MTCOX3, MTCOXIII |
| CYTB | CYTB, COB, MT-CYB, MTCYB |
| ND1 | ND1, NAD1, NADH1, MT-ND1, MTND1 |
| ND2 | ND2, NAD2, NADH2, MT-ND2, MTND2 |
| ND3 | ND3, NAD3, NADH3, MT-ND3, MTND3 |
| ND4 | ND4, NAD4, NADH4, MT-ND4, MTND4 |
| ND4L | NDL, NAD4L, NADH4L, MT-ND4L, MTND4L |
| ND5 | ND5, NAD5, NADH5, MT-ND5, MTND5 |
| ND6 | ND6, NAD6, NADH6, MT-ND6, MTND6 |
Sequences must be nucleotides. See the examples/ folder for reference.
trampo -p examples/Primates -c 2 -m hsaAnalyzes primate mitochondrial PCGs using Homo sapiens topology predictions and vertebrate mitochondrial genetic code.
If none of the built-in model organisms fits your dataset, you can supply your own TMHMM prediction tables and corresponding amino acid sequences.
Pass -m user along with:
-tβ path to a folder of TMHMM-formatted table files-sβ FASTA file of the model organism's amino acid sequences
Table folder structure:
TMHMM_tables/
βββ atp6_tmhmm.txt
βββ atp8_tmhmm.txt
βββ cox1_tmhmm.txt
...
βββ nd6_tmhmm.txt
Each file must follow TMHMM2.0 output format, for example:
# lcl|NC_012920.1_prot_YP_003024026.1_1 Length: 318
# lcl|NC_012920.1_prot_YP_003024026.1_1 Number of predicted TMHs: 8
...
lcl|NC_012920.1_prot_YP_003024026.1_1 TMHMM2.0 outside 1 3
lcl|NC_012920.1_prot_YP_003024026.1_1 TMHMM2.0 TMhelix 4 23
lcl|NC_012920.1_prot_YP_003024026.1_1 TMHMM2.0 inside 24 67
...
The FASTA sequence file must use gene names as headers (following the accepted name table above):
>nad1_ppa
TPMTNLLLLIVPVLIAMAFLMLTERKILGYMQLRKGPNIVG...
>nad2_ppa
MNPLAQPIIYSTIFAGTFITVLSSHWFFTWVGLEMNMLAF...
Example:
trampo -p examples/Primates -c 2 -t examples/TMHMM_tables -s examples/Pan_panicus.fna -m user- Input validation β checks FASTA format, nucleotide content, duplicate headers, sequence length outliers, and stop codons; corrects issues where possible
- Amino acid alignment β individual genes aligned via MAFFT v7.475
- Model organism integration β reference sequence added and dataset re-aligned with
--add; alignment back-translated to nucleotides - NEXUS conversion β alignments converted via EMBOSS seqret v6.5.7.0 and concatenated into
nt_combined.nex - Domain partitioning β each alignment sliced into TM, MA, and IM charsets based on model organism topology
- Partition file generation β up to 8 NEXUS partition schemes produced (see Outputs)
- Statistical analysis β amino acid frequency, RSCU, GC content, and AT/CG skew computed per region (and per strand if
-gis used) - Graphical output β plots in HTML and PDF format
Output is written to outdir/ (or the directory specified with -o):
outdir/
βββ 1_Original_Files/ # Copies of input files
βββ 2_Corrected_Files/ # Corrected nucleotide and amino acid sequences
βββ 3_Nexus/
β βββ AA/ # Amino acid NEXUS alignments
β βββ NT/ # Nucleotide NEXUS alignments + partition schemes
βββ 4_Domains_Nexus_per_Gene/
β βββ IM/
β βββ MA/
β βββ TM/
βββ 4_Domains_Nexus_per_Strand/ # (only if -g is passed)
β βββ IM/
β βββ MA/
β βββ TM/
βββ 5_Tables/ # TSV tables: AA freq, GC freq, RSCU, skews
βββ 6_Stat/ # Summary statistics and MannβWhitney tests
βββ 7_Graphics/ # HTML and PDF plots
NEXUS partition files in outdir/:
| File | Description |
|---|---|
3p_cod.nex |
Partitioned by codon position (3 partitions) |
3p_dom.nex |
Partitioned by domain: TM, MA, IM (3 partitions) |
9p_dom_cod.nex |
Domain Γ codon position (9 partitions) |
13p_gen.nex |
Partitioned by gene (13 partitions) |
6p_cod_str.nex |
Codon Γ strand (6 partitions; requires -g) |
6p_str_dom.nex |
Strand Γ domain (6 partitions; requires -g) |
12p_MAyIM_merged.nex |
Strand Γ domain with MA+IM merged (12 partitions; requires -g) |
18p_str_dom_cod.nex |
Strand Γ domain Γ codon (18 partitions; requires -g) |
- TRAMPO is not a phylogenetic inference tool. It prepares partitioned matrices for use in software such as IQ-TREE or MrBayes.
- Only mitochondrial protein-coding genes are supported. Nuclear genes are not recommended.
- TRAMPO does not run PartitionFinder or ModelFinder.
GNU General Public License v3.0 β see LICENSE for details.
If you use TRAMPO in your research, please cite:
Cucini, C., Nardi, F., & Pons, J. (2026). Integrating Secondary Structure Information Enhances Phylogenetic Signal in Mitochondrial Protein Coding Genes. Systematic Biology, syag027. https://doi.org/10.1093/sysbio/syag027
For questions, suggestions, or bug reports: claudio.cucini2@unisi.it


