PSP - 开源可训练的蛋白质结构预测框架 OpenFold 的环境配置

这篇具有很好参考价值的文章主要介绍了PSP - 开源可训练的蛋白质结构预测框架 OpenFold 的环境配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/132334671

PSP - 开源可训练的蛋白质结构预测框架 OpenFold 的环境配置,AI for Biotech,OpenFold,环境配置,蛋白质结构预测

Paper: OpenFold: Retraining AlphaFold2 yields new insights into its learning mechanisms and capacity for generalization

  • OpenFold: 重新训练 AlphaFold2 揭示对于学习机制和泛化能力的新见解

OpenFold 是可训练的开源实现用于模拟 AlphaFold2 的结构预测能力,主要特点如下:

  • 训练和性能:从头开始训练 OpenFold,并且达到与 AlphaFold2 相当的预测精度。同时 OpenFold 比 AlphaFold2 更快、更节省内存,支持在 PyTorch 框架下运行。
  • 学习机制:通过分析 OpenFold 在训练过程中预测的结构,发现一些有趣的现象,例如空间维度、二级结构元素和三级尺度的分阶段学习,以及低维 PCA 投影的近似性。
  • 泛化能力:通过使用不同大小和多样性的训练集,以及在结构分类上剔除部分训练数据,来评估 OpenFold 对于未见蛋白质折叠空间的泛化能力。发现 OpenFold 即使在极端缩减的训练集上,也能表现出惊人的鲁棒性和准确性。

GitHub: aqlaboratory/openfold


1. 结构推理

准备模型文件 finetuning_ptm_2.pt ,参考 Huggingface - OpenFold:

pip install bypy
bypy info

mkdir openfold_params
cd openfold_params/
bypy downfile /huggingface/openfold/finetuning_ptm_2.pt finetuning_ptm_2.pt

测试的推理命令,如下:

python3 run_pretrained_openfold.py \
mydata/test \
af2-data-v230/pdb_mmcif/mmcif_files \
--uniref90_database_path af2-data-v230/uniref90/uniref90.fasta \
--mgnify_database_path af2-data-v230/mgnify/mgy_clusters_2022_05.fa \
--pdb70_database_path af2-data-v230/pdb70/pdb70 \
--uniclust30_database_path msa_databases/deepmsa2/uniclust30/uniclust30_2018_08 \
--output_dir mydata/output \
--bfd_database_path af2-data-v230/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt \
--model_device "cuda:0" \
--jackhmmer_binary_path /opt/openfold/hhsuite-speed/jackhmmer \
--hhblits_binary_path /opt/conda/envs/openfold/bin/hhblits \
--hhsearch_binary_path /opt/conda/envs/openfold/bin/hhsearch \
--kalign_binary_path /opt/conda/envs/openfold/bin/kalign \
--config_preset "model_1_ptm" \
--openfold_checkpoint_path openfold/resources/openfold_params/finetuning_ptm_2.pt

运行日志,如下:

INFO:openfold/openfold/utils/script_utils.py:Loaded OpenFold parameters at openfold/resources/openfold_params/finetuning_ptm_2.pt...
INFO:openfold/run_pretrained_openfold.py:Generating alignments for A...
INFO:openfold/openfold/utils/script_utils.py:Running inference for A...
INFO:openfold/openfold/utils/script_utils.py:Inference time: 10.128928968682885
INFO:openfold/run_pretrained_openfold.py:Output written to mydata/output/predictions/A_model_1_ptm_unrelaxed.pdb...
INFO:openfold/run_pretrained_openfold.py:Running relaxation on mydata/output/predictions/A_model_1_ptm_unrelaxed.pdb...
INFO:openfold/openfold/utils/script_utils.py:Relaxation time: 11.812019010074437
INFO:openfold/openfold/utils/script_utils.py:Relaxed output written to mydata/output/predictions/A_model_1_ptm_relaxed.pdb...

替换高性能的 Jackhmmer,位置如下:

