# Re: [R-sig-phylo] Extract all possible clades from a tree

```Hmm. Maybe something wonky with your tree? I simulated a 17-tip tree and tried
things out:```
```
phy <- rtree(17);
rootID <- length(phy\$tip.label) + 1;
counter <- 1;
for (i in rootID:max(phy\$edge[,1])) {
# do something. just printing clade properties here
print(paste0("clade ", counter, " (node ", i, ") has ",
counter <- counter + 1;
}

[1] "clade 1 (node 18) has 17 tips."
[1] "clade 2 (node 19) has 11 tips."
[1] "clade 3 (node 20) has 10 tips."
[1] "clade 4 (node 21) has 4 tips."
[1] "clade 5 (node 22) has 3 tips."
[1] "clade 6 (node 23) has 2 tips."
[1] "clade 7 (node 24) has 6 tips."
[1] "clade 8 (node 25) has 5 tips."
[1] "clade 9 (node 26) has 3 tips."
[1] "clade 10 (node 27) has 2 tips."
[1] "clade 11 (node 28) has 2 tips."
[1] "clade 12 (node 29) has 6 tips."
[1] "clade 13 (node 30) has 2 tips."
[1] "clade 14 (node 31) has 4 tips."
[1] "clade 15 (node 32) has 3 tips."
[1] "clade 16 (node 33) has 2 tips."

JWB
________________________________________
Joseph W. Brown
Post-doctoral Researcher, Smith Laboratory
University of Michigan
Department of Ecology & Evolutionary Biology
Room 2071, Kraus Natural Sciences Building
Ann Arbor MI 48109-1079
josep...@umich.edu

> On 5 Jan, 2017, at 17:18, Kamila Naxerova <knaxer...@partners.org> wrote:
>
> Dear Joseph,
>
> thanks so much. This is exactly what I need!
>
> I am running into some problems that I don’t understand though. In my case,
> rootID is 18, and max(phy\$edge[,1]) is 33. When I try to execute your loop,
> this happens:
>
>
> Phylogenetic tree with 17 tips and 16 internal nodes.
>
> Tip labels:
>       X1, X8, X9, X10 ...
>
> Rooted; includes branch lengths.
>
> So far so good… but then I keep getting these errors:
>
> Error in phy\$edge[, 2] : incorrect number of dimensions
> Error in phy\$edge[, 2] : incorrect number of dimensions
>
> Not sure why extract.clade produces these errors. 19-23 don’t work, 24-26
> work, 27 produces the error again, 28 works etc.
>
> Thanks again.
>
> Kamila
>
>
>> On Jan 5, 2017, at 4:12 PM, Joseph W. Brown <josep...@umich.edu
>> <mailto:josep...@umich.edu>> wrote:
>>
>> Not sure if I understand the problem completely, but this should allow you
>> to examine all of the clades (and should work if polytomies are involved):
>>
>> # for tree phy
>> rootID <- length(phy\$tip.label) + 1;
>> for (i in rootID:max(phy\$edge[,1])) {
>>   # do something
>> }
>>
>> This includes the root node (i.e. whole tree), but that can be changed. This
>> can be rewritten as an lapply if necessary.
>>
>> HTH.
>> JWB
>> ________________________________________
>> Joseph W. Brown
>> Post-doctoral Researcher, Smith Laboratory
>> University of Michigan
>> Department of Ecology & Evolutionary Biology
>> Room 2071, Kraus Natural Sciences Building
>> Ann Arbor MI 48109-1079
>> josep...@umich.edu <mailto:josep...@umich.edu>
>>
>>
>>
>>> On 5 Jan, 2017, at 15:50, Kamila Naxerova <knaxer...@partners.org
>>> <mailto:knaxer...@partners.org>> wrote:
>>>
>>> Hi all,
>>>
>>> I would like to break a phylogenetic tree into all possible clades and then
>>> examine each one of them for certain characteristics.
>>>
>>> I am writing some code to do this from scratch, but it’s getting pretty
>>> cumbersome quickly.
>>>
>>> I was wondering whether there are some functions out there already that
>>> could help me with this task?
>>>
>>> Thanks so much for any help.
>>>
>>> Cheers,
>>> Kamila
>>>
>>>
>>> The information in this e-mail is intended only for the person to whom it is
>>> addressed. If you believe this e-mail was sent to you in error and the
>>> e-mail
>>> HelpLine at
>>> http://www.partners.org/complianceline
>>> <http://www.partners.org/complianceline> . If the e-mail was sent to you in
>>> error
>>> properly
>>> dispose of the e-mail.
>>> _______________________________________________
>>> R-sig-phylo mailing list - R-sig-phylo@r-project.org
>>> <mailto:R-sig-phylo@r-project.org>
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-phylo
>>> <https://stat.ethz.ch/mailman/listinfo/r-sig-phylo>
>>> Searchable archive at
>>> http://www.mail-archive.com/r-sig-phylo@r-project.org/
>>> <http://www.mail-archive.com/r-sig-phylo@r-project.org/>
>

[[alternative HTML version deleted]]

_______________________________________________
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/```