rdkit ArgumentError: Python argument types in rdkit.Chem.rdMolDescriptors.GetAtomPairFingerprint(str) did not match C++ signature:

rdkit ArgumentError: Python argument types in rdkit.Chem.rdMolDescriptors.GetAtomPairFingerprint(str) did not match C++ signature:

我目前正在处理肽数据并尝试从肽数据集中提取原子对指纹,以用于机器学习分类器。

我已将我的肽序列设置到一个列表中(所有这些序列都转换为 SMILES 字符串),现在正在遍历该列表以创建每个肽的指纹。但我不知道出了什么问题。 注意:我正在使用 Google Colab 来完成这个。

这是我的代码:

pos = "/content/drive/MyDrive/pepfun/Training_format_pos (1).txt"

# pos sequences extract into list
f = open(pos, 'r')
file_contents = f.read()
data = file_contents
f.close()

newdatapos = data.splitlines()
print(newdatapos)

!pip install rdkit-pypi
import rdkit
from rdkit import Chem

# fingerprints for pos sequences

from rdkit.Chem.AtomPairs import Pairs
fingerprintpos = []
for item in newdatapos:
  converteditem = rdkit.Chem.MolToSmiles(Chem.MolFromFASTA(item))
  atompos = Pairs.GetAtomPairFingerprint(converteditem)  
  fingerprintpos.append(atompos)

print(fingerprintpos)

非常感谢任何建议。谢谢!

指纹是根据 mol 对象而不是 SMILES 计算的。 converteditem = Chem.MolFromFASTA(item) 应该可以。