Как создать файл newick из кластера в R?

Приведенный ниже сценарий прекрасно работает, чтобы получить кластер с огромным набором данных, но мне нужно поместить кластер в файл newick или текстовый файл, чтобы я мог экспортировать его из R в другие программы редактирования, но я не могу найти способ получить hclust в формате newick, как я могу это сделать? Я чувствую, что функция new2phylo может работать, но нам не удалось заставить ее работать.

Я был бы очень признателен за вашу помощь, так как мы искали везде и не можем найти решение =(

datos <- read.table("morphclustersred.csv",header=T,sep="\t")
head(datos)
distfunc <- function(x) daisy(x,metric="gower")
d <- distfunc(datos)
hclustfunc <- function(x) hclust(x, method="complete")
fit <- hclustfunc(d)
plot(fit)
plot(fit, labels=datos$Species,main='Morphological Clustering')
rect.hclust(fit, k=5, border="red")

person user3301513    schedule 12.02.2014    source источник
comment
Что такое файл Ньюика?   -  person Spacedman    schedule 12.02.2014
comment
Вы проверили Биокондуктор или library(sos); findFn("write newick")?   -  person Roman Luštrik    schedule 12.02.2014
comment
Большое спасибо Роман!! Получил работу! Большой! функция от ctc write(hc2Newick(fit), file='hclust.newick')   -  person user3301513    schedule 13.02.2014


Ответы (2)


Вы можете сделать это, используя функцию write.tree из пакета ape. Попробуй это:

library(ape)
class(fit) # must be hclust class
my_tree <- as.phylo(fit) 
write.tree(phy=my_tree, file="exported_tree.newick") # look for the file in your working directory

Надеюсь это поможет.

person Newbie_R    schedule 29.03.2014

Мне только когда-либо удавалось извлечь форматы .nwk из тепловых карт с помощью следующих шагов преобразования:

  • дендро --> hcclust --> фило --> nwk

Я знаю, что это немного хак, но вот код:

# Heatmap of data frame 'data' saved as 'heat'
heat <- heatmap.2(as.matrix(data))

# Extract dendrograms for rows and columns from 'heat'
row.dendro <- heat$rowDendrogram
col.dendro <- heat$colDendrogram

# Convert dendrograms to nwk (via .hcclust and .phylo formats!)
as.hclust (row.dendro)  ->row.hcclust
as.phylo  (row.hcclust) ->row.phylo
write.tree(row.phylo)   ->row.nwk

as.hclust (col.dendro)  ->col.hcclust
as.phylo  (col.hcclust) ->col.phylo
write.tree(col.phylo)   ->col.nwk
person T.Shafee    schedule 27.11.2014