From c6c08402de563bdc68a14ed3a0b9b63a30040c55 Mon Sep 17 00:00:00 2001 From: yokochi47 Date: Tue, 20 Feb 2024 18:30:04 +0900 Subject: [PATCH] Reconciled fix for 2lrr and 2mff --- wwpdb/utils/nmr/mr/BiosymMRParserListener.py | 6 ++-- wwpdb/utils/nmr/mr/CyanaMRParserListener.py | 36 ++++++++++---------- wwpdb/utils/nmr/mr/CyanaMRReader.py | 1 + wwpdb/utils/nmr/mr/DynamoMRParserListener.py | 6 ++-- wwpdb/utils/nmr/mr/IsdMRParserListener.py | 6 ++-- wwpdb/utils/nmr/mr/SybylMRParserListener.py | 6 ++-- 6 files changed, 31 insertions(+), 30 deletions(-) diff --git a/wwpdb/utils/nmr/mr/BiosymMRParserListener.py b/wwpdb/utils/nmr/mr/BiosymMRParserListener.py index 942416b4a..8670c9355 100644 --- a/wwpdb/utils/nmr/mr/BiosymMRParserListener.py +++ b/wwpdb/utils/nmr/mr/BiosymMRParserListener.py @@ -1035,9 +1035,9 @@ def assignCoordPolymerSequence(self, refChainId, seqId, compId, atomId): compId = translateToStdResName(_compId, ccU=self.__ccU) if self.__reasons is not None: - if 'non_poly_remap' in self.__reasons and compId in self.__reasons['non_poly_remap']\ - and seqId in self.__reasons['non_poly_remap'][compId]: - fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], str(refChainId), seqId, compId) + if 'non_poly_remap' in self.__reasons and _compId in self.__reasons['non_poly_remap']\ + and seqId in self.__reasons['non_poly_remap'][_compId]: + fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], str(refChainId), seqId, _compId) refChainId = fixedChainId preferNonPoly = True if 'branched_remap' in self.__reasons and seqId in self.__reasons['branched_remap']: diff --git a/wwpdb/utils/nmr/mr/CyanaMRParserListener.py b/wwpdb/utils/nmr/mr/CyanaMRParserListener.py index 1449d033a..ac012c142 100644 --- a/wwpdb/utils/nmr/mr/CyanaMRParserListener.py +++ b/wwpdb/utils/nmr/mr/CyanaMRParserListener.py @@ -2100,15 +2100,15 @@ def assignCoordPolymerSequence(self, seqId, compId, atomId): compId = translateToStdResName(_compId, ccU=self.__ccU) if self.__reasons is not None: - if 'ambig_atom_id_remap' in self.__reasons and compId in self.__reasons['ambig_atom_id_remap']\ - and atomId in self.__reasons['ambig_atom_id_remap'][compId]: - return self.atomIdListToChainAssign(self.__reasons['ambig_atom_id_remap'][compId][atomId]) - if 'unambig_atom_id_remap' in self.__reasons and compId in self.__reasons['unambig_atom_id_remap']\ - and atomId in self.__reasons['unambig_atom_id_remap'][compId]: - atomId = self.__reasons['unambig_atom_id_remap'][compId][atomId][0] # select representative one - if 'non_poly_remap' in self.__reasons and compId in self.__reasons['non_poly_remap']\ - and seqId in self.__reasons['non_poly_remap'][compId]: - fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], None, seqId, compId) + if 'ambig_atom_id_remap' in self.__reasons and _compId in self.__reasons['ambig_atom_id_remap']\ + and atomId in self.__reasons['ambig_atom_id_remap'][_compId]: + return self.atomIdListToChainAssign(self.__reasons['ambig_atom_id_remap'][_compId][atomId]) + if 'unambig_atom_id_remap' in self.__reasons and _compId in self.__reasons['unambig_atom_id_remap']\ + and atomId in self.__reasons['unambig_atom_id_remap'][_compId]: + atomId = self.__reasons['unambig_atom_id_remap'][_compId][atomId][0] # select representative one + if 'non_poly_remap' in self.__reasons and _compId in self.__reasons['non_poly_remap']\ + and seqId in self.__reasons['non_poly_remap'][_compId]: + fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], None, seqId, _compId) preferNonPoly = True if 'branched_remap' in self.__reasons and seqId in self.__reasons['branched_remap']: fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['branched_remap'], seqId) @@ -2412,15 +2412,15 @@ def assignCoordPolymerSequenceWithChainId(self, refChainId, seqId, compId, atomI compId = translateToStdResName(_compId, ccU=self.__ccU) if self.__reasons is not None: - if 'ambig_atom_id_remap' in self.__reasons and compId in self.__reasons['ambig_atom_id_remap']\ - and atomId in self.__reasons['ambig_atom_id_remap'][compId]: - return self.atomIdListToChainAssign(self.__reasons['ambig_atom_id_remap'][compId][atomId]) - if 'unambig_atom_id_remap' in self.__reasons and compId in self.__reasons['unambig_atom_id_remap']\ - and atomId in self.__reasons['unambig_atom_id_remap'][compId]: - atomId = self.__reasons['unambig_atom_id_remap'][compId][atomId][0] # select representative one - if 'non_poly_remap' in self.__reasons and compId in self.__reasons['non_poly_remap']\ - and seqId in self.__reasons['non_poly_remap'][compId]: - fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], str(refChainId), seqId, compId) + if 'ambig_atom_id_remap' in self.__reasons and _compId in self.__reasons['ambig_atom_id_remap']\ + and atomId in self.__reasons['ambig_atom_id_remap'][_compId]: + return self.atomIdListToChainAssign(self.__reasons['ambig_atom_id_remap'][_compId][atomId]) + if 'unambig_atom_id_remap' in self.__reasons and _compId in self.__reasons['unambig_atom_id_remap']\ + and atomId in self.__reasons['unambig_atom_id_remap'][_compId]: + atomId = self.__reasons['unambig_atom_id_remap'][_compId][atomId][0] # select representative one + if 'non_poly_remap' in self.__reasons and _compId in self.__reasons['non_poly_remap']\ + and seqId in self.__reasons['non_poly_remap'][_compId]: + fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], str(refChainId), seqId, _compId) refChainId = fixedChainId preferNonPoly = True if 'branched_remap' in self.__reasons and seqId in self.__reasons['branched_remap']: diff --git a/wwpdb/utils/nmr/mr/CyanaMRReader.py b/wwpdb/utils/nmr/mr/CyanaMRReader.py index beba336f8..21a2fe0e0 100644 --- a/wwpdb/utils/nmr/mr/CyanaMRReader.py +++ b/wwpdb/utils/nmr/mr/CyanaMRReader.py @@ -278,6 +278,7 @@ def parse(self, mrFilePath, cifFilePath=None, isFilePath=True, reader.setDebugMode(True) reader.parse('../../tests-nmr/mock-data-remediation/2lrr/2lrr-trimmed.mr', '../../tests-nmr/mock-data-remediation/2lrr/2lrr.cif') + reader = CyanaMRReader(True) reader.setDebugMode(True) reader.parse('../../tests-nmr/mock-data-remediation/2kym/2kym-corrected.mr', diff --git a/wwpdb/utils/nmr/mr/DynamoMRParserListener.py b/wwpdb/utils/nmr/mr/DynamoMRParserListener.py index fe6613f6b..ba75c6685 100644 --- a/wwpdb/utils/nmr/mr/DynamoMRParserListener.py +++ b/wwpdb/utils/nmr/mr/DynamoMRParserListener.py @@ -1351,9 +1351,9 @@ def assignCoordPolymerSequence(self, refChainId, seqId, compId, atomId, index=No compId = translateToStdResName(_compId, ccU=self.__ccU) if self.__reasons is not None: - if 'non_poly_remap' in self.__reasons and compId in self.__reasons['non_poly_remap']\ - and seqId in self.__reasons['non_poly_remap'][compId]: - fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], refChainId, seqId, compId) + if 'non_poly_remap' in self.__reasons and _compId in self.__reasons['non_poly_remap']\ + and seqId in self.__reasons['non_poly_remap'][_compId]: + fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], refChainId, seqId, _compId) refChainId = fixedChainId preferNonPoly = True if 'branched_remap' in self.__reasons and seqId in self.__reasons['branched_remap']: diff --git a/wwpdb/utils/nmr/mr/IsdMRParserListener.py b/wwpdb/utils/nmr/mr/IsdMRParserListener.py index 2506a1a6a..029a4f1a2 100644 --- a/wwpdb/utils/nmr/mr/IsdMRParserListener.py +++ b/wwpdb/utils/nmr/mr/IsdMRParserListener.py @@ -858,9 +858,9 @@ def assignCoordPolymerSequence(self, seqId, compId, atomId): compId = translateToStdResName(_compId, ccU=self.__ccU) if self.__reasons is not None: - if 'non_poly_remap' in self.__reasons and compId in self.__reasons['non_poly_remap']\ - and seqId in self.__reasons['non_poly_remap'][compId]: - fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], None, seqId, compId) + if 'non_poly_remap' in self.__reasons and _compId in self.__reasons['non_poly_remap']\ + and seqId in self.__reasons['non_poly_remap'][_compId]: + fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], None, seqId, _compId) preferNonPoly = True if 'branched_remap' in self.__reasons and seqId in self.__reasons['branched_remap']: fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['branched_remap'], seqId) diff --git a/wwpdb/utils/nmr/mr/SybylMRParserListener.py b/wwpdb/utils/nmr/mr/SybylMRParserListener.py index 6fbd16ced..0225b7d70 100644 --- a/wwpdb/utils/nmr/mr/SybylMRParserListener.py +++ b/wwpdb/utils/nmr/mr/SybylMRParserListener.py @@ -864,9 +864,9 @@ def assignCoordPolymerSequence(self, seqId, compId, atomId): compId = translateToStdResName(_compId, ccU=self.__ccU) if self.__reasons is not None: - if 'non_poly_remap' in self.__reasons and compId in self.__reasons['non_poly_remap']\ - and seqId in self.__reasons['non_poly_remap'][compId]: - fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], None, seqId, compId) + if 'non_poly_remap' in self.__reasons and _compId in self.__reasons['non_poly_remap']\ + and seqId in self.__reasons['non_poly_remap'][_compId]: + fixedChainId, fixedSeqId = retrieveRemappedNonPoly(self.__reasons['non_poly_remap'], None, seqId, _compId) preferNonPoly = True if 'branched_remap' in self.__reasons and seqId in self.__reasons['branched_remap']: fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['branched_remap'], seqId)