Thanks, Emmanuel. That answers my questions. Cheers, -Dave
On Tue, Oct 4, 2016 at 4:03 AM, Emmanuel Paradis <emmanuel.para...@ird.fr> wrote: > Hi David, > > Le 03/10/2016 à 17:25, David Bapst a écrit : >> >> Hi Emmanuel (and list!), >> >> These changes are appreciated, and will make dealing with multiPhylo >> objects much easier. I know I certainly have blocks of code where I >> need to 'carry' the multiPhylo class tag through every other line; it >> always been a bit of a chore. However, two questions from the peanut >> gallery. > > > I did not mention that in my previous message, but, of course, you won't > need to change your existing code or scripts: all previous or current > commands will still be valid with the next release of ape. > >> 1) Does this change result in any change in speed? Have you tested >> this? (My guess is no practical computational time change, but I was >> curious.) > > > There should not be a substantial increase in speed, but computations should > be more efficient as all specific cases will be handled within the methods > (e.g., compressed lists or not). > >> 2) Will those of us using these particular functions due to a >> dependency or importing ape functions for our libraries need to alter >> the way we call those particular functions? Have you tested this with >> R CHECK? > > > No tests have been done yet but you raise a very good point. We can > reasonably expect that no change in your package(s) will be needed because > ape exports everything, so the functions is.rooted.phylo, > is.rooted.multiPhylo, ..., will not be hidden (and will be properly > registered). > > Cheers, > > Emmanuel > > >> Finally, thank you to you (and the rest of the ape authors) for >> continuing to maintain and improve ape. >> >> Cheers, >> -Dave >> >> On Mon, Oct 3, 2016 at 8:51 AM, Emmanuel Paradis >> <emmanuel.para...@ird.fr> wrote: >>> >>> Dear all, >>> >>> We are planning to introduce a substantial change in ape: several >>> functions >>> operating on "phylo" objects will be made generic with methods for >>> "phylo" >>> and "multiPhylo" objects. The motivation is to make things simpler when >>> working with lists of trees. For instance, for a list of trees TR, >>> testing >>> if each tree is rooted can be donc with: >>> >>> sapply(TR, is.rooted) >>> >>> With the new version, this would be: >>> >>> is.rooted(TR) >>> >>> which is similar than for a "phylo" object. With functions requiring >>> additional arguments, e.g., to root all the trees with the same outgroup, >>> the current code is slightly more complicated: >>> >>> TRr <- lapply(TR, root, outgroup = "platypus") >>> class(TRr) <- class(TR) >>> >>> This is because lapply does not propagate the class of its first >>> argument. >>> The new code will be as simple as with a "phylo" object: >>> >>> TRr <- root(TR, "platypus") >>> >>> To summarize the future changes: >>> >>> 1/ Functions to become generic with methods for "phylo" and "multiPhylo": >>> >>> di2multi >>> drop.tip >>> is.binary (see below) >>> is.rooted >>> is.ultrametric >>> ladderize >>> multi2di >>> Nedge >>> Nnode >>> Ntip >>> reorder >>> root >>> unroot >>> >>> 2/ is.binary.tree() will be renamed is.binary() since the name is >>> available >>> (an alias with is.binary.tree will be provided for the next release). >>> >>> 3/ Functions already with methods for "phylo" and "multiPhylo" in ape >>> (nothing to change): >>> >>> makeLabel (generic defined in ape) >>> plot >>> print >>> summary >>> >>> 4/ The c() methods (currently for "phylo" and "multiPhylo") will be >>> improved >>> by implementing the 'recursive' option (currently ignored). This will >>> permit >>> to combine several objects of different classes into a single >>> "multiPhylo" >>> object (i.e., either a list of trees, or a list of lists depending on the >>> value of 'recursive'; see ?c). >>> >>> 5/ Functions already with methods for "multiPhylo" (nothing to change): >>> >>> str >>> unique >>> >>> Comments and suggestions are welcome. These changes will be included in >>> the >>> next release of ape which will be version 4.0 and is planned this fall. >>> As a >>> reminder, the changes already implemented are listed in: >>> >>> http://ape-package.ird.fr/NEWS >>> >>> Best, >>> >>> Emmanuel >>> >>> _______________________________________________ >>> R-sig-phylo mailing list - R-sig-phylo@r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo >>> Searchable archive at >>> http://www.mail-archive.com/r-sig-phylo@r-project.org/ >> >> >> >> > -- David W. Bapst, PhD Adjunct Asst. Professor, Geology and Geol. Eng. South Dakota School of Mines and Technology 501 E. St. Joseph Rapid City, SD 57701 http://webpages.sdsmt.edu/~dbapst/ http://cran.r-project.org/web/packages/paleotree/index.html _______________________________________________ R-sig-phylo mailing list - R-sig-phylo@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-phylo Searchable archive at http://www.mail-archive.com/r-sig-phylo@r-project.org/