BACKGROUND
methods for constructing a phylogeny given a set of the dna sequences is always a popular topic in both biological and statistical research.
many classical methods are popular, such as neighbor-joining  method, maximum parsimony  method, maximum likelihood  method, and bayesian  approaches .
there are also many programs which implement these methods, including phylip  <cit> , paup  <cit> , and mega  <cit> .
chen and lindsay introduced a mixture likelihood algorithm as a novel and natural way to deal with such problems because the distribution of offsprings' sequence is a mixture of parental distributions  <cit> .
unlike the classic methods, this approach uses the frequencies of each sequence within the population to help reconstructing the phylogeny from binary sequences.
the model proposed by chen and lindsay  <cit>  was done mathematically, as a first step, and that it should not be particularly problematic with most snps are bi-allelic with only a very small proportion  tri-allelic or quad-allelic .
the algorithm uses a k-component bernoulli mixture to model binary sequences.
it is well-known that when the parameter takes values in an infinite dimensional space, the maximum likelihood estimation often fails.
to overcome the above issue, we can first maximize over a constrained subspace of the parameter space then relax the constraint as the sample size grows.
in this case, the maximum likelihood estimation will then work.
the parameter used to create a constrained subspace is called a sieve parameter  <cit> .
in our case, the sieve parameter is the mutation rate p which is considered as a function of time in the mixture model.
by varying p from  <dig> to  <dig> , the mixture algorithm can give an estimate of the recent common ancestors of the given sequences.
in order to obtain the mixture tree of the observed sequences, the expectation-maximization  algorithm is employed.
to overcome the small weights  problem in the regular em, the nature way comes up is that we do not update the weights π. such an algorithm, we call it fixem.
the modal em is a nonparametric statistical approach to clustering via mode identification in the bernoulli mixtures .
the mixturetree program contains the regular em algorithm plus these two related optimization algorithms, fixed em  algorithm and modal em  algorithm.
any and all can be chosen to estimate the ancestral sequences.
we have found that the fixem and modalem algorithms have better computational efficiency over the regular em algorithm  <cit> .
after constructing the phylogeny, it is common for researchers to carry out a nonparametric bootstrap analysis  in which one creates bootstrap samples from the empirical distribution of sites from the original sequence data.
the mixturetree algorithm also implements a majority-rule consensus tree method from phylip.
this method is originally proposed by margush and mcmorris  <cit>  and also allows one to easily find the strict consensus tree.
implementation
the input function in the mixturetree program can read dna sequences in a simple tabular format, in which all the sequences should be stacked in the form:
sequence name   sequence   sequence' s frequency
the parameters setting can be changed in the parameter file.
three different optimization options can be chosen in the algorithm.
the output function of the program writes the estimated mixture tree in the commonly-used newick format which can be read, viewed, and manipulated by many other programs.
whether the em algorithm converges can be checked in the output file em.txt.
if chosen as an option, the bootstrap trees will also be output in newick format.
the summary of the bootstrap trees will be in a separate le.
all of the output trees can be easily imported into other packages, such as the r package ape for further manipulations.
details can be found in the userguide at http://math.asu.edu/~scchen/mixturetree.html.
RESULTS
in order to evaluate the efficiency of the mixturetree algorithm, we generated a sample of size  <dig> by using the simulator ms  with five lineages in each sample unit.
the simulator generates the true phylogeny along with the lineages, so we reconstruct the mixture tree, neighbor-joining tree and maximum parsimony tree based on the simulated lineages and then compare them with the true tree by using the robinson and foulds metric .
the metric proposed by robinson and foulds  is based on elementary operations on transforming one tree to another tree in order to compare two tree topologies.
by comparing the distances of trees, we can make conclusion of tree a is closer to tree b rather than to tree c. for each simulation we also calculate the distances among the mixture tree, neighbor-joining tree, maximum parsimony tree and maximum likelihood tree then we sum over the distances from those  <dig> simulations.
in the simulation study, we simulated  <dig> sets of sequences using various mutation rates.
for each set of sequences the length of the sequences was  <dig> snps and the number of lineages was  <dig>  with small mutation rates, we received very similar results.
for example, with mutation rate  <dig>  the sum of the distances of these  <dig> simulations for mixturetree, nj tree, mp tree, and ml tree are  <dig>   <dig>   <dig> and  <dig>  the three methods, except ml tree, were about as different from each other as they were from the true tree, showing that the new mixture tree method is fundamentally different from the other two.
the sum of the pairwise distances of mixture v.s.
nj, mixture v.s.
mp, nj v.s.
mp, mixture v.s.
ml, nj v.s.
ml, mp v.s.
ml are  <dig>   <dig>   <dig>   <dig>   <dig>   <dig> and shows that the performance of mixturetree is closer to nj tree.
the results are presented using histograms in figure  <dig>
CONCLUSIONS
from the comparison above, we can see that the efficiency of the mixture algorithm is relatively higher than the other three methods.
however, there are also some shortcomings of the mixture algorithm, for example, it is more time-consuming to obtain the phylogeny than the other two methods.
this shortcoming can be solved by implementing the fixed em or modal em instead of the traditional em algorithm.
availability and requirements
the mixturetree construction project and source codes can be found in the link http://math.asu.edu/~scchen/mixturetree.html.
it is linux based program, written in c++, which implements an algorithm based on mixture models for reconstructing phylogeny from binary sequence data, such as single-nucleotide polymorphisms .
any user uses the program needs to cite the mixturetree website and the papers listed there.
authors' contributions
sc implemented the computational model, carried out the simulations and drafted the manuscript.
mr implemented the computational model and biological interpretation.
bl participated in summarizing and interpretation the simulation results and revising the manuscript.
all authors read and approved the final manuscript.
acknowledgements and funding
the authors thank referees for their valuable comments.
sc and mr also thank their group members, reynaldo castro-estrada, mingze li, and ran wang for helping with preparing the package and writing the manual of the package.
this work is supported by national science foundation under the award number dms  <dig> to shu-chuan chen and michael s rosenberg and dms  <dig> to bruce g lindsay.
in addition, sc also acknowledge the support of national center for theoretical sciences , taiwan.

 methods for constructing a phylogeny given a set of the dna sequences is always a popular topic in both biological and statistical research. many classical methods are popular, such as neighbor-joining method, maximum parsimony method, maximum likelihood method, and bayesian approaches. there are also many programs which implement these methods, including phylip, paup, and mega. chen and lindsay introduced a mixture likelihood algorithm as a novel and natural way to deal with such problems because the distribution of offsprings' sequence is a mixture of parental distributions. unlike the classic methods, this approach uses the frequencies of each sequence within the population to help reconstructing the phylogeny from binary sequences. the model proposed by chen and lindsay was done mathematically, as a first step, and that it should not be particularly problematic with most snps are bi-allelic with only a very small proportion tri-allelic or quad-allelic. the algorithm uses a k-component bernoulli mixture to model binary sequences. it is well-known that when the parameter takes values in an infinite dimensional space, the maximum likelihood estimation often fails. to overcome the above issue, we can first maximize over a constrained subspace of the parameter space then relax the constraint as the sample size grows. in this case, the maximum likelihood estimation will then work. the parameter used to create a constrained subspace is called a sieve parameter. in our case, the sieve parameter is the mutation rate p which is considered as a function of time in the mixture model. by varying p from to, the mixture algorithm can give an estimate of the recent common ancestors of the given sequences. in order to obtain the mixture tree of the observed sequences, the expectation-maximization algorithm is employed. to overcome the small weights problem in the regular em, the nature way comes up is that we do not update the weights π. such an algorithm, we call it fixem. the modal em is a nonparametric statistical approach to clustering via mode identification in the bernoulli mixtures. the mixturetree program contains the regular em algorithm plus these two related optimization algorithms, fixed em algorithm and modal em algorithm. any and all can be chosen to estimate the ancestral sequences. we have found that the fixem and modalem algorithms have better computational efficiency over the regular em algorithm. after constructing the phylogeny, it is common for researchers to carry out a nonparametric bootstrap analysis in which one creates bootstrap samples from the empirical distribution of sites from the original sequence data. the mixturetree algorithm also implements a majority-rule consensus tree method from phylip. this method is originally proposed by margush and mcmorris and also allows one to easily find the strict consensus tree. implementation the input function in the mixturetree program can read dna sequences in a simple tabular format, in which all the sequences should be stacked in the form: sequence name   sequence   sequence' s frequency the parameters setting can be changed in the parameter file. three different optimization options can be chosen in the algorithm. the output function of the program writes the estimated mixture tree in the commonly-used newick format which can be read, viewed, and manipulated by many other programs. whether the em algorithm converges can be checked in the output file em.txt. if chosen as an option, the bootstrap trees will also be output in newick format. the summary of the bootstrap trees will be in a separate le. all of the output trees can be easily imported into other packages, such as the r package ape for further manipulations. details can be found in the userguide at http://math.asu.edu/~scchen/mixturetree.html.  in order to evaluate the efficiency of the mixturetree algorithm, we generated a sample of size by using the simulator ms with five lineages in each sample unit. the simulator generates the true phylogeny along with the lineages, so we reconstruct the mixture tree, neighbor-joining tree and maximum parsimony tree based on the simulated lineages and then compare them with the true tree by using the robinson and foulds metric. the metric proposed by robinson and foulds is based on elementary operations on transforming one tree to another tree in order to compare two tree topologies. by comparing the distances of trees, we can make conclusion of tree a is closer to tree b rather than to tree c. for each simulation we also calculate the distances among the mixture tree, neighbor-joining tree, maximum parsimony tree and maximum likelihood tree then we sum over the distances from those simulations. in the simulation study, we simulated sets of sequences using various mutation rates. for each set of sequences the length of the sequences was snps and the number of lineages was with small mutation rates, we received very similar results. for example, with mutation rate the sum of the distances of these simulations for mixturetree, nj tree, mp tree, and ml tree are and the three methods, except ml tree, were about as different from each other as they were from the true tree, showing that the new mixture tree method is fundamentally different from the other two. the sum of the pairwise distances of mixture v.s. nj, mixture v.s. mp, nj v.s. mp, mixture v.s. ml, nj v.s. ml, mp v.s. ml are and shows that the performance of mixturetree is closer to nj tree. the results are presented using histograms in figure  from the comparison above, we can see that the efficiency of the mixture algorithm is relatively higher than the other three methods. however, there are also some shortcomings of the mixture algorithm, for example, it is more time-consuming to obtain the phylogeny than the other two methods. this shortcoming can be solved by implementing the fixed em or modal em instead of the traditional em algorithm. availability and requirements the mixturetree construction project and source codes can be found in the link http://math.asu.edu/~scchen/mixturetree.html. it is linux based program, written in c++, which implements an algorithm based on mixture models for reconstructing phylogeny from binary sequence data, such as single-nucleotide polymorphisms. any user uses the program needs to cite the mixturetree website and the papers listed there. authors' contributions sc implemented the computational model, carried out the simulations and drafted the manuscript. mr implemented the computational model and biological interpretation. bl participated in summarizing and interpretation the simulation results and revising the manuscript. all authors read and approved the final manuscript. acknowledgements and funding the authors thank referees for their valuable comments. sc and mr also thank their group members, reynaldo castro-estrada, mingze li, and ran wang for helping with preparing the package and writing the manual of the package. this work is supported by national science foundation under the award number dms to shu-chuan chen and michael s rosenberg and dms to bruce g lindsay. in addition, sc also acknowledge the support of national center for theoretical sciences, taiwan.
the user's guide and source codes will be available at http://math.asu.edu/~scchen/mixturetree.html the mixturetree program written in c++ is a linux based package. mixturetree v is a linux based program which implements an algorithm based on mixture models for reconstructing phylogeny from binary sequence data, such as single-nucleotide polymorphisms. the efficiency of the mixture algorithm is relatively higher than some classical methods, such as neighbor-joining method, maximum parsimony method and maximum likelihood method. the shortcoming of the mixture tree algorithms, for example timing consuming, can be improved by implementing other revised expectation-maximization algorithms instead of the traditional em algorithm. in addition to the mixture algorithm with three different optimization options, the program also implements a bootstrap procedure with majority-rule consensus.
 mixturetree v is a linux based program which implements an algorithm based on mixture models for reconstructing phylogeny from binary sequence data, such as single-nucleotide polymorphisms. in addition to the mixture algorithm with three different optimization options, the program also implements a bootstrap procedure with majority-rule consensus.  the mixturetree program written in c++ is a linux based package. the user's guide and source codes will be available at http://math.asu.edu/~scchen/mixturetree.html  the efficiency of the mixture algorithm is relatively higher than some classical methods, such as neighbor-joining method, maximum parsimony method and maximum likelihood method. the shortcoming of the mixture tree algorithms, for example timing consuming, can be improved by implementing other revised expectation-maximization algorithms instead of the traditional em algorithm. 