本文整理汇总了Python中rdkit.Chem.Descriptors.NumHDonors方法的典型用法代码示例。如果您正苦于以下问题:Python Descriptors.NumHDonors方法的具体用法?Python Descriptors.NumHDonors怎么用?Python Descriptors.NumHDonors使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rdkit.Chem.Descriptors
的用法示例。
在下文中一共展示了Descriptors.NumHDonors方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: evaluate
# 需要导入模块: from rdkit.Chem import Descriptors [as 别名]
# 或者: from rdkit.Chem.Descriptors import NumHDonors [as 别名]
def evaluate(self, lst_in):
"""
Evaluate structure alerts on a list of SMILES
:param lst_in: input list of [SMILES, Name]
:return: list of alerts matched or "OK"
"""
smiles, name = lst_in
mol = Chem.MolFromSmiles(smiles)
if mol is None:
return [smiles, name, 'INVALID', -999, -999, -999, -999, -999]
desc_list = [MolWt(mol), MolLogP(mol), NumHDonors(mol), NumHAcceptors(mol), TPSA(mol),
CalcNumRotatableBonds(mol)]
for row in self.rule_list:
patt, max_val, desc = row
if len(mol.GetSubstructMatches(patt)) > max_val:
return [smiles, name] + [desc + " > %d" % (max_val)] + desc_list
return [smiles, name] + ["OK"] + desc_list
示例2: get_descriptors
# 需要导入模块: from rdkit.Chem import Descriptors [as 别名]
# 或者: from rdkit.Chem.Descriptors import NumHDonors [as 别名]
def get_descriptors(sml):
try:
m = Chem.MolFromSmiles(sml)
descriptor_list = []
descriptor_list.append(Descriptors.MolLogP(m))
descriptor_list.append(Descriptors.MolMR(m)) #ok
descriptor_list.append(Descriptors.BalabanJ(m))
descriptor_list.append(Descriptors.NumHAcceptors(m)) #ok
descriptor_list.append(Descriptors.NumHDonors(m)) #ok
descriptor_list.append(Descriptors.NumValenceElectrons(m))
descriptor_list.append(Descriptors.TPSA(m)) # nice
return descriptor_list
except:
return [np.float("nan")] * 7
示例3: create_feature_df
# 需要导入模块: from rdkit.Chem import Descriptors [as 别名]
# 或者: from rdkit.Chem.Descriptors import NumHDonors [as 别名]
def create_feature_df(smiles_df):
temp = list(zip(*smiles_df['canonical_smiles'].map(get_descriptors)))
columns = ["MolLogP", "MolMR", "BalabanJ", "NumHAcceptors", "NumHDonors", "NumValenceElectrons", "TPSA"]
df = pd.DataFrame(columns=columns)
for i, c in enumerate(columns):
df.loc[:, c] = temp[i]
df = (df - df.mean(axis=0, numeric_only=True)) / df.std(axis=0, numeric_only=True)
df = smiles_df.join(df)
return df
示例4: num_H_donors
# 需要导入模块: from rdkit.Chem import Descriptors [as 别名]
# 或者: from rdkit.Chem.Descriptors import NumHDonors [as 别名]
def num_H_donors(mol: Mol) -> int:
return Descriptors.NumHDonors(mol)
示例5: properties
# 需要导入模块: from rdkit.Chem import Descriptors [as 别名]
# 或者: from rdkit.Chem.Descriptors import NumHDonors [as 别名]
def properties(mol):
"""
Calculates the properties that are required to calculate the QED descriptor.
"""
matches = []
if mol is None:
raise WrongArgument("properties(mol)", "mol argument is \'None\'")
x = [0] * 9
# MW
x[0] = Descriptors.MolWt(mol)
# ALOGP
x[1] = Descriptors.MolLogP(mol)
for hba in Acceptors: # HBA
if mol.HasSubstructMatch(hba):
matches = mol.GetSubstructMatches(hba)
x[2] += len(matches)
x[3] = Descriptors.NumHDonors(
mol) # HBD
# PSA
x[4] = Descriptors.TPSA(mol)
x[5] = Descriptors.NumRotatableBonds(
mol) # ROTB
x[6] = Chem.GetSSSR(Chem.DeleteSubstructs(
deepcopy(mol), AliphaticRings)) # AROM
for alert in StructuralAlerts: # ALERTS
if (mol.HasSubstructMatch(alert)):
x[7] += 1
ro5_failed = 0
if x[3] > 5:
ro5_failed += 1 # HBD
if x[2] > 10:
ro5_failed += 1 # HBA
if x[0] >= 500:
ro5_failed += 1
if x[1] > 5:
ro5_failed += 1
x[8] = ro5_failed
return x