[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