1

タンパク質データセットを分析しています。Rでパッケージを使用してツリーを構築しようとしていますphangorn。構築すると、エッジの長さが負になり、分析 (modelTest) の続行が困難になることがあります。 データセットのサイズ (250 以上のタンパク質) によっては、modelTest を実行できません。どうやら負のエッジ長による問題があるようです。ただし、より短いデータセットの場合、負のエッジ長がいくつかある場合でも、modelTest を実行できます。 端末から直接実行しています。

library(phangorn)
dat = read.phyDat(file, format="fasta", type="AA")
tax <- read.table("organism_names.txt", sep="\t", row.names=1)
names(dat) <- tax[,1]
distance <- dist.ml(dat, model="WAG")
tree <- bionj(distance)
mt <- modelTest(dat, tree, model=c("WAG", "LG", "cpREV", "mtArt", "MtZoa", "mtREV24"),multicore=TRUE)

    Error: NA/NaN/Inf in foreign function call (arg 1)
    In addition: Warning message:
    In pml(tree, data) : negative edges length changed to 0!

誰かが私に何ができるか考えていますか?

乾杯、アルバ

4

1 に答える 1

1

@Marcが言ったように、あなたの例は実際には再現できません...

問題が実際に負またはゼロの分岐長である場合は、たとえば、それらを非常に小さな正の数にすることができます。

tree$edge.length[which(tree$edge.length <= 0)] <- 0.0000001

もう 1 つのヒントは、 R の系統発生に関するメーリング リストであるR-sig-phyloに登録することです。

于 2013-10-26T03:17:37.230 に答える