From 82f56dfe5044d7afd31dfd69bda3bdba1c84f70e Mon Sep 17 00:00:00 2001 From: Gabriel Studer <gabriel.studer@unibas.ch> Date: Tue, 21 Feb 2023 14:06:21 +0100 Subject: [PATCH] lDDT: remove any requirements on residue numbers That was 1) strictly increasing (no idea why it was there in a first place) 2) no ins codes (The residue mapper is a dict which now has actual residue numbers as key - can handle insertion codes) --- modules/mol/alg/pymod/lddt.py | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/modules/mol/alg/pymod/lddt.py b/modules/mol/alg/pymod/lddt.py index cb5d90ccf..92f41ec4c 100644 --- a/modules/mol/alg/pymod/lddt.py +++ b/modules/mol/alg/pymod/lddt.py @@ -738,12 +738,6 @@ class lDDTScorer: rnums.append(None) else: rnums = [r.GetNumber() for r in ch.residues] - if sum([len(rn.GetInsCode().strip("\0")) for rn in rnums]) > 0: - raise RuntimeError( - "Residue numbers in model must not " - "contain insertion codes" - ) - rnums = [rn.GetNum() for rn in rnums] return rnums @@ -828,20 +822,9 @@ class lDDTScorer: f"chain {ch_name} has SEQRES " f"ATOMSEQ mismatch" ) - rnums.append(rnum) + rnums.append(mol.ResNum(rnum)) else: rnums = [r.GetNumber() for r in ch.residues] - if sum([len(rn.GetInsCode().strip("\0")) for rn in rnums]) > 0: - raise RuntimeError( - "Residue numbers in target must not " - "contain insertion codes" - ) - rnums = [rnum.GetNum() for rnum in rnums] - if not all(x < y for x, y in zip(rnums, rnums[1:])): - raise RuntimeError( - "Residue numbers in each target chain " - "must be monotonically increasing" - ) assert len(rnums) == len(ch.residues) residue_numbers[ch_name] = rnums return residue_numbers -- GitLab