I would like to generate ensembles of N sequences in such a way that the phylogenetic trees obtained from my ensembles (e.g., by neighbor joining) have the same (or nearly the same) topology as a specified "real" tree obtained from an alignment of N proteins.

My starting point would be an empirically determined amino acid substitution matrix. The matrix would be used to generate a "random" sequence representing the root of my simulated tree. The root sequence would then be evolved, "split", and its products evolved, iteratively until N sequences are generated. Somehow, the topology of the "real" tree would be used to guide the branching process.

This problem arises in determining the significance of correlations between mutations at different sites in a protein (specifically, the "mutual information" measure). One would like to determine the contribution of "pure phylogenetic" correlations to the mutual information for a given alignment of proteins.

The answer to my question seems connected to the "parametric bootstrap procedure" commonly used in phylogeny reconstruction. In fact, the reference below seems to use this procedure to generate the ensembles I describe above. However, their procedure is not explained in detail. This makes me think that there may be a simple answer to my question.

reference :

"Separation of phylogenetic and functional associations in biological sequences by using the parametric bootstrap" K. R. Wollenberg and W. R. Atchley (2000) PNAS 97, 3288–3291


1 Answer 1


Yes, what you are looking for seems to be an alignment simulator, which is quite commonly used in phylogenetics. Given a phylogenetic tree and a substitution model, you can use for instance INDELible or DAWG to simulate the extant sequences (N sequences at the tips). These programs can also simulate the indel process (gaps), which means your final sequences won't have, by default, the same length -- but you can change the settings to exclude insertions/deletions.

There is no absolute guarantee that the tree estimated from the simulated sequences will follow the "true" one (used to simulate the sequences), but they should be close enough if:

  1. you don't simulate gaps
  2. the branch lengths are not too short
  3. the sequences are large enough
  • 1
    $\begingroup$ Thanks Leo. I scanned through the INDELible paper and this seems to be exactly what I was looking for (e.g., calls for an equilibrated root node and a newick tree as input). $\endgroup$ Commented Mar 5, 2018 at 14:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .