2012-06-03 2 views
0

나는 다음과 같은 얻을 페어 정렬을 사용 :풀 정렬 문자 위치

> alignment <-pairwiseAlignment(pattern = canonical.protein, subject=protein.extracted) 
> alignment 
Global PairwiseAlignedFixedSubject (1 of 1) 
pattern: [448]   DDWEIPDGQITVGQRIGSGSFGTVYKGKWHGDVAVKMLNVTAPTPQQLQAFKNEVGV...FMVGRGYLSPDLSKVRSNCPKAMKRLMAE CLKKKRDERPLFPQILASIELLARSLPK 
subject: [1]  DDWEIPDGQITVGQRIGSGSFGTVYKGKWHGDVAVKMLNVTAPTPQQLQAFKNEVGV...FMVGRGYLSPDLSKVRSNCPKAMKRLMAECLKKKRDERPLFPQILASIELLARSLPK 
score: -912.3752 

그때 사용할 수 있습니다

toString(pattern(alignment)) 
toString(subject(alignment)) 

패턴과 주제 모두에 대해 전체 문자열의 순서를 얻을 수 있습니다. 그러나 개체에서 448과 1을 정수로 얻으려면 어떻게해야합니까? 나는이 숫자를 사용해야하지만 거기에 도달하는 방법이없는 것 같습니다.

답변

1

나는이 그런 다음

library(Biostrings) 
example(pairwiseAlignment) 
aln <- pairwiseAlignment(AAString("PAWHEAE"), AAString("HEAGAWGHEE"), 
    substitutionMatrix = "BLOSUM50", gapOpening = 0, gapExtension = -8) 

> aln 
Global PairwiseAlignedFixedSubject (1 of 1) 
pattern: [1] PA--W-HEAE 
subject: [2] EAGAWGHE-E 
score: 1 
> start(subject(aln)) 
[1] 2 
,

start(pattern(alignment)) 

당신의 질문은 예를 들어, 완벽하게 재현 예에 명확하게 될 것이다 그래서, 정렬의 start들 믿습니다

또한 Bioconductor mailing list이이 질문에 더 적합합니다. 가입이 필요하지 않습니다.

0

정렬에서 문자열을 만들 수 있으므로 R의 문자열 함수를 사용할 수 있습니다. substr (toString (pattern (alignment)), 448, 448)을 수행하여 448 번째 문자를 가져올 수 있습니다. 나는 그 도서관에 익숙하지 않아서 내가 모르는 inbuilt 방법이 있을지도 모른다. R의 문자열 함수에 대해서는 http://www.statmethods.net/management/functions.html을 참조하십시오.