[Phylobase-devl] Conference call minutes
Thibaut Jombart
jombart at biomserv.univ-lyon1.fr
Mon Mar 24 16:08:21 CET 2008
Hi all,
sorry for not being there on friday's talk.Here are some comments about
your resolutions.
>
>
> Node index and labels
>
> There was an extensive discussion regarding node labeling and
> indexing. It was determined that:
>
> 1. There should be /no/ default labels
> 2. The unique label restriction should be lifted.
>
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 "".
> 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.
>
Agreed.
>
> 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.
>
> *
>
> May require rewriting some existing phylobase code
>
I would say 'likely requires to write new phylobase code instead of
previous calls to ape functions'.
>
> *
>
> May make iterating over edge matrix trickier
>
I don't think so: for(i in nodes) is just as quick as for(in in 1:nNodes).
>
> *
>
> 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.
>
Has my vote.
>
> *
>
> 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.
>
My naive question is: why not 'ancestor()', 'descendant()' and their
plurial forms?
>
>
> 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.
>
Agreed, I also prefer the bug tacking system.
Cheers,
Thibaut.
--
######################################
Thibaut JOMBART
CNRS UMR 5558 - Laboratoire de Biométrie et Biologie Evolutive
Universite Lyon 1
43 bd du 11 novembre 1918
69622 Villeurbanne Cedex
Tél. : 04.72.43.29.35
Fax : 04.72.43.13.88
jombart at biomserv.univ-lyon1.fr
http://lbbe.univ-lyon1.fr/-Jombart-Thibaut-.html?lang=en
http://adegenet.r-forge.r-project.org/
More information about the Phylobase-devl
mailing list