如何批量的通过smiles计算分子指纹
批量通过SMILES计算分子指纹的步骤如下:
-
准备一个包含多个SMILES字符串的文件,比如txt或csv格式的文件。
-
使用Python或其他编程语言,读取文件中的SMILES字符串并转换为分子对象。
-
利用分子指纹计算工具,比如RDKit,OpenBabel或Chemopy等,对每个分子对象计算指纹。
-
将计算出的指纹保存到一个新的文件中,比如txt或csv格式的文件。
下面是一个Python示例代码,使用RDKit计算Morgan指纹:
from rdkit import Chem
from rdkit.Chem import AllChem
import pandas as pd
# 读取SMILES文件
df = pd.read_csv('smiles.csv')
# 定义计算指纹函数
def get_morgan_fp(smiles):
mol = Chem.MolFromSmiles(smiles)
fp = AllChem.GetMorganFingerprintAsBitVect(mol, 2, nBits=1024)
return fp.ToBitString()
# 对每个SMILES计算指纹并保存到新文件
df['fingerprints'] = df['smiles'].apply(get_morgan_fp)
df.to_csv('fingerprints.csv', index=False)
在上面的代码中,我们首先读取了一个包含SMILES字符串的csv文件,然后定义了一个函数get_morgan_fp,该函数使用RDKit计算每个分子的Morgan指纹。最后,我们对每个SMILES字符串应用该函数,并将计算出的指纹保存到一个新的csv文件中。
请注意,上述代码仅提供了一个示例,实际情况中可能需要根据具体的需求进行修改。
原文地址: http://www.cveoy.top/t/topic/EYf 著作权归作者所有。请勿转载和采集!