[Phylobase-devl] Conference call minutes

Peter Cowan pdc at berkeley.edu
Sat Mar 22 19:56:30 CET 2008


Steve, Marguerite, Ben and I talked yesterday until Ben was relegated  
to typing his responses. Below is a summary of the conversation.
Mac OS X builds

Mac OSX building still failing on R-forge and certain macs. This may  
be related to the configuration files. Additionally, it appears that  
the “Examples” folder is actually necessary for the package to auto- 
configure.

Would someone who understands the make and configure systems volunteer  
to help diagnose the build issues and ensure we have the necessary  
files to build from ‘scratch’?

Node index and labels

There was an extensive discussion regarding node labeling and  
indexing. It was determined that:

There should be no default labels
The unique label restriction should be lifted.
There was also a proposal to relax the restriction on node numbers  
being 1:length(nodes). e.g. valid edge matrices would be:

      [,1] [,2]
[1,]    4    5
[2,]    5    1
[3,]    5    2
[4,]    4    3
or

      [,1] [,2]
[1,]    4    10
[2,]    10   1
[3,]    10   2
[4,]    4    3
Pros:

The primary reason, is to have a tree framework that is consistent  
over minor variations (different subclades analyzed, adding/deleting  
nodes, etc)

Easier diffing of trees. For example, if I have a large tree of birds,  
but only have beak trait data for a subset and tarsus length for a  
different subset, comparing the two subsets is easier if the nodes are  
not renumbered.

Lower computational overhead, tree manipulations would only affect the  
parts of the edge matrix that change as opposed to rewriting the whole  
matrix for each tree change.

Cons:

Different from the ape implementation

May require rewriting some existing phylobase code

May make iterating over edge matrix trickier

May be harder to do checks on class objects?

Function naming

NexusToPhylo4(), NexusToDataFrame(), NexusToPhylo4D(), and  
read.nexustreestring() should be combined into one function with  
options to get different values. The name read.nex() was suggested for  
this new function.

Marguerite agreed to look into a NAMESPACE that might ease future  
package conflicts.

A decision was made to use camelCase() for function names.

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.

Miscellaneous

Marguerite will be teaching a NESCENT R comparative methods class at  
the end of July. We should aim to have a usable package by that time  
so she can evangelize it.

TODOs are better placed in the R-forge ticket tracker where they can  
be vigorously debated. The TODO file is currently a bit sprawling, and  
cannot be changed by people without commit access.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.r-forge.r-project.org/pipermail/phylobase-devl/attachments/20080322/fd86bb8b/attachment.htm 


More information about the Phylobase-devl mailing list