2013-10-25 7 views
1

단백질 데이터 세트를 분석하고 있습니다. R에서 패키지 phangorn을 가진 트리를 만들려고합니다. 내가 그것을 만들 때 때때로 분석 (modelTest)을 진행하기가 어려워지는 네거티브 에지 길이를 갖습니다. 데이터 세트 (250 개가 넘는 단백질)의 크기에 따라 modelTest를 수행 할 수 없습니다. 분명히 부정적인 가장자리 길이로 인해 문제가 있습니다. 그러나 더 짧은 데이터 세트의 경우 음의 엣지 길이가 있더라도 modelTest를 수행 할 수 있습니다. 터미널에서 직접 실행 중입니다.모델 R과 Phangorn의 테스트 및 네거티브 에지 길이

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! 

누군가 내가 무엇을 할 수 있는지 알고 있습니까? 문제가 정말 마이너스 또는 제로 지점 길이 경우

환호, 알바

+0

SO에 오신 것을 환영합니다 - 귀하의 데이터 세트를 사용할 수 없기 때문에 귀하의 예는 재현 할 수 없습니다. 다른 사람들이 예제를 더 잘 제공 할 수 있도록 작은 데이터 예제를 제공 할 수 있는지 확인하십시오. R에서 재현 가능한 예제를 만드는 방법에 대한 팁은 다음 링크를 참조하십시오. http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

+0

여기에 대한 대답은 주석에 명시된 바와 같습니다. 아래에, phangorn.ModelTest는 220 개 이상의 분류군에 대한 데이터 세트에 오류가 있음을 알았습니다. 문제는 음수 분기 길이가 아니 었습니다. – Argalatyr

+0

동일한 오류 메시지가 나타 났으며 문제점은 내 트리가 초 임계 적이라는 것이 아닙니다. – user1981275

답변

1

@Marc 말했듯이, 당신의 예를 들어 당신이 그들을 정말 작은을 시도 할 수,

... 정말 재현되지 않습니다 예를 들어 양수 :

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

또 다른 팁은 R-sig-phylo에 가입하는 것입니다은, R. 사람들의 계통에 대한 메일 목록은 일반적으로 꽤 빨리 응답 정말 지식이 있습니다.

+0

답변 해 주셔서 대단히 감사합니다. 필자는 예제를 재현 가능하게 만들려고 노력했지만, 마침내 나는 최대 데이터 집합 인 phangorn 분석이 220 시퀀스라는 것을 결정할 수있었습니다. 그래서 modelTest는 더 큰 데이터 세트로 시도 할 때 오류가 발생했습니다. – aLbAc