0

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

我已将我的肽序列设置为一个列表(所有这些序列都转换为 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)

任何意见是极大的赞赏。谢谢!

4

1 回答 1

1

指纹是从 mol 对象而不是从 SMILES 计算的。converteditem = Chem.MolFromFASTA(item)应该管用。

于 2021-11-07T08:01:34.010 回答