[Phylobase-devl] Conference call minutes

Peter Cowan pdc at berkeley.edu
Mon Mar 24 21:00:10 CET 2008


> While I understand that we can do without default labels, I can  
> think of a case were multiple identical labels would be useful. Even  
> for missing labels, I guess that their values should be NA rather  
> than "".

Sorry for not being clear, this is the consensus view.


>> Cons:
>>
>>   *  Different from the |ape| implementation

> This would not be such a problem if we knew how all the code calling  
> ape functions will be affected... do we? Anyway, I think we'll  
> diverge from ape soon or later, so this time may be as good as any.

I agree with you, this time is as good as any.  However, this would  
mean scrapping some of the 'backward compatibility' such as the $ hack.

>>   *  May require rewriting some existing phylobase code
>>
> I would say 'likely requires to write new phylobase code instead of  
> previous calls to ape functions'.

Right, which we currently use for dropping tips and plotting and  
perhaps some other things.

>>   *  Proposed tree walking function names:
>>
>>      Internally, define “one step” ancestor/descendant functions,
>>      called |children()| and |ancestor()|. Then there are recursive
>>      functions
>>
>>      |ancestors(..., which = c("all", "parent")) # default to "all"  
>> since ancestor() exists
>>
>>      descendants(..., which = c("children", "tips", "all")) # first  
>> option calls children()
>>      |
>>
>>      The only thing that might be confusing here is the existence of
>>      a separate function, children(), that does the same thing as
>>      descendants with its default option. An alternative would be to
>>      have “children” be invisible/internal, or defined within
>>      descendants.
>>
> My naive question is: why not 'ancestor()', 'descendant()' and their  
> plurial forms?

I'm fine with this, or parent(), children(), ancestors(), descendants().

Peter


More information about the Phylobase-devl mailing list