LoginSignup
1
0

More than 5 years have passed since last update.

Bioconductor解説 Biostrings編 その2

Last updated at Posted at 2017-06-09

過去記事

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、RNAString、AAString同士の比較

# ==で配列を比較

> 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 オブジェクトについてです。
 まずインスタンスの生成は以下のようになります。

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()を使うとサポートしている文字一覧を見ることが可能です。

DNAStringがサポートしている文字一覧
> 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とほぼ同じです。サポートしている文字が違います。

RNAStringobjects

> 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とほぼ変わらないです。

AAStringobjects

> 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 オブジェクトを扱う関数ないしメソッドの説明をしていきたいと思います。
ありがとうございました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0