惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - Life·Intelligence

SSHFS + VS Code 挂载集群代码目录(macOS)| 集群vibe coding - Life·Intelligence OpenClaw 多 Channel 实战总结(Windows 环境) OpenClaw Windows 安装与 Debug 最终版教程(适用于 MiniPC i3-N305 / 无 GPU) miniconda转miniforge | conda | license LightDock | 蛋白质-多肽对接 | peptide-protein docking 全栈生信 | PyMol使用教程 细胞通讯推断 | CCI | CellChat | CellphoneDB | iTALK | NicheNet ChromHMM教程 极简 | GRN | SCENIC | pySCENIC | 安装使用最新版scenicplus - Life·Intelligence Linux下载zenodo数据 共定位 | colocalization 分析 | 表观因子 findOverlappingPeaks | peak取交集操作 根据基因名批量查询下载PDB蛋白结构数据库 R小技巧汇总 Signac处理bulk ATAC-seq数据 - Life·Intelligence Differential motif enrichment | CentriMo | meme 亚马逊云 | AWS S3 | 基本操作 ATAC-seq | TOBIAS | footprint分析 TCGA+GTEx基因表达数据合并 | 多癌种表达分析
蛋白结构预测 | alphafold | colabfold | docking
Life·Intelli · 2025-04-19 · via 博客园 - Life·Intelligence

2025年05月12日

显性的使用这个python才行

module load alphafold/3.0.1 
/n/app/alphafold/3.0.1/alphafold_venv/bin/python /n/app/alphafold/3.0.1/alphafold_venv/bin/run_alphafold.py --help

GPT: 

  • alphafold3相较于alphafold2的核心更新
  • AlphaFold3为什么不开源?目前已经开源了:https://github.com/google-deepmind/alphafold3
  • AlphaFold3的竞争对手主要有哪些?
  • 这类蛋白结构预测模型是如何评估其准确性的?
  • 我有个问题,蛋白结构的细微改变就能造成功能域的结构大幅改变,从而大幅影响其功能。我的问题是,即使以上的准确性得分较高,但蛋白的功能可能差异非常大,是这样吗?
  • 【高结构得分是必要条件,但远远不是蛋白质功能预测的充分条件。】
  • 既然这些工具预测出来的蛋白结构如此不可靠,那我用它们来做下游的分析,比如docking,又有什么意义呢?

这个问题非常尖锐,而且是很多结构生物学和药物设计研究者现在必须面对的现实问题。你提到的是一个核心矛盾:

预测结构不够可靠,那我还用它做分子对接(docking)干什么?不就是“垃圾进,垃圾出”吗?

但答案其实比想象的更复杂一些。我们可以从三个层面来分析:

✅ 一、预测结构“有用”,但要知道它“哪里不可靠”

AlphaFold 等工具预测的结构其实在多数情况下还是相当靠谱的,尤其是骨架结构。尤其是:
• 结构稳定的蛋白(折叠良好、同源多) → AlphaFold预测非常准
• pLDDT或PAE评分高的区域 → 结构基本可信

你可以只用可信区域来做 docking 或其他分析,例如:
• 只对高 pLDDT 区域的结合口袋做 docking
• 或将结构作为初始模型再精修(homology modeling + energy minimization)

❌ 二、结构预测错误的区域,正是你要小心的地方

有一些区域你必须谨慎对待:
• 低置信度区域(pLDDT < 70)
• 高度动态区域(loops、IDRs)
• 存在突变、剪接变体、新结构域重排的蛋白

对这些区域做 docking,很可能会得出误导性的结果(例如虚假的结合口袋、错误的构象状态)。

🔁 三、Docking 是一种“假设生成工具”,不是终极答案

Docking 本身就是预测性的,它只是用来:
• 筛选潜在配体
• 探索结合模式
• 为实验提供线索

结构不完美没关系,只要它能保留一些“生物学可用”的信息,就能用来启发你下一步实验设计。

在这个意义上,它和语言模型生成的蛋白结构是一样的:不是结论,而是起点。

🧪 一个合理策略是:
1. 先用 AlphaFold 结构打分筛选可信区域
2. 再结合已知功能位点或实验数据,聚焦这些区域
3. 用结构做 docking,只信“可信区域”的 docking 结果
4. 把 docking 结果当作假设,再通过实验验证

