このチャプターの目次
2. 分子のDescriptorを表示
1つの分子に対してDescriptorで数字を表示する。
# Descriptorsに入っているものがList形式になっている。
from rdkit.Chem import Descriptors
len(Descriptors.descList)
molファイルから、その分子のTPSAやNumHDonorsを出力してみる。
今回はpubchemで名前からsmilesに変換してRDKitのmolファイルに変換しています。
import pubchempy as pcp
compoud = "quercetine"
pcp_quercetine = pcp.get_compounds(compoud, 'name')
quercetine_smiles = pcp_quercetine[0].isomeric_smiles
mol = Chem.MolFromSmiles(quercetine_smiles)
molをTPSAの値に変換する。
#TPSAの出力
Descriptors.TPSA(mol)
molをHBDの値に変換する。
#HBDの出力
Descriptors.NumHDonors(mol)
複数分子を読み込んだデータフレームにDescriptorを追加
前回、google driveに保存したsdfファイルからpandasのデータに変換したものを再度使用する。
from google.colab import drive
drive.mount('/content/drive')
from rdkit.Chem import PandasTools
df = PandasTools.LoadSDF('/content/drive/MyDrive/data/PubChem_TCI_phenol_records.sdf')
TPSAの追加
df["TPSA"] = df["ROMol"].map(Descriptors.TPSA)
MolLogPの追加
df["MolLogP"] = df["ROMol"].map(Descriptors.MolLogP)
qedの追加
df["qed"] = df["ROMol"].map(Descriptors.qed)
複数分子を読み込んだデータフレームにDescriptorを全て追加
for i, j in Descriptors.descList:
df[i] = df["ROMol"].map(j)