GenNon-h is a software designed to generate multiple sequence alignments of DNA evolving on any phylogenetic tree.
The details of the method and its implementation can be found in:
``GenNon-h: simulating multiple sequence alignments under nonhomogeneous DNA models''
Anna M. Kedzierska and Marta Casanellas (submmitted, available at arxiv ). An earlier implementation was used in testing the new approach to model selection in phylogenetic mixtures: SPIn
Continuous-time evolutionary models given by an instantaneous rate matrix (usually common across the entire tree),
admit a given formula that relates this rate matrix to the substitution matrices.
In a more general case of the discrete-time models (JC69*, K81*, K80*, SSM and GMM) it is not a trivial task to generate
a substitution matrix corresponding to a given branch length. The task boils down to obtaining a stochastic matrix with a given determinant.
This was solved for the most well-known discrete-time models in:
"Generating Markov evolutionary matrices for a given branch length" by Marta Casanellas and Anna M. Kedzierska
(submitted, available at arxiv ).
We based the algorithm on the findings presented in the above work and extended it to generating ''biologically relevant'' and identifiable the substitution matrices.
The C++ implementation of the method can be found here . Please cite the GenNon-h paper when using results obtained with this package.