药物分子虚拟筛选规则
Lipinski Rule
RO5是辉瑞公司资深药物化学家Christopher A. Lipinski在1997年提出,虽然随时代发展虽然其适用范围逐渐变窄,但仍然非常有参考意义。其主要内容如下:
- 分子量(Mw)小于500;
- 氢键供体(HBD)数目小于5;
- 氢键受体(HBA)数目小于10;
- 脂水分配系数(logP)小于5;
- 可旋转键(rotatable bonds)的数量不超过10个。
除了以上RO5性质,另外还有几个对于药物开发关键的性质: - 类药性(QED):0-1区间归一化后的数值,衡量化合物和药物相似性,虽不准确,但简单直接
- 手性中心个数(chiral_centers):过多的手性中心,会导致合成与纯化工艺难度的大幅提高。
from rdkit import Chem
import numpy as np
import pandas as pd
from rdkit.Chem import PandasTools, QED, Descriptors, rdMolDescriptors
def cal_mol_props(smi, verbose=False):
try:
m=Chem.MolFromSmiles(smi)
if not m:
return None,None,,None,None,None,None,None,None
mw = np.round(Descriptors.MolWt(m),1)
logp = np.round(Descriptors.MolLogP(m),2)
hbd = rdMolDescriptors.CalcNumLipinskiHBD(m)
hba = rdMolDescriptors.CalcNumLipinskiHBA(m)
psa = np.round(Descriptors.TPSA(m),1)
rob= rdMolDescriptors.CalcNumRotatableBonds(m)
qed= np.round(QED.qed(m),2)
chiral_center=len(Chem.FindMolChiralCenters(m,includeUnassigned=True))
if verbose:
print ('Mw ',mw)
print ('Logp ',logp)
print ('HBD ', hbd)
print ('HBA ', hba)
print ('TPSA ', psa)
print ('RotB ', rob)
print ('QED ', qed)
print ('chiral_center ', chiral_center)
return mw,logp,hbd,hba,psa,rob,qed,chiral_center
except Exception as e:
print (e)
return None,None,,None,None,None,None,None,None
Pfizer Rule
GSK Rule
Drug Like Soft