专栏首页生信小驿站结构分析(4)化合物分子相似性

结构分析(4)化合物分子相似性

分子相似性:

相似性原理(similar property principle)指出,总体相似的分子应具有相似的生物活性。

相似性评估

化合物的指纹对于使用计算机考虑化合物的相似性是必需的。已经提出了各种评估方法,但是最常用的评估方法称为“ Tanimoto系数 ”。使用以下等式从两个分子A和B的位阵列指纹计算Tanimoto系数:

#===========================================================================


#===========================================================================

rm(list=ls())
library(tibble)
library(tidyr)
set.seed(1234)
options(stringsAsFactors = F)
library(dplyr)
library(rcdk)
setwd('D:\\SCIwork\\F29\\lianxishuju')
library(data.table)
library(plyr)
library(Hmisc)#加载包



#读取数据
data <- read.csv('train.csv', header = T)
SMILES <- data$SMILES

head(data)
# SMILES
# 1 [H][C@]12CCCN1CC1=C(C2)C2=C(C=C(OC)C(OC)=C2)C2=C1C=CC(OC)=C2
# 2         COC1=CC2=C(C=C1)C1=C(CC3CCCN3C1)C1=C2C=C(OC)C(OC)=C1
# 3         COC1=CC2=C(C=C1)C1=C(CN3CCCC3C1)C1=C2C=C(OC)C(OC)=C1
# 4       COC1=CC2=C(C=C1OC)C1=C(C=C(OC)C(OC)=C1)C1=C2CC2CCCN2C1
# 5          COC1=CC2=C(C=C1OC)C1=C(C=C(OC)C(OC)=C1)C(=C2)C(O)=O
# 6  COC1=CC2=C(C=C1OC)C1=C(C=C(OC)C(OC)=C1)C(=C2)C(=O)C1=CC=CN1


#计算分子指纹
mols1 <- parse.smiles(SMILES)
fps <- lapply(mols1, get.fingerprint, type='extended')
fp.sim <- fingerprint::fp.sim.matrix(fps, method='tanimoto')




#计算Tanimoto系数
sim_matrix <- as.data.frame(fp.sim)
names(sim_matrix) <- paste0('mol', 1:195)
rownames(sim_matrix) <- paste0('mol', 1:195)



#矩阵整理
flattenCorrMatrix <- function(cormat) {
  ut <- upper.tri(cormat) 
  
  df <-  data.frame( row = rownames(cormat)[row(cormat)[ut]],
                     column = rownames(cormat)[col(cormat)[ut]],
                     cor =(cormat)[ut])
  
  df}



#得到相似度高的分子
sim_dt <- flattenCorrMatrix(sim_matrix)
sim_dt <- subset(sim_dt, sim_dt$cor > 0.7)



# 
# #计算1-Tanimoto系数
# fp.dist <- 1 - fp.sim
# fp.dist <- as.data.frame(fp.dist)
# 
# 
# #计算Tanimoto系数
# dis_matrix <- as.data.frame(fp.dist)
# names(dis_matrix) <- paste0('mol', 1:195)
# rownames(dis_matrix) <- paste0('mol', 1:195)
# 
# 
# #得到相似度低的分子
# dis_dt <- flattenCorrMatrix(dis_matrix)
# dis_dt <- subset(dis_dt, dis_dt$cor > 0.9)
# 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • RDKit | 化合物库的相似性分析

    实例中使用SMILES文件,该分析可以以相同的方式从分子的SDF或其他格式文件中加载数据,只需确保使用适当的方法将分子加载到RDKit中。

    DrugAI
  • RDKit | 基于化合物结构式图像估算分子式

    当通过深度学习输入有机物质中结构式的二维图像时,需要解决寻找分子式的问题。这是一个回归问题,需要计算结构式图像中包含的碳、氢、氧和氮等原子数。

    DrugAI
  • Python每日一谈|No.33.实例.13. 药物分子可合成性分析-SA

    反正,你要做药物,或者不管做什么,都需要顾及到各种各样的条件,我们总是在所处的条件环境下进行选择或者进行实验。

    FindKey
  • AI_第一部分 数据结构与算法(4.线性表之数组相关)

    第四阶段我们进行深度学习(AI),本部分(第一部分)主要是对底层的数据结构与算法部分进行详尽的讲解,通过本部分的学习主要达到以下两方面的效果:

    python编程从入门到实践
  • RDKit | 化学信息学与AI(专辑)

    介绍RDKit相关知识点和运用以及RDKit作为处理化学、生物、药学和材料学科中分子数据作为可输入机器学习和深度学习模型的重要工具应用。内容涵盖了基于RDKit...

    DrugAI
  • Bioinformatics | 预测药物相互作用的多模式深度学习框架

    今天给大家介绍华中农业大学信息学院章文教授课题组发表在Bioinformatics的一篇文章“ A multimodal deep learning frame...

    DrugAI
  • TBtools基因家族分析详细教程(1)

    一共分为4个部分 TBtools基因家族分析详细教程(1) TBtools基因家族分析详细教程(2)基因家族成员的基本分析 TBtools基因家族分析详细...

    Y大宽
  • JCIM | 用于自动生成类药分子的生成网络复合体(GNC)

    目前的药物发现工作既昂贵又耗时。如何创造出种类繁多的新型化合物,使其不仅具有理想的药理特性,而且低收入人群也能廉价获得,仍然是一项具有挑战性的任务。这项工作中,...

    DrugAI
  • Milvus 赋能 AI 药物研发

    新药研发领域长期以来都以耗时长、成本高、风险大、回报率低而著称,一款新药的平均研发成本已经高达 26 亿美元,而平均耗时需要十年。尽管付出了如此高昂的研发成本和...

    Zilliz RDS

扫码关注云+社区

领取腾讯云代金券