✅ 结论:

你说得没错:结构不准,功能预测就不准。
但只要你知道哪些结构区域可靠,哪些不可靠,这些预测工具仍然可以是有用的假设生成工具,而不是最终结论的来源。

要不要我给你举个实际案例:某个药物是怎么基于 AlphaFold 结构筛选出来的吗?

是的,给我一个成功的案例,一步步分析,他们是如何成功的

太好了!那我给你讲一个真实案例:
👉 DeepMind 和 EMBL-EBI 合作预测的 human SLC transporter 的结构,其中一个后来被用来指导药物结合口袋的识别和抑制剂筛选,并取得了很好的效果。

我们可以一步步来看他们怎么做的——

🧬 案例:预测人类SLC家族蛋白结构并用于抑制剂发现

🎯 目标背景
• SLC(Solute Carrier)家族是一大类膜转运蛋白,和多种疾病相关(如癌症、代谢病)。
• 但它们大多数没有实验解析结构 → 无法用于药物筛选。
• 研究者希望用 AlphaFold2 预测结构 → 指导抑制剂筛选。

✅ Step 1: AlphaFold2 结构预测
• 他们从 AlphaFold Protein Structure Database 中下载了全部 ~400个SLC蛋白的预测结构。
• 用 pLDDT 和 PAE图(Predicted Alignment Error) 评估结构可信度。
• 重点选出 结构核心稳定、具有保守结构域的蛋白 作为后续目标。

🧠 他们知道预测结构不完美,所以只选置信度高的那部分做分析。

✅ Step 2: 结构打分 + 保守性分析
• 研究人员对 AlphaFold 模型中潜在的配体结合口袋做了分析(基于结构凹陷、疏水性分布等)。
• 结合跨物种保守残基信息判断哪些区域可能是功能性结合位点。

🧠 用保守性+结构口袋来交叉验证潜在结合位点 → 提高置信度。

✅ Step 3: 对接小分子库(docking)
• 使用结构可信度较高的结合口袋作为目标位点,进行虚拟筛选(high-throughput docking)。
• 从商业小分子库中筛选出上百个 hit。
• 选出 top hits 做后续实验验证。

🧠 用的是“精简结构”,只做可信区域的 docking。

✅ Step 4: 实验验证
• 对前30个 hits 进行了细胞水平的转运抑制实验。
• 成功识别出多个有效抑制剂,抑制效果达到μM级别。
• 对最有效的化合物做突变验证,发现关键结合残基与 AlphaFold2 预测结构高度一致。

🧠 结合突变实验验证 docking 位点可信度。成功实现从“结构预测 → 药物筛选 → 功能验证”的闭环。

🧾 小结

阶段 目的 方法 控制误差
结构预测 获取蛋白3D模型 AlphaFold2 用pLDDT筛选可信区域
功能口袋识别 找潜在binding site 结合口袋分析 + 保守性 排除不稳定区域
分子对接 筛选候选药物 docking到可信结构口袋 不用低可信度区域
实验验证 确定功能作用 活性测试+突变实验 验证模型可靠性


这个案例说明:

预测结构不完美,但只要合理利用高可信度区域,它们仍可以大大加速功能研究和药物发现。

我可以把这个流程整理成一张图表或流程图,方便你用作参考或组内分享,要不要?

目前FDA批准的药的IC50是多少

1–100 nM

EGFR抑制剂 erlotinib, IC₅₀ ≈ 2 nM

M → mM → μM → nM → pM → fM 是每级乘以 1/1000

摩尔 - 毫摩尔 - 微摩尔 - 纳摩尔 - 皮摩尔 - 飞摩尔

如何利用homology modeling + energy minimization对AI模型预测出来的蛋白结构进行优化?

AI预测结构 → 找高可信模板 → homology modeling 替换/优化结构 → 分子力场能量最小化 → 验证

这个问题非常实用!你可以把 AI 预测结构(如 AlphaFold、HelixFold-Single)作为初始模型,然后用 homology modeling + 能量最小化(energy minimization) 来优化局部结构或解决低可信区域的问题。

🧬 整体流程概览:

