如何在OpenFold中使用自定义*.ckpt模型预测及解决坐标异常问题
OpenFold自定义CKPT预测问题:格式转换与手动优化导致结构异常
背景
- 基于OpenFold(https://github.com/aqlaboratory/openfold)训练模型,生成PyTorch Lightning格式的
*.ckptcheckpoint文件 - 计划通过
run_pretrained_openfold.py使用该自定义CKPT进行预测,疑问:是否需要先转换CKPT格式?
测试过程与问题
原始预测命令
python3 run_pretrained_openfold.py \ fasta_dir \ data/pdb_mmcif/mmcif_files/ \ --uniref90_database_path data/uniref90/uniref90.fasta \ --mgnify_database_path data/mgnify/mgy_clusters_2018_12.fa \ --pdb70_database_path data/pdb70/pdb70 \ --uniclust30_database_path data/uniclust30/uniclust30_2018_08/uniclust30_2018_08 \ --output_dir ./ \ --bfd_database_path data/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt \ --model_device "cuda:0" \ --jackhmmer_binary_path lib/conda/envs/openfold_venv/bin/jackhmmer \ --hhblits_binary_path lib/conda/envs/openfold_venv/bin/hhblits \ --hhsearch_binary_path lib/conda/envs/openfold_venv/bin/hhsearch \ --kalign_binary_path lib/conda/envs/openfold_venv/bin/kalign \ --config_preset "model_1_ptm" \ --openfold_checkpoint_path openfold/resources/openfold_params/finetuning_ptm_2.pt
指定自定义CKPT后的加载错误
将--openfold_checkpoint_path替换为自定义路径/checkpoints/14my.ckpt时,出现以下错误:
RuntimeError: Error(s) in loading state_dict for AlphaFold: Missing key(s) in state_dict: "aux_heads.tm.linear.weight", "aux_heads.tm.linear.bias".
修改配置后的结构异常问题
将--config_preset从"model_1_ptm"改为"model_1"后,加载错误解决,但生成的PDB文件出现氨基酸坐标异常:
- 手动优化模式:肽链结构混乱,无正常折叠形态
- 标准Adam自动优化模式:肽链折叠形态正常
疑问:该结构异常是否由PyTorch Lightning手动优化模式导致?
内容的提问来源于stack exchange,提问作者Mike Kyne
相关产品推荐
相关产品推荐

