RDKit使用メモ
準備
環境とかインストールしておくべきものとか
環境
- Anaconda
- Ubuntu 18.04.1(on WSL2)
インストール
condaでRDKit用の仮想環境を作成
$ conda create -c rdkit -n (仮想環境名) rdkit
そのままimport rdkit
を使ってみると、○○のライブラリが無いとか言われるのでダウンロード (自分の場合はlibxrender1
)
$ sudo apt install libxrender1
その他matplotlib
やscikit-learn
を$ conda install XXXX
でインストール
(あと記事作成用にtabulate
)
試してみる
分子の表示
from rdkit import Chem
from rdkit.Chem import Draw
# SMILES記法で書いた分子をmolファイルと呼ばれる形式に変更
molecule_1 = Chem.MolFromSmiles('Cc1ccccc1')
# mol形式ファイルを画像に変換 (display)
Draw.MolToImage(molecule_1)
from rdkit import Chem
from rdkit.Chem import Draw
# SMILES記法で書いた分子をmolファイルと呼ばれる形式に変更
molecule_1 = Chem.MolFromSmiles('Cc1ccccc1')
# mol形式ファイルを画像に変換 (display)
Draw.MolToImage(molecule_1)
フィンガープリントの作成
以下の記事を参考に、化合物のSMILESと溶解度のデータを取得。
化学情報学にRDKitとScikit-learnで入門する
smile | XXXX | logS | |
---|---|---|---|
0 | O=C(C)N | 60-35-5 | 1.58 |
1 | NNC | 60-34-4 | 1.34 |
2 | O=C(C)O | 64-19-7 | 1.22 |
3 | N1CCCC1 | 123-75-1 | 1.15 |
4 | O=C(N)NO | 127-07-1 | 1.12 |
SMILE形式で保存されているものをMOL形式に変換。その後にフィンガープリントを取得。
- radius: 半径。注目する原子から何原子先までを考慮するか。
smiles = df['smile']
molecules = [Chem.MolFromSmiles(smile) for smile in smiles]
# 試しに一つだけフィンガープリントを作成
from rdkit.Chem import AllChem
molecule_1 = molecules[0]
fingerprint = AllChem.GetMorganFingerprintAsBitVect(mol=molecule_1, radius=2, nBits=2048)
# -> rdkit.DataStructs.cDataStructs.ExplicitBitVectというクラスのデータが作成
fingerprint.ToBitString()
# -> 000000000000000100000000000000100のような表現に変更
# -> あとはこれを使って好きなように機械学習のモデルに突っ込めばOK
Author And Source
この問題について(RDKit使用メモ), 我々は、より多くの情報をここで見つけました https://qiita.com/SaitomTech/items/b446e028ea75f32fa15c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .