Rdkit Mol对象getProp(“\u Name”)为空。如何取得身份证?

2024-06-06 19:52:50 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我一直在查看文档,但找不到任何相关内容。在SDF文件中,Chembl name为空,但我确实有我想要的Chembl ID条目。这是

 15 12  2  0
 16 13  1  0
 17 10  1  0
 18 16  2  0
 19 16  1  0
 20 19  2  0
 21 18  1  0
 22 20  1  0
  4  5  2  0
 10  9  2  0
 21 22  2  0
M  END
>  <chembl_id>  (4) 
CHEMBL6226

>  <chembl_pref_name>  (4) 
None

$$$$

但是

for idx, mol in enumerate(self.hits):
    print(mol.GetProp("_Name"))

给我一个空格。在这种情况下我需要chembl ID


Tags: 文件name文档noneid内容条目end
1条回答
网友
1楼 · 发布于 2024-06-06 19:52:50

SDF中的属性将添加到分子中。您可以通过几种不同的方式访问它们:

# return the properties as a dictionary
prop_dict = mol.GetPropsAsDict()
chembl_id = prop_dict.get('chembl_id')

# Check a property exists
has_id = mol.HasProp('chembl_id')

# Get a single property
chembl_id = mol.GetProp('chembl_id')

# To get a numerical prop (assuming it exists in the file)
mol_wt = mol.GetDoubleProp('MolWt')

_Name属性是从SD文件的标题行添加的,即在本例中,_Name属性将为“6602966”(PubChem id):

$$$$
6602966
     RDKit          2D

 27 29  0  0  0  0  0  0  0  0999 V2000
    8.1706    6.9514    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
...

相关问题 更多 >