You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:如何用R的ChemmineR处理Excel格式CHEMBL分子数据集做聚类

从Excel导入数据到ChemmineR进行分子聚类实操步骤

前提准备

确保你的Excel数据集包含SMILES字符串列(CHEMBL数据自带该字段,用于描述分子结构),同时保留蛋白质ID、IC50等你需要的关联字段。


步骤1:读取Excel数据

安装并加载专门处理Excel的readxl包:

install.packages("readxl")
library(readxl)
# 替换为你的Excel文件路径
df <- read_excel("your_molecules.xlsx")
# 检查SMILES列是否正常读取
head(df$smiles)

步骤2:将SMILES转成ChemmineR兼容的分子对象

用rcdk解析SMILES,再转换为ChemmineR核心格式SDFset:

library(rcdk)
library(ChemmineR)

# 提取SMILES列并转为字符向量
smiles_vec <- as.character(df$smiles)
# 解析SMILES,过滤无效分子结构
mols <- parse.smiles(smiles_vec)
valid_idx <- sapply(mols, function(x) !is.null(x)) # 标记有效分子
mols <- mols[valid_idx]
df <- df[valid_idx, ] # 同步过滤原数据框

# 转换为SDFset,并给分子设置唯一ID(用蛋白质ID或行号)
sdfset <- as(mols, "SDFset")
cid(sdfset) <- df$protein_id # 假设Excel中蛋白质ID列名为"protein_id"

步骤3:计算分子指纹(聚类核心依据)

采用常用的Morgan指纹进行结构编码:

# 计算1024位的Morgan指纹
fps <- calcFingerprints(sdfset, type = "Morgan", fpType = "bit", size = 1024)
# 转换为矩阵格式,方便后续聚类计算
fp_matrix <- fp2bit(fps)

步骤4:执行聚类分析

用层次聚类实现直观的结构分组,也可替换为k-means等方法:

# 计算指纹间的Jaccard距离(适配二进制指纹)
dist_mat <- dist(fp_matrix, method = "binary")
# 用Ward法进行层次聚类
hc <- hclust(dist_mat, method = "ward.D2")

# 绘制树状图查看聚类结果
plot(hc, labels = cid(sdfset), cex = 0.7, main = "Molecular Clustering Tree")

# 切割聚类:比如分成5个组,可根据需求调整k值
cluster_groups <- cutree(hc, k = 5)
# 将聚类结果合并回原数据框
df$cluster <- cluster_groups

步骤5:提取每个聚类的常见结构

用rcdk识别聚类内的共同子结构:

# 按聚类分组拆分SDFset
cluster_sdfs <- split(sdfset, cluster_groups)

# 遍历每个聚类,提取共同子结构(至少2个分子才执行匹配)
common_substructures <- lapply(cluster_sdfs, function(subset_sdf) {
  if(length(subset_sdf) >= 2) {
    findCommonSubstructure(subset_sdf[[1]], subset_sdf[[2]], match.params = list(type = "smarts"))
  } else {
    subset_sdf[[1]] # 单个分子直接返回自身结构
  }
})

# 将共同子结构转为SMILES格式输出,方便查看
lapply(common_substructures, function(x) get.smiles(x))

关键注意事项

  • 提前清理Excel中的缺失SMILES值,否则会导致解析失败
  • 聚类参数可灵活调整:比如换用MACCS指纹、修改指纹长度、切换Tanimoto距离、更改聚类合并方法(如complete)
  • 可结合IC50数据做后续分析:统计各聚类的IC50均值、分布,关联结构特征与活性表现

内容的提问来源于stack exchange,提问作者Haifa Hassanie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 09:35:01