Skip to main content

Generate phylogenetic datasets with minimal setup effort

Project description


AliSim PyPI version

Phylogenie is a Python package designed to easily simulate phylogenetic datasets—such as trees and multiple sequence alignments (MSAs)—with minimal setup effort. Simply specify the distributions from which your parameters should be sampled, and Phylogenie will handle the rest! It also makes it easy to define your own simulation models, allowing you to tailor simulations to your specific use cases.

✨ Features

Phylogenie comes packed with useful features, including:

  • Simulate tree and multiple sequence alignment (MSA) datasets from parameter distributions 🌳🧬
    Define distributions over your parameters and sample a different combination of parameters for each dataset sample.

  • Automatic metadata management 🗂️
    Phylogenie stores each parameter combination sampled during dataset generation in a .csv file.

  • Generalizable configurations 🔧 Easily apply the same configuration across multiple dataset splits (e.g., train, validation, test).

  • Flexible acceptance criteria 🔄
    Define custom acceptance criteria on the simulated trees to ensure they meet your requirements.

  • Multiprocessing support ⚙️💻
    Simply specify the number of cores to use, and Phylogenie handles multiprocessing automatically.

  • Pre-implemented parameterizations 🎯
    Include birth-death (BD), birth-death with exposed-infectious (BDEI), birth-death with superspreading (BDSS), susceptible-infected-recovered (SIR), and other commonly used parameterizations.

  • Custom models and extensibility 🧩
    Define your own simulation models and extend Phylogenie via plugins.

  • Skyline parameter support 🪜
    Support for piece-wise constant parameters.

  • Operations on parameters 🧮
    Perform flexible operations between parameters directly within the config file.

📦 Installation

Phylogenie requires Python 3.10+ to be installed on your system. There are several ways to install Python and managing different Python versions. One popular option is to use uv.

Once you have Python set up, you can install Phylogenie directly from PyPI:

pip install phylogenie

Or install from source:

git clone https://github.com/gabriele-marino/phylogenie.git
cd phylogenie
pip install .

🛠 Backend dependencies

Phylogenie relies on AliSim for simulating multiple sequence alignments (MSAs). AliSim is a powerful MSAs simulation tool distributed with IQ-TREE, and requires separate installation to use it as a simulation backend.

🚀 Quick start

Once you have installed Phylogenie, check out the examples folder.

For quick start, pick your favorite config file and run Phylogenie with:

phylogenie examples/config_file.yaml

This command will create the output dataset in the folder specified inside the configuration file, including data directories and metadata files for each dataset split defined in the config.

📖 Examples and documentation

The documentation website provides a comprehensive reference, including detailed explanations of configuration options, models, and usage examples. It also covers the full Python API, along with step-by-step tutorials on how to develop custom plugins and extend the framework with new functionality.

📄 License

This project is licensed under MIT License.

📫 Contact

For questions, bug reports, or feature requests, please, consider opening an issue on GitHub, or contact me directly.

For help with configuration files, don’t hesitate to reach out — I’m happy to assist!

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

phylogenie-3.11.0.tar.gz (32.0 kB view details)

Uploaded Source

Built Distribution

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

phylogenie-3.11.0-py3-none-any.whl (51.5 kB view details)

Uploaded Python 3

File details

Details for the file phylogenie-3.11.0.tar.gz.

File metadata

  • Download URL: phylogenie-3.11.0.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.5

File hashes

Hashes for phylogenie-3.11.0.tar.gz
Algorithm Hash digest
SHA256 dbbf224b5b48b029a1b5431b55f43893a7eb1d25933455459092588baed3312a
MD5 6575865ed158f4778fcea2eabd0b0ab1
BLAKE2b-256 82ec8a471434ccd0c095a62b1e8a9f168848e608d63e5a3cb7a339d4645e7087

See more details on using hashes here.

File details

Details for the file phylogenie-3.11.0-py3-none-any.whl.

File metadata

File hashes

Hashes for phylogenie-3.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9520deaa756b14623b92154a8e0a161b97ce061984e787f0cf07d1c573a839d8
MD5 de27b24333daca9d2e2504943f6b9f00
BLAKE2b-256 92c27483e8cfda3c2c0cc257246310610728202b777b190f0e0052dbdeeb4435

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