Skip to main content

GenPhylo generates synthetic alignments on a phylogenetic tree with given branch lengths.

Project description

GenPhylo: Generating Data on Phylogenetic trees

Authors: Marta Casanellas, Martí Cortada, Adrià Diéguez


GenPhylo generates synthetic alignments on a phylogenetic tree with given branch lengths.

The user has two options depending on which arguments are chosen. Both of them need to take as input a tree in the Newick format (with nodes of any degree) with annotated branch lengths.

▶️ Option 1: Generate $N$ FASTA files with alignments of length $L$ given a Newick tree

The program generates a set of transition matrices according to the input tree <tree.txt> and its branch lengths. From these matrices, $N$ different alignments of length $L$ are simulated A root distribution input parameter also needs to be passed: we can impose a random distribution or a specific one. The outputs (a .txt file with the transition matrices and a .tar with the .FASTA files corresponding to the simulated alignments) can be named using the <experiment_name> input parameter and are saved in the output_files directory

An example with $N = 5$ and $L=1000$:

Using a random root distribution:

python3 GenPhylo.py <tree.txt> 5 1000 random <experiment_name>

Using a specific root distribution (note that A,G,C,T must be values that sum up to 1)

python3 GenPhylo.py <tree.txt> 5 1000 "[A,G,C,T]" <experiment_name>

▶️ Option 2: Generate FASTA files with alignments of given lengths $L_1,...,L_d$ given a Newick tree

Working very similarly as the first option, the second one allows to generate aligments of different length. The program generates a set of transition matrices according to the input tree <tree.txt> and its branch lengths and from these matrices, alignments of length $L_1,...,L_d$ are generated (we can add as many lengths as alignments we want to generate. ). The outputs are saved the same way as described for Option 1.

An example, for $L_1 = 500$, $L_2 = 1000$ and $L_3 = 10000$

Using a random root distribution:

python3 GenPhylo.py <tree.txt> L500 L1000 L10000 random <experiment_name>

Using a specific root distribution (note that A,G,C,T must be values that sum up to 1)

python3 GenPhylo.py <tree.txt> L500 L1000 L10000 "[A,G,C,T]" <experiment_name>

⚠️ Note that in this case, sequence lengths are preceeded by an $L$.


This repository includes the file IQ-TREE_analysis.pdf that describes how we verified the precision of our alignments simulator by using the phylogenetic software IQ-TREE.


⚙️ This software is developped under de GNU General Public License v3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genphylo-1.1.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

GenPhylo-1.1.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file genphylo-1.1.0.tar.gz.

File metadata

  • Download URL: genphylo-1.1.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for genphylo-1.1.0.tar.gz
Algorithm Hash digest
SHA256 2ec12f4a809ee213979e0271b0adbd343cd0811dec4a26d2a4c829e933080cc2
MD5 365034065ff27c4b2700ed98e347324d
BLAKE2b-256 8cb61b10983a1520441d945f6b8e541da0283501789624fb64d8db867db86240

See more details on using hashes here.

File details

Details for the file GenPhylo-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: GenPhylo-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for GenPhylo-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e89900236a132a7091580a9df46ab38be76527dbec2184d26f5b7f1db39def1
MD5 0e292838274d4b6d4e5a63f3f61908f0
BLAKE2b-256 eef012b2750aea14ed889be2a2300c76514726694b7d04677087fb6f74746700

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page