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-0.1.2.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

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

genphylo-0.1.2-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for genphylo-0.1.2.tar.gz
Algorithm Hash digest
SHA256 83c123e4e4e8cd4936cfd7b91fac0dd0bc42645f20fd9995e6e04b05ca581a3c
MD5 292a0d0e6271d958d6c5bb2ddde2341f
BLAKE2b-256 9df42d8eddbe830f27c798784bdbb94623fcce06eaa9405ca93fcba51eb3905d

See more details on using hashes here.

File details

Details for the file genphylo-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: genphylo-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.4

File hashes

Hashes for genphylo-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9cf6453c93b6ffecbe93ee7611217dd8278c2f2c04070aa1c7258812c38a036b
MD5 4af29b31fc2c50a20bf5fa4c26c83c04
BLAKE2b-256 fcad26c97f1470397bb88896c65128b20dc66c6a80525bccb9bd79f8bb6ff479

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