structure_study1

如何通过alphafold3和pymol研究蛋白质与核酸与原子互做

Alphafold3使用

首先,在Alphafold3的官网上,找到example3:Protein-DNA-ion: PDB 7RCE。

预测结构之后,下载,找到0.cif文件,用pymol打开。

Alphafold3中个参数含义:

模型颜色

局部折叠的置信度pLDDT(predicted local distance difference test) 衡量的是AF3对每一个残积的自信程度。

注意:低置信度的区域很少是因为AF3算错了,往往是因为这段序列在现实中没有固定形状,通常出现在蛋白质的末端或者天然无序区域(IDPs)。

全局得分

pTM(predicted template modeling score),范围是0-1,>0.8意味着高质量模型。

ipTM(interface pTM),专门评估结合界面准确度的分数,>0.8,说明AF3对预测的相互作用有信心

PAE(predicted aligned error),一张颜色矩阵,颜色越深代表越可靠(每个残基和每个残基之间的相对位置吗?)。

pymol可视化

将cif拖入pymol结果如下:
raw_structure

目的:找到与离子互做的氨基酸。

第一步:大扫除与宏观上色

刚导入的模型往往会把所有原子都画成线条,看起来像一团乱麻。我们先把它清理干净,并区分出蛋白质和 DNA。

1
2
3
4
5
6
7
8
9
10
11
# 1. 隐藏所有默认的杂乱线条
hide everything

# 2. 将蛋白质和 DNA 显示为平滑的卡通骨架 (Ribbon/Cartoon)
show cartoon

# 3. 给蛋白质穿上灰色的外衣
color gray70, polymer.protein

# 4. 给 DNA 穿上亮橙色的外衣,形成鲜明对比
color orange, polymer.nucleic

此时,屏幕上应该只剩下灰色的蛋白质束和橙色的 DNA 双螺旋了。

step1_structure

第二步:揪出那个“小透明”离子

1
2
3
4
5
6
7
8
# 1. 创建一个名为 "my_ion" 的选择集,包含常见的金属离子
select my_ion, resn ZN+MG+CA+FE

# 2. 把离子以“圆球 (Spheres)”的模式显示出来,这样最醒目
show spheres, my_ion

# 3. 把这个圆球涂成耀眼的黄色
color yellow, my_ion

现在能在灰色和橙色的交界处(或蛋白质的某个深坑里),看到一个或几个闪闪发光的黄色小球。
step2_structure

寻找“幕后黑手”(抓取离子的氨基酸)

我们要让软件自动找出距离这个黄色小球 4.0 埃 (Å) 以内的所有氨基酸和核苷酸,它们就是抓住离子的“爪子”。

1
2
3
4
5
6
7
8
# 1. 选中距离离子 4.0 埃以内的所有完整残基,并命名为 "claws" (爪子)
select claws, byres (polymer within 4.0 of my_ion)

# 2. 把这些“爪子”以树枝状 (Sticks) 显示出来,以便看清原子的细节
show sticks, claws

# 3. 给这些爪子按照原子类型上色 (碳原子变绿,氧变红,氮变蓝),这是结构生物学的标准配色!
util.cbac claws

step3_structure

此刻,能够清晰地看到几个氨基酸(比如带有环状结构的组氨酸,或者带硫原子的半胱氨酸)像夹娃娃机的爪子一样,从四面八方精准地指向那个黄色的小球。

画出相互作用力

为了让图表具有绝对的科学说服力,我们需要把离子和“爪子”之间的相互作用力(配位键或静电作用)用虚线画出来。

1
2
3
4
5
6
7
8
# 测量离子与爪子之间距离在 3.5 埃以内的原子,并用虚线连接,命名为 "my_bonds"
distance my_bonds, my_ion, claws, 3.5

# 隐藏距离测量产生的数字标签(让画面更干净)
hide labels, my_bonds

# 把虚线变成黑色,增加对比度
color black, my_bonds

标记氨基酸

在复杂的蛋白质结构里,如果让所有原子都显示标签,屏幕瞬间就会变成一团看不清的“乱码”。所以,结构生物学家的常规操作是:只在氨基酸的“骨架节点”(α 碳原子,简写为 CA)上打标签

1
2
3
4
5
6
7
# 1. 提取氨基酸的名字 (resn) 和编号 (resi),并只贴在 CA 原子上方
label claws and name CA, resn + " " + str(resi)

# 2. 调整标签的视觉效果(换成显眼的白色,并放大字号)
set label_color, white
set label_size, 22
set label_font_id, 7

能够看到五个aa,GLN 203,GLU 21,GLY176,ALA20,ASP177
step4_structure

视觉优化

可视化遇上以下三个问题:

  1. 镜头太远:核心作用区域只占了屏幕很小的一部分。

  2. 标签打架:字号(22)对于密集的原子来说太大了,全挤成了一团白色的乱码。

  3. 背景喧宾夺主:巨大的灰色蛋白质和橙色 DNA 挡住了内部精细的化学键细节。

改进:

  1. 镜头拉进和背景虚化

让我们的视线穿过厚重的蛋白质,直接聚焦在离子身上。

1
2
3
4
5
# 1. 镜头拉近:精准聚焦到离子周围 8 埃的微观世界
zoom my_ion, 8

# 2. 虚化背景:给无关的蛋白质和 DNA 加上 60% 的半透明效果!(这招极其好用)
set cartoon_transparency, 0.6
  1. 抢救堆叠的标签
    我们要把字号改小,并且把标签往原子的右上方“推”开一点,防止它们互相重叠。
