アメリエフのブログ

バイオインフォマティクスの紹介と社員の日々
<< すら(SRA)っとクイック(Q)に変換 | main | ゾンビパンデミック >>
ChemmineRを使ってみよう【2】
ChemmineRの紹介記事2回目、前回はパッケージのインストールとSDFファイルの取得(読み込み)の方法をご紹介しました。
今回は、取得した読み込んだデータのアクセス方法と、SDFデータの確認方法をご紹介します。

前回は、CIDからgetIds関数で、またはSDFファイルの読み込みによってSDF情報を読み込んで、sdfsetというSDFsetオブジェクトを作成しました。
sdfset
An instance of "SDFset" with 10 molecules
class(sdfset)
[1] "SDFset"
attr(,"package")
[1] "ChemmineR"
SDFsetオブジェクトの各要素には、以下のようにしてアクセスします。
sdfset[1] # 1番目の要素にアクセス
sdfset[5:10] # 5〜10番目の要素にアクセス
SDFsetオブジェクトのヘッダを見るときはheader関数を使います。1つめの化合物のヘッダは次のようにしてみることができます。
header(sdfset[1])
$CMP1
Molecule_Name
"650001"
Source
" -OEChem-07071010512D"
Comment
""
Counts_Line
" 61 64 0 0 0 0 0 0 0999 V2000"

続きから、読み込んだSDFデータの確認をしていきます。
SDFオブジェクトの確認
有効でない情報を読み込んでいないか確認します。
validSDF(sdfset)
CMP1 CMP2 CMP3 CMP4 CMP5 CMP6 CMP7 CMP8 CMP9 CMP10
TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
TRUE/FALSEのベクトルが返ってきます。FALSEになっている化合物があれば、それを取り除きます。
valid <- validSDF(sdfset)
sdfset<-sdfset[valid]
IDの重複を確認します。
makeUnique(sdfid(sdfset))
[1] "No duplicates detected!"
[1] "650001" "650002" "650003" "650004" "650005" "650006"
[7] "650007" "650008" "650009" "650010"
"No duplicates detected!"
このメッセージが出た場合は重複がないので先へ進みます。もし重複があれば取り除きます。

突然出てきたsdfidですが、これはSDFsetのヘッダスロットから化合物のID(要するにCID)を取得してくれます。
sdfid(sdfset)
[1] "650001" "650002" "650003" "650004" "650005" "650006"
[7] "650007" "650008" "650009" "650010"

紛らわしいですが、cidという関数はSDFsetオブジェクトのIDスロットから化合物のIDを取得してくれます。SDFデータを読み込んだ当初はgetIds関数に与えた順に、CMP[数字]になっています。
cid(sdfset)
[1] "CMP1" "CMP2" "CMP3" "CMP4" "CMP5" "CMP6"
[7] "CMP7" "CMP8" "CMP9" "CMP10"
IDスロットのほうもCIDにしておいたほうがいいようです。
cid(sdfset)<-makeUnique(sdfid(sdfset))

Validateや重複の確認が終わったSDFデータで、化合物の分子構造も作図できます!
plot(sdfset[1:4], print=FALSE)


次は、化合物の類似度検索などに使う、fingerprint/atom pair descriptorを取得する方法をご紹介します。新しいパッケージが出てきます。
| kubo | バイオインフォマティクス | 16:00 | comments(0) | - |









   1234
567891011
12131415161718
19202122232425
262728293031 
<< March 2017 >>

このページの先頭へ