Как в «обезьяне» рассчитываются пропорции кладов и пропорции бипартов?

Рассмотрим следующий набор данных:

fictional.df <- data.frame(L1 = c(0,0,0,0,0,0,0,0), 
                       L2 = c(0,1,0,0,0,1,1,0),
                       L3 = c(1,1,0,1,1,1,1,1), 
                       L4=c(0,0,1,1,0,0,0,0))

Я преобразовал это в объект phyDat, а затем создал матрицу попарных расстояний следующим образом:

fictional.phydat <- as.phyDat(fictional.df,
                          type="USER",levels=c("1","0"),
                          names=names(fictional.df))
fictional.hamming <- dist.hamming(fictional.phydat)

Затем из этой матрицы расстояний я оценил дерево UPGMA:

fictional.upgma <- upgma(fictional.hamming)

Затем я создал наборы данных начальной загрузки:

set.seed(187)
fictional.upgma.bs <- bootstrap.phyDat(fictional.phydat, FUN =  
function(xx) upgma(dist.hamming(xx)), bs=100)

Затем я рассчитал долю разделов в загрузочном наборе:

upgma.bs.part <- prop.part(fictional.upgma.bs)

Все идет нормально. Вот где я был бы признателен за помощь. Когда я вызываю функцию prop.clades, я не понимаю результат:

prop.clades(fictional.upgma,fictional.upgma.bs)
[1] 100  NA  71

Почему эта функция возвращает NA, когда в наборе деревьев начальной загрузки есть свидетельство этой клады?

Второй вопрос:

prop.clades(fictional.upgma,part=upgma.bs.part)
[1] 100  49 112

Если есть только 100 образцов начальной загрузки, почему значение для конечной клады 112?


person Namenlos    schedule 02.11.2018    source источник


Ответы (1)


Ваше дерево fictional.upgma является корневым, а prop.clades по умолчанию возвращает, как часто происходит каждое разделение на две части. В корневом дереве два ребра, ведущие к корню, относятся к одному и тому же разделению или разбиению:

prop.clades(unroot(fictional.upgma), fictional.upgma.bs)
[1] 100  71

Для корневых деревьев иногда требуется подсчитать количество идентичных кладов:

prop.clades(fictional.upgma, fictional.upgma.bs, rooted=TRUE)
[1] 100  49  71

Это похоже на ошибку, и вам лучше сообщить об этом Эммануэлю Пардису.

prop.clades(fictional.upgma,part=upgma.bs.part)
[1] 100  49 112
person klash    schedule 13.02.2019