Skip to content
dbajpp0Public

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

2 watching

Forks

Latest commit

Β 

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

alt text

TRAMPO v.2024.1

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.


Table of Contents


Overview

Given (i) FASTA files for each of the 13 mitochondrial PCGs, (ii) the corresponding genetic code, and (iii) a model organism, TRAMPO:

  1. Validates and corrects all input files
  2. Aligns ingroup sequences together with the chosen model species
  3. Partitions protein regions into three domains β€” TM (transmembrane), MA (mitochondrial matrix), IM (inner mitochondrial space) β€” based on the model organism's topology prediction
  4. Generates statistics, graphics, and a partitioned NEXUS charset file split by codon position, gene, and domain

Requirements

It is recommended to update your system before installation:

sudo apt update && sudo apt upgrade

Installation

# 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 ~/.bashrc

Quick Start

trampo -p examples/Primates -c 2 -m hsa

This 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

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

Required Parameters

-m β€” Model Organism

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) β€”

-c β€” Genetic Code

Follows NCBI Genetic Code tables. Common values: 2 (vertebrate mitochondrial), 5 (invertebrate mitochondrial).


Optional Parameters

-g β€” Gene Order

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 mycustomgo

Input File Format

TRAMPO 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.


Basic Analysis

Default Model Organism

trampo -p examples/Primates -c 2 -m hsa

Analyzes primate mitochondrial PCGs using Homo sapiens topology predictions and vertebrate mitochondrial genetic code.


Advanced Analyses

Custom Model Organism

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

Pipeline Workflow

Workflow diagram

  1. Input validation β€” checks FASTA format, nucleotide content, duplicate headers, sequence length outliers, and stop codons; corrects issues where possible
  2. Amino acid alignment β€” individual genes aligned via MAFFT v7.475
  3. Model organism integration β€” reference sequence added and dataset re-aligned with --add; alignment back-translated to nucleotides
  4. NEXUS conversion β€” alignments converted via EMBOSS seqret v6.5.7.0 and concatenated into nt_combined.nex
  5. Domain partitioning β€” each alignment sliced into TM, MA, and IM charsets based on model organism topology
  6. Partition file generation β€” up to 8 NEXUS partition schemes produced (see Outputs)
  7. Statistical analysis β€” amino acid frequency, RSCU, GC content, and AT/CG skew computed per region (and per strand if -g is used)
  8. Graphical output β€” plots in HTML and PDF format

Outputs

Output overview

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)

Limitations

  • 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.

License

GNU General Public License v3.0 β€” see LICENSE for details.


Citation

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


Contact

For questions, suggestions, or bug reports: claudio.cucini2@unisi.it

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages