<p>For maximum parsimony, Fitch's method seems simple and intuitive, and can be done in the R phangorn package: Fitch, Walter M. (1971). "Toward Defining the Course of Evolution: Minimum Change for a Specific Tree Topology". Systematic Zoology. 20 (4): 406. doi:10.2307/2412116. ISSN 0039-7989. JSTOR 2412116</p>

<p>There are various methodological criticisms of parsimony that you can find in the literature, but its appeal is you can easily understand why the algorithm came to the conclusions it did. </p>

<p>RAxML can do maximum likelihood reconstructions based on a tree and tip values, and I think Mr. Bayes can do a Bayesian version.</p>

CC BY-SA 4.0
2019-01-29T13:53:35.843Z
Curious, it seems like Systematic Biology has the same paper [here](https://academic.oup.com/sysbio/article-abstract/20/4/406/1673276)
llrs
CC BY-SA 4.0
2019-01-30T14:03:56.317Z
The 70s sure were a crazy time!
Jay Moore
CC BY-SA 4.0
2019-01-29T11:14:06.697Z
2019-02-01T10:33:33.850Z
2019-02-01T10:33:33.850Z
Jay Moore
<p>Yes this approach is done in parsimony, i.e. you can indicate the outgroup and the ancestral state is calculated from there. I assume this is also performed using 'Beast' because it is a non-reversible matrix. Regular ML and Bayes approaches use reversible mutation matrices therefore the tree is calculated first, you can then specify an outgroup to calculate the ancestral state. However, in a reversible matrix the ancestral state is not used in the calcuation. I hope that makes sense.</p>

CC BY-SA 4.0
2018-12-28T21:35:02.293Z
2018-12-28T21:35:02.293Z
M__
<p>Various phylogenetic algorithms estimate ancestral states of a phylogenetic dataset. Is there a way in either maximum parsimony, distance-based methods, or Bayesian inference to indicate what the ancestral states of characters were? </p>

CC BY-SA 4.0
2018-06-20T23:34:51.153Z
In what respect? Do you mean as in looking at the evolution of a character on a tree? If so, there are algorithms for constrained Brownian motion. If you mean in terms of tree estimation, then knowing the ancestral states implies that you know something about the relationships already - if so, you can use constraint trees for some relationships in ML and Bayesian inference.
NatWH
CC BY-SA 4.0
2018-06-20T23:35:58.063Z
Otherwise if you are just looking for ancestral character state estimation, look at the ace() function in the ape package, or make.simmap() in phytools.
NatWH
CC BY-SA 4.0
2018-06-20T23:38:08.367Z
Thank you. I had in mind specification of ancestral states in terms of tree estimation, so I will investigate constraint trees in ML and Bayesian inference.
Namenlos
<software-recommendation><phylogenetics><algorithms><phylogeny>
Do any computational phylogenetic methods enable the specification of ancestral states?
# Do any computational phylogenetic methods enable the specification of ancestral states?

(Asked by: username_0 on 2018-06-20)

Various phylogenetic algorithms estimate ancestral states of a phylogenetic dataset. Is there a way in either maximum parsimony, distance-based methods, or Bayesian inference to indicate what the ancestral states of characters were?

**Tags:** software-recommendation, phylogenetics, algorithms, phylogeny
> **Comments:**
> **username_1**: In what respect? Do you mean as in looking at the evolution of a character on a tree? If so, there are algorithms for constrained Brownian motion. If you mean in terms of tree estimation, then knowing the ancestral states implies that you know something about the relationships already - if so, you can use constraint trees for some relationships in ML and Bayesian inference.  
> **username_1**: Otherwise if you are just looking for ancestral character state estimation, look at the ace() function in the ape package, or make.simmap() in phytools.  
> **username_0**: Thank you. I had in mind specification of ancestral states in terms of tree estimation, so I will investigate constraint trees in ML and Bayesian inference.  

---

## 2 answers

### Answer by username_2 on 2019-01-29. Score: 2

For maximum parsimony, Fitch's method seems simple and intuitive, and can be done in the R phangorn package: Fitch, Walter M. (1971). "Toward Defining the Course of Evolution: Minimum Change for a Specific Tree Topology". Systematic Zoology. 20 (4): 406. doi:10.2307/2412116. ISSN 0039-7989. JSTOR 2412116

There are various methodological criticisms of parsimony that you can find in the literature, but its appeal is you can easily understand why the algorithm came to the conclusions it did.

RAxML can do maximum likelihood reconstructions based on a tree and tip values, and I think Mr. Bayes can do a Bayesian version.

> **Comments:**
> **username_3**: Curious, it seems like Systematic Biology has the same paper [here](https://academic.oup.com/sysbio/article-abstract/20/4/406/1673276)  
> **username_2**: The 70s sure were a crazy time!  

---

### Answer by username_4 on 2018-12-28. Score: 1

Yes this approach is done in parsimony, i.e. you can indicate the outgroup and the ancestral state is calculated from there. I assume this is also performed using 'Beast' because it is a non-reversible matrix. Regular ML and Bayes approaches use reversible mutation matrices therefore the tree is calculated first, you can then specify an outgroup to calculate the ancestral state. However, in a reversible matrix the ancestral state is not used in the calcuation. I hope that makes sense.


---

