Ngesh, a tool for simulating random phylogenetic trees DOI DOI 10.5281/zenodo.2619311 10.5281/zenodo.2619311 ngesh is a Python library for simulating random phylogenetic trees and related data. It is intended for benchmarking phylogenetic methods and for providing dummy trees during the development or debugging of phylogenetic methods. The generation of random phylogenetic trees also goes by the name of “simulation methods for phylogenetic trees” or just “simulating phylogenetic trees”. Please note that this is both a work in progress and a library intended to be simple, for complex methods see the bibliography and the alternatives here listed In detail, with ngesh: • trees are returned either as strings in Newick representation or as Python’s ETE tree objects • trees will also have random branch-lengths, which you can remove if are only interested in the topology • trees can be generated from user-provided seeds, so that the random generation can be reproduced across executions (while it cannot be guaranteed due to many technical reasons, the execution should be reproducible also in different machines and different version of Python) • trees can be generated according to user-provided birth and death ratios (and the death ratio can be set to zero, resulting in a birth-only tree) • non-extant leaves can be pruned from birth-death trees • speciation events default to two descendants, but the number of descendants can be randomly drawn from a user-defined Poisson process (so that it is possible to model hard politomies) • trees can be limited in terms of number of extant leaves, evolution time (as related to the birth and death parameters), or both • nodes can optionally receive unique labels, either sequential ones (like “L01”, “L02”, and “L03”), random human-readable names (like “Sume”, “Fekobir”, and “Tukok”), or random biological names approximating the binomial nomenclature standard (like “Sburas wioris”, “Zurbata ceglaces”, and “Spellis spusso”) Installation In any standard Python environment, ngesh can be installed with: pip install ngesh 1