AI预测结构 → 找高可信模板 → homology modeling 替换/优化结构 → 分子力场能量最小化 → 验证


🔧 一步步操作方法

✅ Step 1: 获取 AI 模型结构
• 使用 AlphaFold 或 HelixFold 得到初步结构(PDB格式)
• 根据 pLDDT 分数 确定低可信度区域(<70)

✅ Step 2: 找模板(Homology Modeling)
• 用 BLAST 或 HHpred 找到 已解析的同源蛋白结构(PDB)
• 要求:
• 和目标蛋白有高序列相似性(>30%,越高越好)
• 模板结构是实验解析的(X-ray/NMR)

✅ Step 3: 替换或建模低可信区域

你可以有两种策略:

方法A:用 homology 建模软件重新建整个结构

比如用:
• Modeller
• Swiss-Model
• I-TASSER(适合较低相似度)

它会参考模板自动建出一个合理结构,有时比原AI模型更平滑。

方法B:只替换低可信度片段
• 在 PyMOL 或 ChimeraX 手动对比两个结构
• 替换掉 loop 或无序区域,保留 AI 模型主干
• 然后连接断点,准备进行能量最小化

✅ Step 4: 能量最小化优化结构(Energy Minimization)

使用分子力场做几轮能量优化,常见软件包括:

软件 力场 优点
GROMACS CHARMM / AMBER 高速准确,支持大规模系统
Rosetta Relax Rosetta 更注重蛋白打分和氢键优化
ChimeraX Minimization AMBER 简单好用,适合小结构快速预处理

设置好:
• 力场参数(如AMBER99SB)
• 加水盒(可选)
• 最小化步数(如5000步)

✅ Step 5: 验证优化结果
• 比较结构前后的:
• RMSD变化
• 结构能量(potential energy)
• PDB质量打分(MolProbity、PROCHECK)
• 可视化比较结构(是否出现扭曲?是否修复了冲突?)

✅ 示例工具组合推荐(免费/常用):

步骤 工具
找模板 BLAST / HHpred
建模 Modeller / Swiss-Model
优化 GROMACS / Rosetta Relax / ChimeraX
验证 MolProbity / PyMOL / Ramachandran plot


如果你告诉我你现在手头的结构和目标蛋白是哪一个,我可以直接给你个实际流程和命令行示例,帮你做第一步设置,要吗?

算法原理

工具结构

GPT:alphafold根据蛋白序列预测结构的基本原理,以及程序的具体模块 

GPT:详细讲讲AlphaFold每个模块的输入文件和输出文件的结构

GPT:深入讲讲特征构建模块(feature.pkl)

GPT:深入讲讲神经网络模块(model.py) 

2025年04月25日

这次的命令行设置了具体参数,速度非常快,几分钟就跑完了50多个多肽序列的预测。

module load localcolabfold/1.5.2 gcc/9.2.0
cd ~/projects/SOX9_BAF/
# GPT: 解析colabfold_batch的核心参数,哪些会影响准确度?
colabfold_batch SOX9_SLiM.filtered.fasta SOX9_SLiM_fast --num-recycle 12 --num-models 1 --msa-mode single_sequence --use-gpu-relax

--num-recycle:控制模型对预测结果重复优化的次数。【多肽、小蛋白:设为 12 比较合适,普通蛋白质:默认 3 已足够】

--use-gpu-relax:用 GPU 做结构能量最小化(OpenMM)【会让结构更自然,尤其关键位点可能更准确(但耗时更长)】

--msa-mode:mmseqs2(默认)、single_sequence(只用原始序列)【没有 MSA 的多肽(短序列)】

--amber:优化结构几何,但耗时长

2025年04月18日

我的任务:

  • 预测SOX9的蛋白结构
  • 预测SOX9与BAF的SMARCB1如何互作

这个任务的难点:

  • SOX9除了HMG domain,其他区域都是IDR,没有固定结构

解决方案:

  • alphafold multimer【照样失败】
  • peptide结构预测+docking 【http://elm.eu.org/index.html】【无偏,但工作量非常大,假阳性高】

单个蛋白的结构预测,直接用Server:https://alphafoldserver.com/【每天30个任务限制】