cp backup/hhsuite-speed-3.3.2/jackhmmer /opt/openfold/hhsuite-speed/jackhmmer

模型推理的输出,如下:

alignments/  		# MSA文件,与 AF2 相同
predictions/		# 预测结果
timings.json		# 时间
tmp_2711.fasta	# 缓存fasta

其中,在 timings.json中,缓存推理耗时,即:

{"inference": 12.08716268837452}

其中,在 alignments/A 文件夹中,包括 MSA 文件,序列数量如下:

mgnify_hits.a3m			# 56 行
pdb70_hits.hhr			# 159 行
uniref90_hits.a3m		# 58 行
bfd_uniref_hits.a3m

注意:与 AF2 不同的是,OpenFold 是 a3m 格式,而 AF2 是 sto 格式。

其中,在 predictions 文件夹中,默认只包括 1 个预测的结构,以及 Relax 的结构,如下:

A_model_1_ptm_relaxed.pdb
A_model_1_ptm_unrelaxed.pdb
timings.json

预测结果如下,其中黄色是 Reference 结构,深蓝色是 AF2 的单模型预测结果,浅蓝色是 OpenFold 的 finetuning_ptm_2.pt 模型预测结果

  • AF2:{'TMScore': 0.9036, 'RMSD(local)': 1.66, 'Align.Len.': 117, 'DockQ': 0.0}
  • OpenFold:{'TMScore': 0.8601, 'RMSD(local)': 1.7, 'Align.Len.': 115, 'DockQ': 0.0}

即:
PSP - 开源可训练的蛋白质结构预测框架 OpenFold 的环境配置,AI for Biotech,OpenFold,环境配置,蛋白质结构预测


2. 环境配置

构建 base docker 环境,基于 AF2 的 docker,即:

nvidia-docker run -it --name openfold-[your name] -v [nfs path]:[nfs path] af2:v1.02

2.1 配置 conda 与 pip 高速环境

在安装环境时,建议使用国内的 conda 与 pip 源,可以加速下载。

进入 docker 之后,首先修改 conda 与 pip 的环境配置。创建或修改 ~/.condarc,即:

vim ~/.condarc

# 添加如下信息

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
channel_priority: disabled
allow_conda_downgrades: true

在 docker 中,存在默认的 pip 环境,而且优先级较高,即删除 pip 配置,再修改 pip 配置,避免失效或冲突,即:

rm /opt/conda/pip.conf
rm /root/.config/pip/pip.conf

再修改配置 ~/.pip/pip.conf,建议使用 阿里云 的 pip 源,清华源缺少部分安装包,即:

vim ~/.pip/pip.conf

# 添加如下信息

# This file has been autogenerated or modified by NVIDIA PyIndex.
# In case you need to modify your PIP configuration, please be aware that
# some configuration files may have a priority order. Here are the following 
# files that may exists in your machine by order of priority:
#
# [Priority 1] Site level configuration files
#       1. `/opt/conda/pip.conf`
#
# [Priority 2] User level configuration files
#       1. `/root/.config/pip/pip.conf`
#       2. `/root/.pip/pip.conf`
#
# [Priority 3] Global level configuration files
#       1. `/etc/pip.conf`
#       2. `/etc/xdg/pip/pip.conf`

[global]
no-cache-dir = true
index-url = http://mirrors.aliyun.com/pypi/simple/
extra-index-url = https://pypi.ngc.nvidia.com
trusted-host = mirrors.aliyun.com pypi.ngc.nvidia.com

2.2 配置 Docker 环境

建议 不要 使用默认命令配置 docker 镜像,即 docker build -t openfold .,原因是下载速度较慢,而且有部分冲突,可以参考 Dockerfile 。

手动配置如下,配置 OpenFold 系统环境,即:

# 添加 apt 源
apt-key del 7fa2af80
apt-key del 3bf863cc
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub

# 安装源
apt-get update && apt-get install -y wget libxml2 cuda-minimal-build-11-3 libcusparse-dev-11-3 libcublas-dev-11-3 libcusolver-dev-11-3 git

