1. 课程简介与背景归纳

大家好,欢迎来到这门课。我先做个自我介绍。我在药物发现和机器学习交叉领域摸爬滚打了十多年。说白了,就是把“算力”和“化学”这两件看似不相干的事硬凑在一起。

这门课不讲虚的。我们直接聚焦一个核心问题:蛋白和配体之间到底怎么“对话”? 这种对话,在计算机里就是特征。特征学好了,药物筛选效率能翻好几倍。

1.1 药物发现的核心痛点

传统的药物发现,流程长、成本高、失败率高。一个新药从研发到上市,平均要花10亿美金,耗时10-15年。为什么会这样?

我遇到过很多次这样的情况:一个化合物在体外实验效果极好,到了动物体内却完全失效。这就是典型的“筛选效率”问题。候选分子太多,但能走下去的太少。

核心矛盾: 理论上有10^60种类药小分子,但人类的筛选能力极其有限。我们需要一个“过滤器”,把真正有潜力的分子快速挑出来。

传统的高通量筛选(HTS)虽然快,但成本极高,而且对新颖骨架的发现能力有限。虚拟筛选(Virtual Screening)则严重依赖分子特征的质量。特征提取不好,模型就是“瞎子摸象”。

1.2 机器学习为什么能介入?

我个人习惯把机器学习看作一个“高级翻译官”。它把化学家、生物学家熟悉的分子结构、氨基酸序列,翻译成计算机能懂的数学语言——特征向量。

你想想看,一个分子有成千上万个原子。每个原子又有不同的电荷、半径、杂化方式。这些信息怎么变成一列数字?这就是特征工程。

  • 传统方法: 指纹图谱。用一串二进制位表示分子有或没有某种子结构。简单,但丢失了全局信息。
  • 深度学习方法: 图神经网络(GNN)。把原子看成节点,化学键看成边。直接在拓扑结构上学习。
  • 物理基方法: 对接打分。模拟配体放进蛋白口袋的物理过程。计算量大,但可解释性强。

近年来,大家发现单一特征不够用。把不同类型的特征融合起来,效果反而更好。这就像听交响乐,你不能只听小提琴,也得听大提琴和铜管。

1.3 这门课想解决什么问题?

这门课的核心,就是教你如何提取、选择、融合蛋白和配体的特征,最终做出靠谱的预测模型。

别看市面上公开的数据集很多。真实工业场景里的数据,脏、乱、不平衡。我刚才提到的那些方法,在干净的数据上表现很好,但一遇到实际问题就露馅。我曾经在一个项目里,用公开的PDBbind数据训练的模型,准确率有0.85。一换到公司内部数据,直接降到0.6。为什么?数据分布不同,特征空间变了。

提示: 不要迷信公开数据集上的SOTA。你的模型最终要对你的数据负责。特征学习的根本目的,是找到数据中不变的本质规律。

课程会覆盖以下关键主题:

  1. 分子表示基础:从SMILES到三维构象,从一维序列到图结构。
  2. 蛋白特征提取:序列特征、结构特征、进化信息(PSSM,MSA)。
  3. 配体特征提取:二维指纹、三维药效团、图神经网络。
  4. 交互特征建模:接触矩阵、相互作用指纹、Attention机制。
  5. 实战案例:从数据准备、特征工程到模型训练的完整pipeline。

1.4 课程的整体知识体系

下面这张图,可以帮你快速理解我们课程的知识架构。它像一个漏斗:从原始数据开始,经过层层特征提取和融合,最终沉淀到具体应用。

课程知识体系:从原始数据到药物发现 原始数据 PDB, ZINC, ChEMBL SMILES, FASTA, SDF 配体特征 MACCS, Morgan, ECFP 图神经网络 (GNN) 蛋白特征 序列特征, One-hot 进化信息 (PSSM) 蛋白特征 (续) 结构特征 (3DCNN) 语言模型 (ESM, ProtBERT) 交互特征融合 相互作用指纹 (IFP) 注意力机制 (Attention), 双线性模型 预测模型与应用 亲和力预测 (Ki, IC50) 虚拟筛选、ADMET预测 课程主线: 从原始数据 -> 提取配体/蛋白特征 -> 融合交互特征 -> 构建预测模型 -> 解决药物发现实际问题。
学习建议: 初学者建议先重点掌握配体特征(ECFP指纹)和蛋白特征(PSSM矩阵)。这两个是后面所有复杂模型的基础。我当年也是从这两个模块入门的。

1.5 谁应该学这门课?

这门课面向:

  • 计算化学/药物化学背景的研究生:想系统学习机器学习在分子设计中的应用。
  • 机器学习/AI从业者:想进入制药或生物科技领域,了解化学数据的处理技巧。
  • 制药公司的研发工程师:工作中遇到实际筛选、先导化合物优化问题,想提升效率。

我不建议完全零基础的人直接读。最好有一点点Python基础,知道numpy、pandas怎么用。化学背景不一定需要,但我会在课程中穿插一些必要的化学概念解释。

1.6 预备知识与工具

为了顺利跟上课程,你需要配置以下环境:

# Python 3.8+
pip install rdkit-pypi numpy pandas scikit-learn matplotlib seaborn
# 分子处理库
pip install pandas torch-geometric dgl
# 蛋白处理相关
pip install biopython prody
注意: RDKit的安装经常出问题。我建议直接用conda:conda install -c rdkit rdkit。另外,如果你的GPU显存不够(小于8G),训练图神经网络时可能会内存溢出。建议先用CPU版本的PyTorch试试小模型。

1.7 本课程核心价值:为什么是特征学习?

我再说一个我的个人体会。很多项目失败,不是因为模型不够先进,而是因为特征没搞好。你用一个复杂的Transformer去处理SMILES,还不如一个简单的Morgan指纹加上一个XGBoost。为什么?数据量太小,特征维度太高,模型过拟合了。

特征学习的目的不是找“最花哨”的表示,而是找最本质、最鲁棒的表示。它决定了模型性能的天花板。这门课就是帮你把这个天花板抬高。

记住这句话: In drug discovery, the first 90% of the work is feature engineering; the second 90% is debugging.

1.8 课程用到的数据和案例概览

为了保证学员动手效果,课程主要基于三个公开数据集:

数据集大小用途
PDBbind (v2020)~19000个复合物蛋白-配体亲和力回归预测
DUD-E / DEKOIS 2.0约100个靶点虚拟筛选(区分活性/非活性)
ZINC 15 子集~100万分子大规模虚拟筛选实战

这三个数据集各有特点。PDBbind结构质量高但数量少。DUD-E是经典的benchmark,但容易过拟合。ZINC数据量大,适合训练大规模预训练模型。

在后续章节中,我会手把手带大家处理这些数据,构建特征,训练模型。不仅仅是调包,我还会解释每个步骤背后的物理化学含义。

1.9 本章小结

这章算是一个开胃菜。我们聊了药物发现的痛点,点出了特征学习的核心地位,也梳理了整门课的知识地图。

说白了,这门课的目标非常直接:让你学会如何把蛋白和配体“喂”给机器学习模型,并且让模型真的能干活。