文章目录
AlphaFold3:
https://github.com/google-deepmind/alphafold3
安装
参考官方文档:安装并运行您的第一个预测
本教程使用WSL2-Ubuntu22.04
安装Docker
Installing Docker on Host
参考Docker官方:
https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
- 设置 Docker 的apt存储库。
#Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755-d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
#Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable"| \
sudo tee /etc/apt/sources.list.d/docker.list >/dev/null
sudo apt-get update
- 安装 Docker 软件包。 安装最新版本:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 通过运行hello-world映像来验证安装是否成功:
sudo docker run hello-world
此时报错:
解决方法:
换源
sudo vim /etc/docker/daemon.json
查询网络各种方法,改用阿里云镜像均不成功
从闲鱼上买了个源成功了= =’
换源后记得重启:
sudo service docker restart
需注意:!
如果是一般的Linux操作系统,可能是因为Linux中没有使用systemd,想用systemd命令来管理Linux上的服务,因此会报错,很可能是使用的是经典的SysV init(sysvinit)系统。
本教程使用window11下WSL2的Ubuntu,就会使SysV init而不是systemd。
解决方法:
更换命令,用SysV init的命令代替systemd的
启用Rootless Docker
安装 GPU 支持
安装 NVIDIA 驱动程序
官方方法:
sudoapt-get -y install alsa-utils ubuntu-drivers-common
sudo ubuntu-drivers installsudo nvidia-smi --gpu-reset
nvidia-smi # Check that the drivers are installed.
此步骤个人之前已实现,详见:
CUDA升级/安装/使用 最新说明记录
有以下输入表明安装成功,才可以继续。
安装 NVIDIA 对 Docker 的支持
获取 AlphaFold 3 源代码
git clone https://github.com/google-deepmind/alphafold3.git
或手动下载:
获取基因数据库
此步骤需要
curl
和
zstd
安装在您的计算机上
# 检查是否安装curl -V
zstd -V
#sudo apt install zstd
AlphaFold 3 需要多个遗传(序列)蛋白质和 RNA 数据库才能运行:
- BFD small
- MGnify
- PDB (structures in the mmCIF format)
- PDB seqres
- UniProt
- UniRef90
- NT
- RFam
- RNACentral
官方提供了一个 Python 程序
fetch_databases.py
,可用于下载并设置所有这些数据库。如果不在本地SSD上安装,这个过程大约需要45分钟。我们建议在
screen
或
tmux
会话中运行以下命令,因为下载和解压缩数据库需要一些时间。
cd alphafold3 # cd 到包含AlphaFold 3存储库的目录
python3 fetch_databases.py --download_destination=<DATABASES_DIR>
此脚本从 GCS 上托管的镜像下载数据库,其中包含所有 版本与 AlphaFold 3 论文中使用的版本相同。
Note: 下载目录
<DATABASES_DIR>
不应是AlphaFold 3存储库目录中的子目录。如果是这样,Docker构建将很慢,因为大型数据库将在映像创建过程中被复制。
Note: 完整数据库的总下载大小约为252 GB,解压缩后的总大小为630 GB。
请确保您有足够的硬盘空间、带宽和时间来下载。我们建议使用SSD以获得更好的基因搜索性能,以及fetch_databases.py的更快运行时间。
Note: 如果下载目录和数据集没有完全的读写权限,可能会导致MSA工具出现错误,错误消息不明确。请确保应用了所需的权限,例如使用
sudo chmod 755 --recursive <DATABASES_DIR>
命令。
脚本完成后,应该拥有以下目录结构:
pdb_2022_09_28_mmcif_files.tar # ~200k PDB mmCIF files in this tar.
bfd-first_non_consensus_sequences.fasta
mgy_clusters_2022_05.fa
nt_rna_2023_02_23_clust_seq_id_90_cov_80_rep_seq.fasta
pdb_seqres_2022_09_28.fasta
rfam_14_9_clust_seq_id_90_cov_80_rep_seq.fasta
rnacentral_active_seq_id_90_cov_80_linclust.fasta
uniprot_all_2021_04.fa
uniref90_2022_05.fa
手动获取
由于网络原因且文件较大,该步骤总是报错
改成手动下载:(依次复制到浏览器下载)
https://storage.googleapis.com/alphafold-databases/v3.0/mgy_clusters_2022_05.fa.zst
https://storage.googleapis.com/alphafold-databases/v3.0/nt_rna_2023_02_23_clust_seq_id_90_cov_80_rep_seq.fasta.zst
https://storage.googleapis.com/alphafold-databases/v3.0/pdb_2022_09_28_mmcif_files.tar.zst
https://storage.googleapis.com/alphafold-databases/v3.0/pdb_seqres_2022_09_28.fasta.zst
https://storage.googleapis.com/alphafold-databases/v3.0/rfam_14_9_clust_seq_id_90_cov_80_rep_seq.fasta.zst
https://storage.googleapis.com/alphafold-databases/v3.0/rnacentral_active_seq_id_90_cov_80_linclust.fasta.zst
https://storage.googleapis.com/alphafold-databases/v3.0/uniprot_all_2021_04.fa.zst
https://storage.googleapis.com/alphafold-databases/v3.0/uniref90_2022_05.fa.zst
各文件大小为:
下载完成后,手动解压缩:
使用
zstd
解压缩
zstd -d file.txt.zst
unzstd file.txt.zst #二者等价# 检测压缩文件的完整性
zstd -t file.txt.zst
获取模型参数
可参考:AlphaFold 3 权重申请指南
构建将运行 AlphaFold 3 的 Docker 容器
参考
[1]AlphaFold3 最全食用指南
[2]window10下WSL使用Ubuntu报错: System has not been booted with systemd as init system (PID 1)
[3]如何修复 System has not been booted with systemd 报错信息?
[4]
[5]
[6]
版权归原作者 不是伍壹 所有, 如有侵权,请联系我们删除。