2017-03-21 1 views
2

내가 뭔가 자신에 대한 각 시퀀스를 비교한다 은 BLOSUM

library(Biostrings) 

seq_test <- c("PAWHEAE", "HEAGAWGHEE", "CAWEKDRRTEAFF", "CASSLVFGQGDNIQYF") 

aligned <- pairwiseAlignment(seq_test, seq_test, substitutionMatrix="BLOSUM62") 

score(aligned) 
#44 62 76 86 

R.

에 BLOSUM62에서 매트릭스를 만들려고하고 pairwisealignment. 각 시퀀스가 ​​반복되고 4x4 매트릭스를 만드는 시퀀스의 전체 목록과 비교할 수 있습니다. 다음 비교

44 -7 -23 -52 
-7 62 -34 -40 
-23 -34 76 -13 
-52 -40 -13 86 

답변

2

하는 모든 콤보를 만들기 :

#all combos 
seq1 <- expand.grid(seq_test, seq_test) 

#compare, convert to matrix 
matrix(score(pairwiseAlignment(seq1$Var1, seq1$Var2, 
           substitutionMatrix = "BLOSUM62")), 
     nrow = length(seq_test)) 
#  [,1] [,2] [,3] [,4] 
# [1,] 44 -7 -23 -52 
# [2,] -7 62 -34 -40 
# [3,] -23 -34 76 -13 
# [4,] -52 -40 -13 86 

또는 루프 벡터를 통해 :

sapply(seq_test, function(i){ 
    sapply(seq_test, function(j){ 
    score(pairwiseAlignment(i, j, substitutionMatrix = "BLOSUM62")) 
      }) 
    }) 

#     PAWHEAE HEAGAWGHEE CAWEKDRRTEAFF CASSLVFGQGDNIQYF 
# PAWHEAE    44   -7   -23    -52 
# HEAGAWGHEE   -7   62   -34    -40 
# CAWEKDRRTEAFF  -23  -34   76    -13 
# CASSLVFGQGDNIQYF  -52  -40   -13    86 
그것은이 비슷한 제품을 더 볼 것