[Phylobase-devl] node retrieval
Marguerite Butler
mbutler at hawaii.edu
Fri Mar 7 08:20:08 CET 2008
>> Hilmar Lapp wrote:
>>> On Mar 5, 2008, at 3:14 AM, Steve Kembel wrote:
>>>> Are there any more decisions to be made about what to call things?
>>>> Tips, internals, nodes, edges
>>>> Descendant, ancestor, sister
>>> I wouldn't use sister, use the more neutral 'sibling' instead.
>>> There is also typically a distinction between parents versus
>>> ancestors, and children (or daughters) versus descendants (the
>>> first ones being in direct relationship, and the latter ones
>>> direct or via transitivity).
>>> -hilmar
>>
>>
>> that's useful. so my functions (ancestor, descendants,
>> alldescendants, allancestors) could be (parent, children,
>> descendants, ancestors) ... ?
>
> That's right. allancestors() sounds confusing, for the above reasons.
>
> Obviously you could just have ancestors(), with an option direct=TRUE|
> FALSE. You could also still have parents() and have it just delegate
> to ancestors(direct=TRUE). Personally that's probably what I would go
> with implementation-wise, but it may be more a matter of taste than
> anything else.
>
> -hilmar
Woa guys! As far as I know, people who use comparative methods think
of ancestor and descendant as the direct relationship.
It may be because when students are being taught systematics, this is
the terminology that we use to talk about character evolution on
trees (especially when introducing synapomorphy, homology, homoplasy,
etc). Which way the ancestor - descendant relationship goes matters a
great deal when you are trying to figure out character polarity
(which is the new vs. ancestral character state)
Also, there might be stuff floating around. Years ago, Wayne Maddison
made a tree programming tutorial in Pascal, and he used ancestor-
descendant to talk about linking nodes together via pointers. I am
pretty sure that Joe Felsenstein used this terminology too in an
short document in his Phylip package (all written in ascii!)
So, please don't use parent to mean ancestor and descendant() to mean
grab the entire clade! That will be very confusing. I would prefer
the single function, but with the default indicated this way:
ancestor(all=FALSE)
descendant(all=FALSE)
If you are coming from the point of view that descendant means direct
descendant and ancestor means direct ancestor, this might be more
intuitive.
Marguerite
____________________________________________
Marguerite A. Butler
Department of Zoology
University of Hawaii
2538 McCarthy Mall, Edmondson 259
Honolulu, HI 96822
Phone: 808-956-4713
FAX: 808-956-9812
Dept: 808-956-8617
http://www2.hawaii.edu/~mbutler
http://www.hawaii.edu/zoology/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.r-forge.r-project.org/pipermail/phylobase-devl/attachments/20080306/21fe7ca4/attachment-0001.htm
More information about the Phylobase-devl
mailing list