このチャプターの目次
これまでに非常に多くの化合物が単離または合成されており、その化学的性質に関する膨大な知見が蓄積されている。 これら化合物の情報を一カ所に集めたものが化学データベースです。 このデータベースにアクセスすることで、先人たちの知恵を借りることができる。
ここでは、pubchempyを使って名前などから化合物データに変換していくやり方を学びます。
講義動画
今回のアウトライン
0. インストールと環境表示
インストール
!pip install pubchempy
import pubchempy as pcp
pcp. __version__
1. 化合物データの確認など
化合物名での検索
compounds = pcp.get_compounds('quercetine', 'name')
smilesでの検索
pcp.get_compounds('C1=CC2=C(C3=C(C=CC=N3)C=C2)N=C1', 'smiles')
得られるデータは、list形式になっている。
2. 発展的な検索方法(部分構造検索、CIDからの検索)
分子式で検索
pcp.get_compounds('C20H41Br', 'formula')
汎用的なものだと接続時間エラーになる可能性が高い
部分構造検索
pcp.get_compounds('CC', searchtype='superstructure', listkey_count=3)
CIDからの検索
pcp.Compound.from_cid(6819)
3. get_propertiesの使い方とpubchemとpandasの連携
propertiesとの連携
compound = "alanine"
properties = ['iupacname', 'molecularformula', 'molecularweight', 'canonicalsmiles']
pcp.get_properties(properties, compound, 'name', as_dataframe=True)
pubchemとpandasの連携 (分子式検索)
分子式検索との連携でいろんな化合物も検索できる。
df = pcp.get_compounds('C20H41Br', 'formula', as_dataframe=True)
ただし、呼び出す数が多すぎるとエラーになる。
4. Download
pcp.download('PNG', 'asp.png', 'Aspirin', 'name')
pcp.download('CSV', 's.csv', [1,2,3], operation='property/CanonicalSMILES,IsomericSMILES')