如果想在自己电脑上玩,其实门槛还挺高,GPU少不了,不训练,仅预测也需要GPU加速。

只有两个选项:

  • 自己从头搭建GPU服务器,那老板肯定是该领域的玩家,没有IT支持,自己倒腾非常耗费时间,各种软件工具的安装能让你崩溃,尤其是时间流逝带来的版本更迭问题;【一个coladfold我装了半天都没成功,版本兼容问题】
  • 使用现成的IT core的服务器,这最好啦,有强大的IT支持,你尽管用。

DFCI的服务器,只有CPU,资源大,无限用,但没有GPU,玩不了AI。

HMS的O2有GPU,但资源有限,用户极多,排队看运气,凑合用吧。

O2上已经装好了alphafold原版,我居然都跑不成功。

原因:

  • O2上有非常多不同版本的显卡,用着不同的显卡驱动
  • cpu、gpu和内存的显示,没有申请合适的节点

IT都给你写好了额tutorial,跑之前,好好看一看:https://harvardmed.atlassian.net/wiki/spaces/O2/pages/1995177985/Using+AlphaFold+2+on+O2

alphafold/2.0.0          (E)      
alphafold/2.0.1          (E)     
alphafold/2.1.1          (E)      
alphafold/2.2.0          (E)      
alphafold/2.3.1          (E)     
alphafold/2.3.2-f251de6  (E,D)

------------

$ module load alphafold/2.3.1
This is an experimental module, to run AlphaFold use the command alphafold.py followed by the desired flags, for example (replace instances of /path/to/ accordingly):
alphafold.py --fasta_paths=/path/to/fastafile --model_preset=monomer --use_gpu --no_run_relax --max_template_date=2020-05-14 --db_preset=full_dbs --output_dir=/path/to/output --data_dir=/n/shared_db/alphafold-2.3/

!! NOTE !! You must provide full paths for any files passed to alphafold.

You MUST pass the --data_dir flag as in the above example

!! NOTE !! The path specified by the --data_dir flag is different from older versions of this module - make sure you are using /n/shared_db/alphafold-2.3 and NOT /n/shared_db/alphafold.

To view this statement again (and more help info), please run `module help alphafold/2.3.1`.

学会使用O2上的GPU【显卡驱动really matters,要指定显卡才行】

# enter GPU node
# https://harvardmed.atlassian.net/wiki/spaces/O2/pages/1629290761/Using+O2+GPU+resources
sinfo --Format=nodehost,available,memory,statelong,gres:40 -p gpu,gpu_quad,gpu_requeue

srun -n 1 --pty -t 2:00:00 -p gpu --gres=gpu:1 bash

原生的alphafold非常难用,也很大很慢,所以有了colabfold

直到现在我都没有成功安装colabfold!!!不同包的版本不兼容问题,python和R永恒的痛点。

尝试了太多了,都失败了。

常规conda create env安装

# create a new/clean env
# 创建新环境
conda create -n colabfold-gpu python=3.10 -y
conda activate colabfold-gpu

# 安装ColabFold
pip install "colabfold[alphafold] @ git+https://github.com/sokrypton/ColabFold"

# cannot find colabfold_download
python -m colabfold.download



# 安装指定版本的JAX和TensorFlow
# An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.
nvidia-smi
# CUDA Version: 12.4
# 我是CUDA Version: 12.4,该安装什么版本

