Skip to main content

ZOMBI2 ZOMBI2 logo

🌐 Website · Documentation · Manual (pdf)

CI PyPI Docs License: MIT Python 3.10+

Simulating the evolution of species, genomes, sequences and traits.

ZOMBI2 simulates evolution at four levels — the species tree of lineages, the genomes that evolve along it, the sequences inside each gene, and the traits a lineage carries. Use it to generate benchmark datasets with known ground truth for phylogenetic and comparative methods.


Install

pip install zombi2

Quickstart

Each level is its own subcommand. Here a dated species tree, then gene families evolving along it under duplication, transfer, loss and origination, then sequences down each gene tree:

zombi2 species   out/ --birth 1 --death 0.3 --n-extant 20 --seed 1
zombi2 genomes   out/ --duplication 0.2 --transfer 0.1 --loss 0.25 --origination 0.5 --seed 42
zombi2 sequences out/ --model hky85 --length 1000 --seed 1

zombi2 <command> -h documents each of species, genomes, sequences and traits, with its own examples.

From Python, each level is one function, and the result object carries the history:

from zombi2 import species, genomes

sp = species.simulate_species_tree(birth=1.0, death=0.3, n_extant=20, seed=1)
g  = genomes.simulate_genomes_family(sp, duplication=0.2, transfer=0.1, seed=42)

g.gene_trees                    # the true gene tree of every family
g.write("run/")                 # the event log and the copy-number profiles

Levels

ZOMBI2 is organized around four levels of evolution. A genome, a sequence or a trait always evolves along a species tree, so you run whichever you need, composed into one seeded, reproducible run.

The four levels of evolution ZOMBI2 simulates: the species tree forks into genomes and traits, and sequences continue below genomes

  • Species trees — a birth–death process with rates that can shift in time, saturate with diversity or drift down the tree, plus mass extinctions, incomplete sampling and fossils. Extinct lineages are kept, so the complete tree and the extant one are both available.
  • Genomes — gene families under duplication, transfer, loss and origination, at three resolutions: gene families, ordered chromosomes with rearrangements, and nucleotide genomes where genes are blocks of DNA.
  • Sequences — nucleotide (JC69, K80, HKY85, GTR) and protein substitution models run down each gene tree, with ancestral sequences at every node.
  • Traits — continuous traits that diffuse, revert to an optimum or shift at speciation, and discrete traits switching between states.

Combining levels

A level can be conditioned on another — a rate reads a value some other level produced — or the two can be grown jointly, when neither can be simulated first because each drives the other. Both are one mechanism, DrivenBy(source, mapping), on any rate. See conditioning and joining.


Citation

A dedicated ZOMBI2 paper is in preparation. Until then, cite the original ZOMBI.

License

ZOMBI2 is released under the MIT License.

Download files

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

Source Distribution

zombi2-0.14.0.tar.gz (4.6 MB view details)

Uploaded Source

Built Distribution

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

zombi2-0.14.0-py3-none-any.whl (290.6 kB view details)

Uploaded Python 3

File details

Details for the file zombi2-0.14.0.tar.gz.

File metadata

  • Download URL: zombi2-0.14.0.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for zombi2-0.14.0.tar.gz
Algorithm Hash digest
SHA256 f92b9f0d9f3c74dd300d2e41377ca7c6276f01dd6c7e992fd9a1416c0e2b1e9c
MD5 4e6dcdd7c6162cd8072942080861e28a
BLAKE2b-256 2751af302c7c5a43f23bc294237d80bafe9df7a205d0b03ee1e135036f091f54

See more details on using hashes here.

Provenance

The following attestation bundles were made for zombi2-0.14.0.tar.gz:

Publisher: release.yml on AADavin/zombi2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zombi2-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: zombi2-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 290.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for zombi2-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37ca3a1527f98ffeb348875109e75fd2ae8f907bdff76eb9e46e92e7a5f0fbb2
MD5 b7e6d1c1fee8a0ee184a27c657d2227b
BLAKE2b-256 0ed1d3373cea69a71301e65485510e1f6b5166dd3372c122dea3d85471bf99c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for zombi2-0.14.0-py3-none-any.whl:

Publisher: release.yml on AADavin/zombi2

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.44.0

2 files

0.43.2

2 files

0.43.1

2 files

0.43.0

2 files

0.42.2

2 files

0.42.1

2 files

0.42.0

2 files

0.41.0

2 files

0.40.0

2 files

0.39.4

2 files

0.39.3

2 files

0.39.2

2 files

0.39.1

2 files

0.39.0

2 files

0.38.0

2 files

0.37.0

2 files

0.36.0

2 files

0.35.0

2 files

0.34.0

2 files

0.33.1

2 files

0.33.0

2 files

0.32.0

2 files

0.31.0

2 files

0.30.0

2 files

0.29.0

2 files

0.28.0

2 files

0.27.0

2 files

0.26.0

2 files

0.25.0

2 files

0.24.0

2 files

0.23.0

2 files

0.22.0

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.0

2 files

This release

0.14.0 This release

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

Supported by

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