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 を整数として取得するにはどうすればよいでしょうか。これらの数値を使用する必要がありますが、取得する方法がないようです。

4

2 に答える 2

1

これらはstartアラインメントの s だと思いますので、

start(pattern(alignment))

あなたの質問は、完全に再現可能な例でより明確になります。

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

また、Bioconductor メーリング リストは、これらの質問に適しています。サブスクリプションは必要ありません。

于 2012-06-03T18:38:53.513 に答える
0

アラインメントから文字列を作成できるため、R の文字列関数を使用できます。substr(toString(pattern(alignment)), 448, 448) を実行して、448 番目の文字を取得できます。私はそのライブラリに慣れていないので、私が知らない組み込みの方法があるかもしれません。R の文字列関数については、 http://www.statmethods.net/management/functions.htmlを参照してください。

于 2012-06-03T20:03:29.730 に答える