비교

2014-03-30 6 views
0

난이 변화 SNP 중 임의 .. (DAT2) I 모든 행 또는 ALT, ALT1 및 ALT2 모든 셀 라벨해야비교

CHOM POS REF  ALT  ALT1 ALT2 ... 
1 121 A  AA   AT  0 
2 254 GCGC GCGCG  AGCG  0 
3 214 C  T   0   0 

이러한 데이터를 가질 때 , 삭제, 삽입.

당신이 SNP 및 삭제 및 삽입을 구별 할 수있는 방법이 설명됩니다 ..

REF ALT1 ALT2 
A  T  NA = SNP 
AT T   = deletion 
CG CGG  = insertion 
ATT AT   = deletion 

어쩌면 출력이

CHOM POS REF  ALT    ALT1   ALT2 ... 
    1 121 A  deletion   insertion  0 
    2 254 GCGC  insertion   SNP   0 
+0

을 제공합니다 나는 영어 포스터의 기본 언어되지 않을 수 있습니다 실현,하지만 대부분의 독자가 필요로 생각 SO 유전/R 사람들이 추가 설명없이 해독 할 수없는 한 좀 더 많은 맥락. – hrbrmstr

+0

이해하기가 그리 어렵지 않습니다. 이것은 매우 일반적인 작업이므로,이를 수행하는 기능을 포함하고있는 생물 도체에 패키지가 없다는 것을 믿기 어렵습니다. 바퀴를 재발견 할 이유가 없습니다. – rawr

+0

희망적으로 지금 당신은 이해할 수 있습니다 .. – user3478697

답변

2

한 가지 간단한 방법 같은 것은보고 nchar을 사용하는 것입니다 각 문자열의 길이. 이 가정 데이터가-사전 소독 예를 들어

을되었습니다

ref <- c("A", "AT", "CG", "ATT") 
alt1 <- c("T", "T", "CGG", "AT") 

ref.length <- nchar(ref) 
alt1.length <- nchar(alt1) 

variations <- ifelse(ref.length==alt1.length, "SNP", 
        ifelse(ref.length>alt1.length, "deletion", 
          "insertion")) 

> cbind(ref, alt1, variations) 
    ref alt1 variations 
A "A" "T" "SNP"  
AT "AT" "T" "deletion" 
CG "CG" "CGG" "insertion" 
ATT "ATT" "AT" "deletion" 
+0

추측을 삭제해야합니다. –

+0

왜'sapply (ref, nchar)'입니까? -'nchar'은 벡터화되어 있으므로'nchar (ref)'는 정상적으로 작동합니다. – thelatemail

+0

@thelatemail : 당신 말이 맞아요. 대답이 업데이트되었습니다. – nico