本文主要是介绍PSP - DockQ Zero number of equivalent atoms in native and model ligand (BugFix),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://blog.csdn.net/caroline_wendy/article/details/129277522
ESMFold输出的PDB文件,不支持DockQ。
DockQ Bug:
AssertionError: Zero number of equivalent atoms in native and model ligand (chain B) 0 0.
Check that the residue numbers in model and native is consistent
AssertionError:native和model配体(链 B)中,等效原子数量为零 0 0。检查model和native中的残基数是否一致。
Bug定位:B链没有从1开始。
参考:pdb2sql: Processing PDB data with SQL
修复resSeq(残基序列),将每个链的残基序列,默认从1开始。
def fix_pdb_ter(pdb_path, out_path):"""去除TER中的冗余信息,用于解决ESMFold输出文件不支持DockQ的情况:param pdb_path: 输入PDB:param out_path: 输出PDB:return: 返回结果"""if not os.path.exists(pdb_path):raise Exception(f"{pdb_path} isn't found!")pdb_lines = read_file(pdb_path)out_lines = []for pdb_line in pdb_lines:if not pdb_line.startswith("ATOM"):out_lines.append(pdb_line)continueif pdb_line.startswith("TER"):out_lines.append("TER")continueout_lines.append(pdb_line)write_list_to_file(out_path, out_lines)print(f"[Info] fix number over! {out_path}")
输出结果:
[Info] {'TMScore': 0.795, 'RSMD(local)': 2.47, 'Align.Len.': 160}
[Info] {'DockQ': '0.218', 'Fnat': '0.448', 'iRMS': '9.794', 'LRMS': '17.899', 'Fnonnat': '0.466'}
这篇关于PSP - DockQ Zero number of equivalent atoms in native and model ligand (BugFix)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!