注意:如果网速很慢,wget 需要耐心等待,建议重试几次。

配置 OpenFold 的 conda 环境 openfold,即:

# 复制环境文件
cd openfold

# 安装环境文件
conda env update -n openfold --file environment.yml && conda clean --all

如果中断,也可以重新更新,即:

# 更新安装环境文件
conda activate openfold
conda env update --file /opt/openfold/environment.yml --prune

注意:需要时间较长,请耐心等待,当安装 pip 包出现异常时,建议手动安装。

遇到安装失败,建议手动安装,日志清晰,推荐 安装方式,即:

# 创建环境
conda create -n openfold python=3.9

# 安装 conda 包
conda install -y -c conda-forge python=3.9 setuptools=59.5.0 pip openmm=7.5.1 pdbfixer cudatoolkit==11.3.*
conda install -y -c bioconda hmmer==3.3.2 hhsuite==3.3.0 kalign2==2.04
conda install -y -c pytorch pytorch=1.12.*

# 安装 pip 包
pip install 'dllogger @ git+https://github.com/NVIDIA/dllogger.git'
pip install biopython==1.79 deepspeed==0.5.10 dm-tree==0.1.6 ml-collections==0.1.0 numpy==1.21.2 PyYAML==5.4.1 requests==2.26.0 scipy==1.7.1 tqdm==4.62.2 typing-extensions==3.10.0.2 pytorch_lightning==1.5.10 wandb==0.12.21 modelcif==0.7

# 解决 bug
conda install -c anaconda numpy-base==1.22.3  # 解决 np.object bug,同时避免与 scipy 冲突。

注意: openmm 的 7.5.1 版本,位于 simtk 中,即 from simtk.openmm import app,在 sites-package 中,没有独立的文件夹。

其他关键安装包:

# jax
pip install --upgrade --no-cache-dir jax==0.3.25 jaxlib==0.3.25+cuda11.cudnn805 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

# modelcif 和 qc-procrustes
pip install modelcif==0.7 qc-procrustes

# 重新编译 openfold
pip uninstall openfold
python3 setup.py install

关于 DeepSpeed 的版本兼容问题,参考:

  • GitHub - Upgrade DeepSpeed version? - deepspeed.utils.is_initialized()
  • StackOverflow - TypeError: setup() got an unexpected keyword argument ‘stage’

deepspeed.utils.is_initialized() 的替换问题,与 setup() 的配置问题,修复文件 openfold/model/primitives.py

         deepspeed_is_initialized = (
                 deepspeed_is_installed and
-                deepspeed.utils.is_initialized()
+                # deepspeed.utils.is_initialized()
+                deepspeed.comm.comm.is_initialized()
         )

修复文件 openfold/data/data_modules.py,即可解决 DeepSpeed 版本兼容问题:

