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 并保留署名。
延伸资源
- 教程体系:012《TeachOpenCADD 教程》;互补材料:180《DeepChem Examples》、011《Practical Cheminformatics 博客》;
- 工具底座:171《RDKit》、182《AutoDock Vina》;实战流程见「实战流程」模块。