1
2
3
4
5
# 1. 把字号改小到 14
set label_size, 14

# 2. 把标签在 3D 空间中偏移一点 (X, Y, Z 轴各移动一段距离)
set label_position, (2, 2, 0)
  1. 加粗爪子与渲染
    最后,我们把细节加粗,换上干净的白底,并开启光影追踪渲染。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 1. 让结合的“爪子”和“虚线”变得更粗壮、更有力量感
set stick_radius, 0.2
set dash_radius, 0.08

# 2. 切换为顶级期刊常用的纯白背景
bg_color white

# 3. 既然背景变白了,赶紧把标签变成黑色,否则字就隐形了!
set label_color, black

# 4. 开启高级光影渲染引擎并出图 (电脑会卡顿几秒,这是在计算阴影)
set ray_trace_mode, 1
ray 1200, 1200
png ~/Desktop/Clear_Complex.png, dpi=300

光影渲染和导出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 1. 把背景换成干净的白色 (论文排版必备)
bg_color white

# 注意:背景变白后,刚才白色的标签可能看不清了,我们把它改成黑色
set label_color, black

# 2. 开启 PyMOL 的高级光影渲染引擎 (Ray Tracing)
# 这一步会让蛋白质产生非常逼真的阴影和立体感 (也就是所谓的环境光遮蔽 AO)
set ray_trace_mode, 1

# 3. 渲染一张 1200 x 1200 像素的高清图
# 注意:输入这行并回车后,您的电脑可能会卡顿几秒到十几秒,这是正常现象,AI 正在计算光线追踪!
ray 1200, 1200

# 4. 把刚刚渲染好的高清大图保存到您的电脑桌面上 (支持透明背景!)
# 这里的保存路径您可以根据实际情况修改
png ~/Desktop/My_First_Structure.png, dpi=300

现在,屏幕上有了蛋白、DNA、发光的离子、配位键的虚线以及标签。但默认的黑色背景和塑料质感看起来还不够高级。按以上代码运行得到了高清白底插图。
step5_structure

结构叠合

我们可以直接在 PyMOL 里用一句命令从 PDB 数据库下载真实的 7RCE 实验结构,然后把它和我们 AF3 预测的模型叠在一起,看看 AI 算出来的 DNA 螺旋角度、钙离子的位置,和现实世界中做实验拍出来的究竟有多大误差!

  1. 从PDB下载蛋白质结构
    PyMOL 内置了直接连接全球蛋白质数据库(PDB)的接口。
1
2
3
4
5
6
7
8
# 直接从 PDB 数据库下载真实的 7RCE 实验结构
fetch 7rce

# 隐藏真实结构自带的水分子(实验结构里通常有很多乱糟糟的水分子)
hide (resn HOH)

# 让真实结构也显示为平滑的卡通模式
show cartoon, 7rce

屏幕上应该出现了两套重影的复合物,它们可能不在同一个位置,甚至互相穿模。
2. 给真实结构上色
为了不和刚才 AI 预测的灰色蛋白、橙色 DNA 混淆,我们给“真实版”换一套显眼的冷色调。

1
2
3
4
5
6
7
8
9
10
# 给真实的蛋白质穿上“淡青色”外衣
color palecyan, 7rce and polymer.protein

# 给真实的 DNA 穿上“淡绿色”外衣
color palegreen, 7rce and polymer.nucleic

# 揪出真实结构里的钙离子,并把它变成醒目的“亮粉色”圆球
select real_ion, 7rce and resn CA
show spheres, real_ion
color hotpink, real_ion
  1. 叠合模型
    这是结构生物学里最经典的一行命令。它会让电脑计算两套坐标,然后像套娃一样把它们强行重合在一起。
1
2
# 把 AI 预测的模型,叠合(align)到真实的 7rce 模型上
align examplefold_pdb_7rce_model_0, 7rce

此时能够看到pymol上方控制台出现的一行小字: Executive: RMSD =    0.622 (2451 to 2451 atoms)

RMSD(均方根偏差)是评价预测准不准的黄金标准,衡量的是两套原子的平均空间距离差异。

  • RMSD < 2.0 埃:极其优秀,AI 几乎完美复现了现实。

  • RMSD < 1.0 埃:神级预测,AI 的精度已经达到了实验误差的极限(相当于“满分”)。

  • RMSD > 4.0 埃:预测失败,折叠完全不对。

step6_structure

放大仔细看细节

看完宏观分数,我们来看看微观细节。实验结构里,那几个抓着钙离子的“爪子”(侧链)真的长那样吗?

1
2
3
4
5
6
7
# 把镜头推近到真实的钙离子(亮粉色小球)周围
zoom real_ion, 8

# 把真实结构里抓取离子的氨基酸也显示为树枝状
select real_claws, byres (7rce and polymer within 4.0 of real_ion)
show sticks, real_claws
util.cbac real_claws
  • 看宏观骨架: 灰色的 AI 蛋白和淡青色的真实蛋白是不是严丝合缝地套在一起了?橙色的 AI DNA 和淡绿色的真实 DNA 的螺旋角度有没有偏差?

  • 看离子的位置(最震撼的一幕): 您会看到刚才黄色的 AI 钙离子和亮粉色的真实钙离子。它们是不是几乎完全重叠在了一起,像一个双色球?这意味着 AI 在没有任何实验指导的情况下,纯靠物理和进化规律,在庞大的空间里“盲猜”中了这个原子的绝对坐标!

  • 看爪子的姿态: 观察两套氨基酸侧链(树枝状结构)。它们是不是像双胞胎一样指向了相同的角度?