2014-01-14 7 views
1

하나의 열에 loci 이름이 있고 다른 열에 DNA 시퀀스가있는 데이터 프레임이 있습니다. 나는 as.DNAbin{ape} 또는 비슷한 DNAbin 개체를 만들려고 노력하고있어. 여기데이터 프레임에 저장된 DNA 시퀀스와 함께 as.DNAbin {ape}을 사용하는 방법은 무엇입니까?

일부 예시적인 데이터 :

X < - 구조 (c ('55548', '43297', '35309', '34468', 'AATTCAATGCTCGGGAAGCAAGGAAAGCTGGGGACCAACTTCTCTTGGAGACATGAGCTTAGTGCAGTTAGATCGGAAGAGCA " "AATTCCTAAAACACCAATCAAGTTGGTGTTGCTAATTTCAACACCAACTTGTTGATCTTCACGTTCACAACCGTCTTCACGTT " "AATTCACCACCACCACTAGCATACCATCCACCTCCATCACCACCACCGGTTAAGATCGGAAGAGCACACTCTGAACTCCAGTC " "AATTCTATTGGTCATCACAATGGTGGTCCGTGGCTCACGTGCGTTCCTTGTGCAGGTCAACAGGTCAAGTTAAGATCGGAAGA ")는 .dim에서의 C = (4L, 2L))

0,123,516

y <- as.DNA(x) R은 길이가 2 인 DNA 시퀀스 4 개 (예제의 4 개 행)를 사용하여 일종의 DNAbin 개체를 만듭니다 (두 개의 열은 가정합니다). 레이블이없고 물론 기본 구성이 아닙니다. 어느 쪽이든 일하십시오.

설명서는 분명하지 않지만 패키지의 woodmouse 예제 데이터를 가지고 노는 후 각베이스가 열로 구성된 행렬을 만든 다음 as.DNAbin을 사용한다고 생각합니다. 나는. 위의 예제에서 4 x 84 행렬 (locus name은 1 열, sequence는 83 열). 이 작업을 수행하는 방법에 대한 조언이 필요하십니까? 아니면 더 좋은 생각이야?

감사

답변

1
as.DNAbin

의 최초의 파라미터는 매트릭스 또는 DNA 서열을 포함하는리스트 또는 클래스 "정렬"의 목적 이어야한다. 그래서, 당신의 생각은 옳습니다.

y <- t(sapply(strsplit(x[,2],""), tolower)) rownames(y) <- x[,1] 

그런 다음 as.DNAbin(y) 쇼 :

4 DNA sequences in binary format stored in a matrix. 

All sequences of same length: 83 

Labels: 55548 43297 35309 34468 

Base composition: 
    a  c  g  t 
0.289 0.262 0.205 0.244 
+0

많은 감사,이 작품

을 감안할 때 x가 원래의 게시물의 구조, 코드는 아래 매트릭스 y을 준비합니다. 작은 편집 (너무 작아서 그렇게 할 수 없습니다. intro parragraph에서는'as.DNAbin'이 아니라'as.DNA'가 아닙니다. –

+0

예, 맞습니다. 답을 업데이트했습니다. – redmode