181

TeachOpenCADD:CADD 教学项目如何变成内部培训资料

TeachOpenCADD 的 talktorial 体系既能自学,也很适合改造成团队内部的 CADD 培训教材。这篇给出模块地图和把它变成内训课程的具体做法。

TeachOpenCADD 是柏林自由大学 Volkamer 组维护的开源教学项目,用一系列称为 talktorial(talk + tutorial)的 Jupyter Notebook,把计算机辅助药物设计的完整流程拆成可独立运行的小课。全部基于开源工具,无需商业软件许可,这一点让它特别适合做内部培训。

怎么获取

git clone https://github.com/volkamerlab/teachopencadd.git
cd teachopencadd
mamba env create -f devtools/test_env.yml    # 环境定义齐全,可直接复现
conda activate teachopencadd
jupyter lab teachopencadd/talktorials/

在线版可直接读,也支持 Binder / Colab 打开。环境文件写得很规范,是它相比零散博客教程的一大优势。

模块地图

主题块 涵盖内容
数据获取 ChEMBL 查询、化合物过滤、Lipinski 规则
分子表示 分子指纹、相似性检索、聚类、最大公共子结构
筛选与过滤 PAINS / 不良子结构过滤、配体高效性
结构侧 PDB 数据获取、口袋分析、蛋白-配体相互作用
对接与模拟 分子对接、MD 模拟入门、结合自由能
机器学习 随机森林 / 神经网络做活性预测、GNN 入门
其他 激酶相似性分析、KLIFS 数据库、化学空间可视化

改造成内部培训教材

  • 许可先确认:项目采用开源许可(代码与内容分别声明),内部使用与改编通常没问题,但对外发布或商用前先核对当前 LICENSE 条款并保留署名。
  • 换成自家靶点:把示例里的靶点换成团队真正在做的项目靶点,从 ChEMBL 拉自己的活性数据。学员的投入度会完全不同——这是改造中收益最大的一步。
  • 删掉不相关模块:做小分子的团队可以跳过蛋白设计部分;只做虚拟筛选的可以精简 ML 章节。整套通讲会稀释重点。
  • 加一层「为什么」:原 Notebook 侧重「怎么做」,内训时在每节前补 5 分钟讲清这一步在 DMTA 闭环里解决什么问题、做错了会有什么后果。
  • 配套作业:每个模块留一个必须改代码才能完成的小任务(如「换一种指纹重跑聚类,解释结果差异」),比单纯跟跑有效得多。

一个可用的四周内训排期

  • 第一周:数据获取与清洗 + 分子表示。产出:从 ChEMBL 拉到自家靶点的干净活性数据集。
  • 第二周:相似性、聚类、过滤。产出:一份去冗余、过完 PAINS 的候选子集。
  • 第三周:结构获取、口袋分析、对接。产出:完成一次重对接验证 + 一轮小规模虚拟筛选。
  • 第四周:机器学习活性预测。产出:一个带骨架划分与基线对照的性质预测模型。

上手提示

  • 全开源、环境可复现,是内训教材的理想底座;
  • 改造第一步就是把示例靶点换成自家项目靶点;
  • 每节补一层「为什么这么做、做错会怎样」,弥补原教程偏操作的短板;
  • 对外使用前先核对 LICENSE 并保留署名。

延伸资源