这里介绍两种基于深度学习的从冷冻电镜map自动生成原子模型的软件,一个是RELION开发者Sjors H.W. Scheres组的成果,另一个是山东大学杨建益老师组的成果,实际测试下来各有优劣,针对不用的蛋白实际使用可以都试试。
ModelAngelo
ModelAngelo是一个用于冷冻电镜自动原子模型构建的程序。建议使用显存大于8GB的GPU,在NVIDIA 2080Super及更新的GPU上表现良好。其使用的语言模型所需的权重文件合计需要大概10 GB的硬盘空间。Github :https://github.com/3dem/model-angelo.git
安装
使用conda管理安装环境,需要先安装conda。下载源代码后使用官方的安装脚本就能自动安装。
git clone https://github.com/3dem/model-angelo.git
cd model-angelo
source install_script.sh
如果顺利的话,现在应该有一个叫model_angelo的conda环境,可以用conda activate model_angelo来激活环境。
然后输入model_angelo build --help来确认是否安装正确了。
已知序列的建模
输入model_angelo build --help可以查看已知序列建模的帮助文件。
需要输入map和蛋白质序列fasta文件。同源多聚体的fasta只需要写一次序列,相同的序列会被移除。
model_angelo build -v map.mrc -pf prot.fasta -o output
也可以有dna或者rna序列。
model_angelo build -v map.mrc -pf prot.fasta -df dna.fasta -rf rna.fasta -o output
输出模型会在output/output.cif。
安装完成后第一次运行会下载权重文件,之后就不用了。
未知序列的建模
输入model_angelo build_no_seq --help可以查看未知序列建模的帮助文件。
一般情况下,只需要输入map就可以。
model_angelo build_no_seq -v map.mrc -o output
输出模型会在output/output.cif。
未知序列搜索
未知序列的建模之后,可以用这个模型去RCSB PDB数据库进行结构相似性比对,或者直接拿预测的序列进行blast,就能知道蛋白是什么。前者的成功率一般会高一点,而且速度很快,因为单从密度精确判断氨基酸种类对分辨率要求还是比较高的,可以手动确认验证一下。
ModelAngelo也内置了HMM search的方法来检索未知序列。
先按照未知序列建模运行命令,结果里应该会有一个output/hmm_profiles,此外还需要下载fasta格式的对应物种蛋白质组数据库。
人类Homo sapiens数据库:https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Eukaryota/UP000005640/UP000005640_9606.fasta.gz
大肠杆菌E.coli (K12)数据库:https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Bacteria/UP000000625/UP000000625_83333.fasta.gz
酿酒酵母Saccharomyces cerevisiae数据库:https://ftp.uniprot.org/pub/databases/uniprot/current_release/knowledgebase/reference_proteomes/Eukaryota/UP000002311/UP000002311_559292.fasta.gz
然后运行命令:
model_angelo hmm_search --i output --f PATH_TO_DB --o hmm_output
–i输入就是前面建模产生的output文件夹,PATH_TO_DB就是下载的对应物种的数据库(需要解压一下),–o就是输出文件。
指定GPU
所有命令都可以通过--device 0的方式来指定使用的GPU id,多个的话可以用逗号隔开。
CryoAtom
CryoAtom是山东大学杨建益老师组开发的冷冻电镜自动原子建模软件,使用方法和ModelAngelo类似。
Github :https://github.com/YangLab-SDU/CryoAtom.git
安装
需要使用conda管理安装环境。需要按照cuda,确认nvcc -V。
git clone https://github.com/YangLab-SDU/CryoAtom.git
cd CryoAtom
source install.sh
按照完成后,用conda activate CryoAtom来激活环境。
然后输入cryoatom build -h来确认是否安装正确了。
已知序列的建模
输入cryoatom build -h可以查看已知序列建模的帮助文件。
需要输入map和蛋白质序列fasta文件。同源多聚体的fasta只需要写一次序列,相同的序列会被移除。
cryoatom build -v map.mrc -s prot.fasta
输出模型会在output/output.cif。
未知序列的建模
一般情况下,只需要输入map就可以。
cryoatom build -v map.mrc
输出模型会在output/output.cif。
如果已知物种,也可以指定蛋白质数据库来检索蛋白质序列。
cryoatom build -v map.mrc -f sequence_database.fasta

对于未知序列的模型的预测,是否有更为精细的教程/操作?或者这个软件的操作是全自动的?我想知道在普通的台式机,基于linux系统上,加装英伟达的显卡,比如3070、4060TI、5060TI这些显卡,是否也能胜任计算工作?
有map直接输入那个命令就出结果了。你说的这些显卡应该都可以的,速度快慢的区别。
可以的。我用WSL2做了一点尝试,在我的4060主机上都可以运行,就是很慢。但是我不知道怎么评价结果。