在化学信息学中,我们搜索大量的化学空间来选择和设计用于不同应用的化合物。指纹识别被开发为一种将化学图压缩成位的方法,允许化学信息学家通过比较它们的位来搜索分子以寻找相似性。当发生这种情况时,开发了多种生成位向量的方法以及确定相似性的算法。我将回顾今天实现的相似性算法以及将其应用于设计和选择环片段的一个小应用。
首先,我们要做的是采用RingsInDrugs,这是通过 FDA III 期试验的最受欢迎的环状化合物。我们想查看可能的激酶抑制剂列表,并根据我们的指纹分析选择哪些片段可用于进一步测试。
from global_chem import GlobalChem
gc = GlobalChem()
gc.build_global_chem_network()
rings_in_drugs = list(gc.get_node_smiles('rings_in_drugs').values())
因此,让我们在使用 Morgan Radius 的地方使用此函数将它们转换为指纹。同样,您可以在此处找到以前的博客。现在让我们用一个更大的位向量来编写我们的函数,以捕获更多信息和更大的半径 2。
def convert_to_fingerprint(smiles):
try:
molecule = Chem.MolFromSmiles(smiles)
fingerprint = AllChem.GetMorganFingerprintAsBitVect(
molecule,
2,
nBits=1024,
)