[Phylobase-commits] r584 - pkg/R

Ben Bolker bolker at ufl.edu
Tue Aug 25 05:03:21 CEST 2009


  at present we're only warning on export (phylo4 -> phylo), not
vice versa.

  at present i'm pretty certain that trying to plot a badly ordered
tree in ape can crash R.

  Ben

Steve Kembel wrote:
> I'm also in favour of not automatically reordering trees on phylo <>
> phylo4 conversion. There are cases where I would really like to
> maintain tree order (because I have some information about nodes that
> is in Newick string order).
> 
> I am not sure of a better solution. Am I correct that unknown ordering
> is only really a potential problem on export *to* ape where it could
> break some functions (i.e. plotting)? Could we warn in this case but
> not on phylo -> phylo4 conversion?
> 
> -Steve
> On Mon, Aug 24, 2009 at 7:23 PM, Ben Bolker<bolker at ufl.edu> wrote:
>>  hmmm.
>>  you may be right, but this will presumably break round-trip capability
>> -- i.e. if we import a tree with unknown ordering and automatically
>> re-order it when we export, the round trip will have changed it.
>> Am I being too obsessive about this?  Is there a better solution?
>>
>>  Ben
>>
>> Peter D. Cowan wrote:
>>> On Tue, Aug 25, 2009 at 02:58:59AM +0200, noreply at r-forge.r-project.org wrote:
>>>> Author: bbolker
>>>> Date: 2009-08-25 02:58:59 +0200 (Tue, 25 Aug 2009)
>>>> New Revision: 584
>>>>
>>>> Modified:
>>>>    pkg/R/setAs-Methods.R
>>>> Log:
>>>>   added error if unknown ordering imported from ape
>>>>   added warning if unknown ordering exported to ape
>>>>
>>> How about reordering unknown trees before exporting them?  This seems likely to flood users with warnings.
>>>
>>> peter
>>>
>>>> Modified: pkg/R/setAs-Methods.R
>>>> ===================================================================
>>>> --- pkg/R/setAs-Methods.R    2009-08-25 00:51:06 UTC (rev 583)
>>>> +++ pkg/R/setAs-Methods.R    2009-08-25 00:58:59 UTC (rev 584)
>>>> @@ -26,11 +26,11 @@
>>>>          }
>>>>      }
>>>>      oldorder <- attr(from,"order")
>>>> -    neworder <- if (is.null(oldorder)) { "unknown" } else {
>>>> -      switch(oldorder,
>>>> -             pruningwise="pruningwise",
>>>> -             cladewise="preorder")
>>>> -    }
>>>> +    neworder <- if (is.null(oldorder)) { "unknown" } else
>>>> +    if (!oldorder %in% phylo4_orderings) {
>>>> +      stop("unknown ordering '",oldorder,"' in ape object")
>>>> +    } else if (oldorder=="cladewise") "preorder"
>>>> +    else oldorder
>>>>      attr(from,"order") <- NULL
>>>>      newobj <- phylo4(from$edge, from$edge.length, from$tip.label,
>>>>                       node.label = from$node.label,
>>>> @@ -113,9 +113,10 @@
>>>>                                     preorder  = 'cladewise',
>>>>                                     unknown = 'unknown',
>>>>                                     pruningwise = 'pruningwise')
>>>> -    } else {
>>>> -      ## warning ??
>>>> -    }
>>>> +      } else {
>>>> +        ## warning ??
>>>> +        warning("trees with unknown order may be unsafe in ape")
>>>> +      }
>>>>      if (length(y$edge.length) == 0)
>>>>          y$edge.length <- NULL
>>>>      if (length(y$node.label) == 0)
>>>>
>>>> _______________________________________________
>>>> Phylobase-commits mailing list
>>>> Phylobase-commits at lists.r-forge.r-project.org
>>>> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/phylobase-commits
>>
>> --
>> Ben Bolker
>> Associate professor, Biology Dep't, Univ. of Florida
>> bolker at ufl.edu / www.zoology.ufl.edu/bolker
>> GPG key: www.zoology.ufl.edu/bolker/benbolker-publickey.asc
>>
>>
>> _______________________________________________
>> Phylobase-commits mailing list
>> Phylobase-commits at lists.r-forge.r-project.org
>> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/phylobase-commits
>>
>>
> 
> 
> 


-- 
Ben Bolker
Associate professor, Biology Dep't, Univ. of Florida
bolker at ufl.edu / www.zoology.ufl.edu/bolker
GPG key: www.zoology.ufl.edu/bolker/benbolker-publickey.asc

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
Url : http://lists.r-forge.r-project.org/pipermail/phylobase-commits/attachments/20090824/7969b08d/attachment.pgp 


More information about the Phylobase-commits mailing list