過去記事
Bioconductor解説 Biostrings編 その1
DNAString、 RNAString、AAString
さて、今回はDNAString、 RNAString、AAString について解説していきたいと思います。
これらは前回説明したBString objects の子供です。そのためBString objects でサポートされていた関数などは利用可能です。
> length(DNAString(x="AAACCCCCCAA"))
[1] 11
ちゃんとした言葉で説明しますと、前回説明したBString objects はXString というクラスで定義されたものですが、DNAString、 RNAString、AAString はこれを継承した。サブクラスです。
仕様はほぼ同じですが、それぞれがDNA、RNA、アミノ酸配列処理を指向した機能を追加搭載しています。
元は同じなので、一部は比較も可能となっています。
# ==で配列を比較
> DNAString(x="AAACCCCCCAA")==DNAString(x="AAACCCCCCAA")
[1] TRUE
> DNAString(x="AAACCCCCCAA")==RNAString(x="AAACCCCCCAA")
[1] TRUE
> DNAString(x="AAACCCCCCAA")==AAString(x="AAACCCCCCAA")
DNAString(x = "AAACCCCCCAA") == AAString(x = "AAACCCCCCAA") でエラー:
comparison between a "DNAString" instance and a "AAString" instance is not supported
# もちろん配列が異なれば FALSEを返す
> DNAString(x="AAACCCCCCAA")==RNAString(x="AAA")
[1] FALSE
# !=もサポートしています
> DNAString(x="AAACCCCCCAA")!=RNAString(x="AAA")
[1] TRUE
DNAString objects
それでは、各オブジェクトの説明に移りたいと思います。
まずはDNA配列を扱うDNAString オブジェクトについてです。
まずインスタンスの生成は以下のようになります。
> DNAobj = DNAString(x="ATCGGCNAA-KKT", start=1, nchar=NA)
> DNAobj
13-letter "DNAString" instance
seq: ATCGGCNAA-KKT
このコンストラクタの引数は以下のようなものとなっています。
- x:{string}
- 配列データ
- start:{number}
- 読み込み開始地点("-"で末尾からの参照)
- nchar:{number}
- 読む込む文字の数
DNAString オブジェクトについては使える文字に制限があります。
alphabet()を使うとサポートしている文字一覧を見ることが可能です。
> alphabet(DNAobj, baseOnly=FALSE)
[1] "A" "C" "G" "T" "M" "R" "W" "S" "Y" "K" "V" "H" "D" "B" "N" "-" "+" "."
"M"や"R"はIUPAC nucleotide ambiguity codes に準じた多義的な塩基表記です。日本語では縮重塩基と呼んだりします。
詳しくは以下の文献をご参照ください。
IUPAC nucleotide ambiguity codes
またさらに以下の記号もサポートしているようです。
- "-"
- ギャップ
- "+"
- the hard masking letter
- "."
- 文字ではない、もしくは使用不可文字
"+"に関しては適切な日本語が思い当たらないためにそのまま表記しました。
個人的には"-"以外は使ったことがないです。
RNAString objects
DNAStringとほぼ同じです。サポートしている文字が違います。
> RNAobj = RNAString(x="AUCGGCNAA-KKU", start=1, nchar=NA)
> RNAobj
13-letter "RNAString" instance
seq: AUCGGCNAA-KKU
> alphabet(RNAobj, baseOnly=FALSE)
[1] "A" "C" "G" "U" "M" "R" "W" "S" "Y" "K" "V" "H" "D" "B" "N" "-" "+" "."
AAString objects
アミノ酸配列をサポートしています。使い方はDNAStringとほぼ変わらないです。
> AAobj <- AAString("MARKSLEMSIR*", start=1, nchar=NA)
> AAobj
12-letter "AAString" instance
seq: MARKSLEMSIR*
> alphabet(AAobj, baseOnly=FALSE)
[1] "A" "R" "N" "D" "C" "Q" "E" "G" "H" "I" "L" "K" "M" "F" "P" "S" "T" "W" "Y" "V" "U"
[22] "O" "B" "J" "Z" "X" "*" "-" "+" "."
AAStringではよく見ると"*"という表記もサポートされています。
これはストップコドン表記です。
--
次の回ではここまでご紹介したBString、DNAString、RNAString、AAString オブジェクトを扱う関数ないしメソッドの説明をしていきたいと思います。
ありがとうございました。