-    def setup(self):
+    def setup(self, stage=None):
         # Most of the arguments are the same for the three datasets 
         dataset_gen = partial(OpenFoldSingleMultimerDataset,
             template_mmcif_dir=self.template_mmcif_dir,

2.3 修复文件与编译工程

下载资源 stereo_chemical_props.txt 与修复文件 simtk.openmm,即:

cd openfold 
# 注意位于 openfold/openfold/resources 中
# wget -q -P openfold/resources https://git.scicore.unibas.ch/schwede/openstructure/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt
cd openfold/resources
wget https://git.scicore.unibas.ch/schwede/openstructure/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt --no-check-certificate

# 注意 simtk.openmm 的安装位置需要选择
# conda show openmm
# import simtk
# print(simtk.__file__)
# /opt/conda/envs/openfold/lib/python3.9/site-packages/
patch -p0 -d /opt/conda/envs/openfold/lib/python3.9/site-packages/ < lib/openmm.patch

# 输出日志
patching file simtk/openmm/app/topology.py
Hunk #1 succeeded at 353 (offset -3 lines).

注意:openmm 的 7.5.1 版本需要修复一些 bug,高版本不需要,参考 关于 AlphaFold2 的 openmm.patch 补丁

编译工程,即 conda 环境中包括 openfold 的包,即

cd openfold
python3 setup.py install

2.4 相关文件

配置 conda 环境需要参考 environment.yml 文件,即:

name: openfold_venv
channels:
  - conda-forge
  - bioconda
  - pytorch
dependencies:
  - conda-forge::python=3.9
  - conda-forge::setuptools=59.5.0
  - conda-forge::pip
  - conda-forge::openmm=7.5.1
  - conda-forge::pdbfixer
  - conda-forge::cudatoolkit==11.3.*
  - bioconda::hmmer==3.3.2
  - bioconda::hhsuite==3.3.0
  - bioconda::kalign2==2.04
  - pytorch::pytorch=1.12.*
  - pip:
      - biopython==1.79
      - deepspeed==0.5.10
      - dm-tree==0.1.6
      - ml-collections==0.1.0
      - numpy==1.21.2
      - PyYAML==5.4.1
      - requests==2.26.0
      - scipy==1.7.1
      - tqdm==4.62.2
      - typing-extensions==3.10.0.2
      - pytorch_lightning==1.5.10
      - wandb==0.12.21
      - modelcif==0.7
      - git+https://github.com/NVIDIA/dllogger.git

配置环境需要参考 Dockerfile 文件,即:

FROM nvidia/cuda:11.3.1-cudnn8-runtime-ubuntu18.04

# metainformation
LABEL org.opencontainers.image.version = "1.0.0"
LABEL org.opencontainers.image.authors = "Gustaf Ahdritz"
LABEL org.opencontainers.image.source = "https://github.com/aqlaboratory/openfold"
LABEL org.opencontainers.image.licenses = "Apache License 2.0"
LABEL org.opencontainers.image.base.name="docker.io/nvidia/cuda:10.2-cudnn8-runtime-ubuntu18.04"

RUN apt-key del 7fa2af80
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub

RUN apt-get update && apt-get install -y wget libxml2 cuda-minimal-build-11-3 libcusparse-dev-11-3 libcublas-dev-11-3 libcusolver-dev-11-3 git
RUN wget -P /tmp \
    "https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh" \
    && bash /tmp/Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda \
    && rm /tmp/Miniconda3-latest-Linux-x86_64.sh
ENV PATH /opt/conda/bin:$PATH

COPY environment.yml /opt/openfold/environment.yml

# installing into the base environment since the docker container wont do anything other than run openfold
RUN conda env update -n base --file /opt/openfold/environment.yml && conda clean --all

COPY openfold /opt/openfold/openfold
COPY scripts /opt/openfold/scripts
COPY run_pretrained_openfold.py /opt/openfold/run_pretrained_openfold.py
COPY train_openfold.py /opt/openfold/train_openfold.py
COPY setup.py /opt/openfold/setup.py
COPY lib/openmm.patch /opt/openfold/lib/openmm.patch
RUN wget -q -P /opt/openfold/openfold/resources \
    https://git.scicore.unibas.ch/schwede/openstructure/-/raw/7102c63615b64735c4941278d92b554ec94415f8/modules/mol/alg/src/stereo_chemical_props.txt
RUN patch -p0 -d /opt/conda/lib/python3.9/site-packages/ < /opt/openfold/lib/openmm.patch
WORKDIR /opt/openfold
RUN python3 setup.py install

2.5 提交 Docker Image

登录 docker 服务器,即:

docker login harbor.[ip address].com

注意:如果无法登录,则需要管理员配置,或切换可登录的服务器。

设置 BOS 命令:

alias bos='bcecmd/bcecmd --conf-path bcecmd/bceconf/ bos'

提交 docker image,设置标签 (tag),以及上传 docker,即:

# 提交 Tag
docker ps -l
docker commit [container id] openfold:v1.0

# 准备远程 Tag
docker tag openfold:v1.0 openfold:v1.0
docker images | grep "openfold"

# 推送至远程
docker push openfold:v1.0
# 从远程拉取
docker pull openfold:v1.0

# 或者保存至本地
docker save openfold:v1.0 | gzip > openfold_v1_0.tar.gz
# 加载已保存的 docker image
docker image load -i openfold_v1_01.tar.gz
docker images | grep "openfold"

进入 Harbor 页面查看,发现已上传的 docker image,以及不同版本,即:

PSP - 开源可训练的蛋白质结构预测框架 OpenFold 的环境配置,AI for Biotech,OpenFold,环境配置,蛋白质结构预测


3. Bugfix

3.1 Numpy 版本不兼容

Bug 日志:

openfold/openfold/data/templates.py:88: FutureWarning: In the future `np.object` will be defined as the corresponding NumPy scalar.
  "template_domain_names": np.object,
Traceback (most recent call last):
  File "openfold/run_pretrained_openfold.py", line 47, in <module>
    from openfold.data import templates, feature_pipeline, data_pipeline
  File "openfold/openfold/data/templates.py", line 88, in <module>
    "template_domain_names": np.object,
  File "/opt/conda/envs/openfold/lib/python3.9/site-packages/numpy/__init__.py", line 319, in __getattr__
    raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'object'.
`np.object` was a deprecated alias for the builtin `object`. To avoid this error in existing code, use `object` by itself. Doing this will not modify any behavior and is safe. 
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

即 Numpy 版本过高,没有 np.object 属性,建议降低至 1.23.4 版本,即:

conda list numpy

# 当前 numpy-base 的版本是 1.25.2
# conda list numpy
# packages in environment at /opt/conda/envs/openfold:
#
# Name                    Version                   Build  Channel
numpy                     1.21.2                   pypi_0    pypi
numpy-base                1.25.2           py39hb5e798b_0    defaults

# 降低版本至 1.23.4
conda install -c anaconda numpy-base==1.22.3  # 解决 np.object bug,同时避免与 scipy 冲突。

也可以,修改源码文件 openfold/data/templates.pyopenfold/data/data_pipeline.py,将 np.object 替换为 object,注意,全局搜索,需要修改 2 处,即:

TEMPLATE_FEATURES = {
    "template_aatype": np.int64,
    "template_all_atom_mask": np.float32,
    "template_all_atom_positions": np.float32,
    "template_domain_names": np.object,  # 需要修改
    "template_sequence": np.object,  # 需要修改
    "template_sum_probs": np.float32,
}

Bug 参考:

  • StackOverflow - module ‘numpy’ has no attribute ‘object’ closed
  • 关于 scipy 与 numpy 的兼容性,参考: Toolchain Roadmap

完整的 conda 环境 yaml 文件如下:

name: openfold
channels:
  - theochem
  - pytorch
  - anaconda
  - bioconda
  - defaults
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_kmp_llvm
  - alabaster=0.7.13=pyhd8ed1ab_0
  - babel=2.12.1=pyhd8ed1ab_1
  - blas=1.0=mkl
  - brotli-python=1.0.9=py39h5a03fae_9
  - bzip2=1.0.8=h7f98852_4
  - ca-certificates=2023.7.22=hbcca054_0
  - certifi=2023.7.22=py39h06a4308_0
  - colorama=0.4.6=py39h06a4308_0
  - cudatoolkit=11.3.1=hb98b00a_12
  - docutils=0.20.1=py39hf3d152e_0
  - exceptiongroup=1.1.3=pyhd8ed1ab_0
  - fftw=3.3.10=nompi_hc118613_108
  - hhsuite=3.3.0=py39pl5321he10ea66_9
  - hmmer=3.3.2=hdbdd923_4
  - icu=72.1=hcb278e6_0
  - idna=3.4=pyhd8ed1ab_0
  - imagesize=1.4.1=py39h06a4308_0
  - importlib-metadata=6.8.0=pyha770c72_0
  - iniconfig=2.0.0=pyhd8ed1ab_0
  - intel-openmp=2021.4.0=h06a4308_3561
  - jax=0.3.25=py39h06a4308_0
  - jaxlib=0.3.25=py39h6a678d5_1
  - jinja2=3.1.2=py39h06a4308_0
  - kalign2=2.04=h031d066_5
  - ld_impl_linux-64=2.40=h41732ed_0
  - libblas=3.9.0=12_linux64_mkl
  - libcblas=3.9.0=12_linux64_mkl
  - libffi=3.4.4=h6a678d5_0
  - libgcc-ng=13.1.0=he5830b7_0
  - libgfortran-ng=13.1.0=h69a702a_0
  - libgfortran5=13.1.0=h15d22d2_0
  - libhwloc=2.9.2=nocuda_h7313eea_1008
  - libiconv=1.17=h166bdaf_0
  - liblapack=3.9.0=12_linux64_mkl
  - libnsl=2.0.0=h7f98852_0
  - libsqlite=3.42.0=h2797004_0
  - libstdcxx-ng=13.1.0=hfd8a6a1_0
  - libuuid=2.38.1=h0b41bf4_0
  - libxml2=2.11.5=h0d562d8_0
  - libzlib=1.2.13=hd590300_5
  - llvm-openmp=16.0.6=h4dfa4b3_0
  - lz4-c=1.9.4=hcb278e6_0
  - markupsafe=2.1.3=py39hd1e30aa_0
  - mkl=2021.4.0=h06a4308_640
  - mkl-service=2.4.0=py39h7f8727e_0
  - mkl_fft=1.3.1=py39hd3c417c_0
  - mkl_random=1.2.2=py39h51133e4_0
  - ncurses=6.4=hcb278e6_0
  - numpy-base=1.22.3=py39hf524024_0
  - ocl-icd=2.3.1=h7f98852_0
  - ocl-icd-system=1.0.0=1
  - openmm=7.5.1=py39h71eca04_1
  - openssl=3.1.2=hd590300_0
  - opt_einsum=3.3.0=pyhd8ed1ab_1
  - packaging=23.1=pyhd8ed1ab_0
  - pdbfixer=1.7=pyhd3deb0d_0
  - perl=5.32.1=4_hd590300_perl5
  - pip=23.2.1=pyhd8ed1ab_0
  - platformdirs=3.10.0=pyhd8ed1ab_0
  - pluggy=1.2.0=pyhd8ed1ab_0
  - pooch=1.7.0=pyha770c72_3
  - pygments=2.16.1=pyhd8ed1ab_0
  - pysocks=1.7.1=pyha2e5f31_6
  - pytest=7.4.0=py39h06a4308_0
  - python=3.9.17=h0755675_0_cpython
  - python_abi=3.9=3_cp39
  - pytorch=1.12.1=py3.9_cuda11.3_cudnn8.3.2_0
  - pytorch-mutex=1.0=cuda
  - pytz=2023.3=pyhd8ed1ab_0
  - qc-procrustes=1.0.0=py_0
  - readline=8.2=h8228510_1
  - rocm-smi=5.6.0=h59595ed_1
  - setuptools=59.5.0=py39hf3d152e_0
  - six=1.16.0=pyhd3eb1b0_1
  - snowballstemmer=2.2.0=pyhd3eb1b0_0
  - sphinx=7.2.2=pyhd8ed1ab_0
  - sphinxcontrib-applehelp=1.0.7=pyhd8ed1ab_0
  - sphinxcontrib-devhelp=1.0.5=pyhd8ed1ab_0
  - sphinxcontrib-htmlhelp=2.0.4=pyhd8ed1ab_0
  - sphinxcontrib-jsmath=1.0.1=pyhd3eb1b0_0
  - sphinxcontrib-qthelp=1.0.6=pyhd8ed1ab_0
  - sphinxcontrib-serializinghtml=1.1.8=pyhd8ed1ab_0
  - tbb=2021.10.0=h00ab1b0_0
  - tk=8.6.12=h27826a3_0
  - tomli=2.0.1=py39h06a4308_0
  - typing_extensions=4.7.1=pyha770c72_0
  - wheel=0.41.1=pyhd8ed1ab_0
  - xz=5.4.2=h5eee18b_0
  - zipp=3.16.2=pyhd8ed1ab_0
  - zlib=1.2.13=hd590300_5
  - zstd=1.5.5=hc292b87_0
  - pip:
      - absl-py==1.4.0
      - aiohttp==3.8.5
      - aiosignal==1.3.1
      - async-timeout==4.0.3
      - attrs==23.1.0
      - biopython==1.79
      - bypy==1.8.2
      - cachetools==5.3.1
      - charset-normalizer==2.0.12
      - click==8.1.6
      - contextlib2==21.6.0
      - deepspeed==0.5.10
      - dill==0.3.7
      - dllogger==1.0.0
      - dm-tree==0.1.6
      - docker-pycreds==0.4.0
      - frozenlist==1.4.0
      - fsspec==2023.6.0
      - future==0.18.3
      - gitdb==4.0.10
      - gitpython==3.1.32
      - google-auth==2.22.0
      - google-auth-oauthlib==1.0.0
      - grpcio==1.57.0
      - hjson==3.1.0
      - ihm==0.39
      - lightning-utilities==0.9.0
      - markdown==3.4.4
      - ml-collections==0.1.0
      - modelcif==0.7
      - msgpack==1.0.5
      - multidict==6.0.4
      - multiprocess==0.70.15
      - ninja==1.11.1
      - numpy==1.21.2
      - oauthlib==3.2.2
      - openfold==1.0.1
      - pandas==2.0.3
      - pathtools==0.1.2
      - promise==2.3
      - protobuf==3.20.3
      - psutil==5.9.5
      - py-cpuinfo==9.0.0
      - pyasn1==0.5.0
      - pyasn1-modules==0.3.0
      - pydeprecate==0.3.1
      - python-dateutil==2.8.2
      - pytorch-lightning==1.5.10
      - pyyaml==5.4.1
      - requests==2.26.0
      - requests-oauthlib==1.3.1
      - requests-toolbelt==1.0.0
      - rsa==4.9
      - scipy==1.7.1
      - sentry-sdk==1.29.2
      - setproctitle==1.3.2
      - shortuuid==1.0.11
      - smmap==5.0.0
      - tensorboard==2.14.0
      - tensorboard-data-server==0.7.1
      - torchmetrics==1.0.3
      - tqdm==4.62.2
      - triton==1.0.0
      - typing-extensions==3.10.0.2
      - tzdata==2023.3
      - urllib3==1.26.16
      - wandb==0.12.21
      - werkzeug==2.3.7
      - yarl==1.9.2
prefix: /opt/conda/envs/openfold

参考

参考:文章来源地址https://www.toymoban.com/news/detail-655641.html

  • ENV 设置环境变量
  • StackOverflow - How to update an existing Conda environment with a .yml file
  • CSDN - 配置 AlphaFold2 的高效 Tensorflow 运行环境
  • CSDN - 蛋白质结构预测 ESMFold 算法的工程配置

到了这里,关于PSP - 开源可训练的蛋白质结构预测框架 OpenFold 的环境配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ESM2蛋白预训练模型 蛋白质、氨基酸向量表示

    参考: https://github.com/facebookresearch/esm https://huggingface.co/facebook/esm2_t33_650M_UR50D https://esmatlas.com/resources?action=fold 直接输入Fasta 氨基酸序列格式就行;第一次下载esm2_t33_650M_UR50D模型有点慢,有2个多G大

    2024年02月15日
    浏览(127)
  • 蛋白质功能预测中PSSM矩阵的生成

    蛋白质功能预测   近年来高通量实验方法快速发展,随之产生大量新型蛋白质,发现的蛋白质数量与其功能注释之间的差距越来越大,蛋白质功能预测成为分子生物学研究领域的核心问题。传统的蛋白质功能预测方法耗时且昂贵,依靠单一数据源的特征信息表达不全面,因

    2024年02月02日
    浏览(33)
  • Top 15 开源3D分子蛋白质建模与渲染软件

    如今,WebGL 是一种趋势技术,因为它允许开发人员使用现代浏览器作为客户端来创建复杂的 3D 交互式图形、游戏,而无需安装额外的插件、扩展或软件。 WebGL允许浏览器直接与GPU(图形处理单元)一起工作。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 有多种 JavaScript 框架旨

    2024年02月09日
    浏览(45)
  • Nat. Mach. Intell 2020 | drugVQA+:准VAQ系统预测药物-蛋白质相互作用

    论文标题: Predicting drug–protein interaction using quasi-visual question answering system 论文地址: Predicting drug–protein interaction using quasi-visual question answering system | Nature Machine Intelligence 代码:GitHub - prokia/drugVQA: Predicting Drug Protein Interaction using Quasi-Visual Question Answering System 一、问题 目前

    2024年02月11日
    浏览(49)
  • 利用深度蛋白质序列嵌入方法通过 Siamese neural network 对 virus-host PPIs 进行精准预测【Patterns,2022】

    病毒感染可以导致多种组织特异性损伤,所以 virus-host PPIs 的预测有助于新的治疗方法的研究; 目前已有的一些 virus-host PPIs 鉴定或预测方法效果有限(传统实验方法费时费力、计算方法要么基于蛋白结构或基因,要么基于手动特征工程的机器学习); DL在PPIs预测中的应用愈

    2024年02月11日
    浏览(50)
  • 学术速运|通过剂量和时间分辨的蛋白质组学来解密药物作用和蛋白质修饰

    ​题目:Decrypting drug actions and protein modifications bydose- and time-resolved proteomics 文献来源:10.1126/science.ade3925 (2023) (Science) 代码:无 简介:虽然大多数癌症药物通过改变翻译后修饰(PTMs)来调节细胞通路的活性,但令人惊讶的是,关于药物调节的PTMs的程度和时间和剂量反应特征,我

    2023年04月17日
    浏览(46)
  • 蛋白质深度学习

    本文主要面向两类目标读者: 一类是想使用机器学习的生物学家,一类是想进入生物学领域的机器学习研究者。如果你不熟悉生物学或机器学习,仍然欢迎你阅读本文,但有时你可能会觉得有点读不太懂!如果你已经熟悉这两者,那么你可能根本不需要本文 —— 你可以直接跳

    2024年02月03日
    浏览(43)
  • ESM蛋白质语言模型系列

    第一篇《Biological structure and function emerge from scaling unsupervised learning to 250 million protein sequences 》ESM-1b 第二篇《MSA Transformer》在ESM-1b的基础上作出改进,将模型的输入从单一蛋白质序列改为MSA矩阵,并在Transformer中加入行、列两种轴向注意力机制,对位点分别计算第个序列和第个

    2024年02月07日
    浏览(59)
  • 【NM 2019】综述:基于机器学习引导的定向进化蛋白质工程

    Machine-learning-guided directed evolution for protein engineering | Nature Methods Machine-learning-guided directed evolution for protein engineering 机器学习引导的定向进化蛋白质工程  图1 | 带和不带机器学习的定向进化。 a)定向进化利用迭代循环的多样性生成和筛选来找到改进的变体。未改进的变体的信

    2024年02月11日
    浏览(41)
  • 27《Protein Actions Principles and Modeling》-《蛋白质作用原理和建模》中文分享

    ​《Protein Actions Principles and Modeling》-《蛋白质作用原理和建模》 本人能力有限,如果错误欢迎批评指正。 第六章:The principles of protein folding kinetics (蛋白质折叠动力学的原理) 整个二级结构通常作为一个单元进行折叠 蛋白质倾向于以基序或二级结构的单位折叠,而不是以

    2023年04月24日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包