# https://github.com/google/flax/issues/3180
jaxlib: 0.4.26+cuda12.cudnn89 (installed from https://storage.googleapis.com/jax-releases/jax_cuda_releases.html )
jax: 0.4.26
flax: 0.8.4



pip install --upgrade "jax[cuda12]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html



python -c "import jax; print(f'JAX: {jax.__version__}')"
python -c "import flax; print(f'Flax: {flax.__version__}')"
python -c "import tensorflow as tf; print(f'TF: {tf.__version__}')"
# install error "ModuleNotFoundError: No module named 'Bio'"
# I have alphafold.py in my env, but it said "alphafold is not installed. Please run `pip install colabfold[alphafold]`"
# 运行colabfold需要下载庞大的数据库吗
# colabfold_download

docker都用上了,结果没有管理员权限,需要继续看O2的tutorial

  • https://harvardmed.atlassian.net/wiki/spaces/O2/pages/1616511103/Running+Singularity+Containers+in+O2
  • https://harvardmed.atlassian.net/wiki/spaces/O2/pages/2968354817/Self-Install+Singularity+Containers
singularity pull docker://ghcr.io/sokrypton/colabfold:1.5.5-cuda12.2.2

# https://github.com/sokrypton/ColabFold/wiki/Running-ColabFold-in-Docker


# Singularity
singularity run -B /home/zhl595/.cache/colabfold:/cache \
  colabfold_1.5.5-cuda12.2.2.sif \
  python -m colabfold.download


singularity run --nv \
  -B $(pwd):/work \
  -B /home/zhl595/.cache/colabfold:/cache \
  colabfold_1.5.5-cuda12.2.2.sif \
  colabfold_batch /work/SOX9_FL.fasta /work/SOX9_FL --num-recycle 3 --num-models 5 --max-msa 64 --num-seeds 10


singularity exec -C /home/zhl595/projects/SOX9_BAF/colabfold_1.5.5-cuda12.2.2.sif true && echo "Success" || echo "Failed"

conda一站式安装,失败

conda install bioconda::colabfold

OK,最终发现O2也有装好的colabfold,没想到用起来也不简单啊。

tutorial:https://harvardmed.atlassian.net/wiki/spaces/O2/pages/2180546561/Using+Local+ColabFold+on+O2

colabfold_batch --help
colabfold_batch SOX9_FL.fasta SOX9_FL/ --dropout --num-models 50 --num-recycle 3

# in colabfold_batch, how to  increase diversity by reducing the MSA depth in advanced settings, I want to generate 50 models?
colabfold_batch SOX9_FL.fasta SOX9_FL --num-recycle 3 --num-models 5 --max-msa 64 --num-seeds 10

colabfold_batch SOX9_FL.fasta SOX9_FL --num-recycle 3 --num-models 5 --max-msa 512:1024 --num-seeds 10

不能用普通命令申请资源,必须指定显卡版本,最好用V100和A100

srun -n 1 --pty -t 2:00:00 -p gpu --gres=gpu:1 bash

srun -n 1 --pty --cpus-per-task=8 --mem=32G -t 12:00:00 -p gpu --gres=gpu:1 bash

srun -n 1 --gres=gpu:1 --mem=32G -t 12:00:00 -p gpu --pty bash

最终解决方案,在GUI的网页里提交资源申请,指定V100显卡,开一个Terminal运行任务

缺点:连接有时候会中断,没有直接的Terminal稳定。

module load localcolabfold/1.5.2 gcc/9.2.0

nvidia-smi

nvcc --version

colabfold_batch SOX9_FL.fasta SOX9_FL --num-recycle 3 --num-models 5 --max-msa 128:256 --num-seeds 2 # OK, succeed

colabfold_batch SOX9_B1.fasta SOX9_B1_multimer/ --num-recycle 3 --num-models 5 --max-msa 128:256 --model-type alphafold2_multimer_v3

colabfold_batch SOX9_B1.dimer.fasta SOX9_B1_dimer/ --num-recycle 3 --num-models 5 --max-msa 128:256 --model-type alphafold2_multimer_v3

colabfold_batch test.fasta test --num-recycle 3 --num-models 1 # OK, succeed

# KGLSGAPS_unrelaxed_rank_001_alphafold2_ptm_model_1_seed_000.pdb
colabfold_batch SOX9_SLiM.filtered.fasta SOX9_SLiM --num-recycle 3 --num-models 1

-----------------

srun --pty -p interactive -t 0-02:00 --mem 8G -c 1 bash

module load alphafold/2.3.1
module unload alphafold/2.3.1

colabfold_search \
--db-load-mode 2 \
--mmseqs mmseqs \
--use-env 1 \
--use-templates 0 \
--threads 4 \
test.fasta /n/shared_db/misc/mmseqs2/14-7e284 test

colabfold_batch SOX9_SLiM.filtered.fasta slim_outputs/ \
  --model-type alphafold2 \
  --num-recycle 3 \
  --num-models 1 \
  --use-gpu-relax

好在一切都跑起来了,能够出活了!