From 580c818e0e178d4d95e3c894b6c437f9f08d909f Mon Sep 17 00:00:00 2001 From: Gabriel Studer <gabriel.studer@unibas.ch> Date: Tue, 6 Aug 2024 07:04:31 +0200 Subject: [PATCH] dockq: make results more similar to DockQ v2.2.1 lrmsd defines the longer chain as receptor and uses it for superposition. If both chains have the same length, the selection becomes random. This commit implements the same random selection as DockQ v2.2.1. This is no conceptual change of the score itself! It just makes the two implementations more similar. --- modules/mol/alg/pymod/dockq.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mol/alg/pymod/dockq.py b/modules/mol/alg/pymod/dockq.py index e8ec3f7a5..7be3ca5d2 100644 --- a/modules/mol/alg/pymod/dockq.py +++ b/modules/mol/alg/pymod/dockq.py @@ -215,7 +215,7 @@ def _RMSDScores(mdl, ref, mdl_ch1, mdl_ch2, ref_ch1, ref_ch2, dist_thresh=10.0, # receptor is by definition the larger chain in ref n_ch1 = len(ref.FindChain(ref_ch1).residues) n_ch2 = len(ref.FindChain(ref_ch2).residues) - if n_ch1 > n_ch2: + if n_ch1 >= n_ch2: ref_receptor_residues = ref_ch1_residues.values() ref_ligand_residues = ref_ch2_residues.values() mdl_receptor_residues = \ -- GitLab