Skip to content

Commit

Permalink
Reconciled fix between 6fw4 and 2rsd
Browse files Browse the repository at this point in the history
  • Loading branch information
yokochi47 committed May 2, 2024
1 parent e585312 commit 8714ebf
Show file tree
Hide file tree
Showing 7 changed files with 208 additions and 190 deletions.
92 changes: 47 additions & 45 deletions wwpdb/utils/nmr/mr/AriaMRParserListener.py
Original file line number Diff line number Diff line change
Expand Up @@ -642,11 +642,11 @@ def exitAria_mr(self, ctx: AriaMRParser.Aria_mrContext): # pylint: disable=unus
del self.reasonsForReParsing['local_seq_scheme']
elif 'ext_chain_seq_id_remap' in self.reasonsForReParsing:
del self.reasonsForReParsing['local_seq_scheme']

if 'seq_id_remap' in self.reasonsForReParsing and 'non_poly_remap' in self.reasonsForReParsing:
if self.__reasons is None and not any(f for f in self.__f if '[Sequence mismatch]' in f):
del self.reasonsForReParsing['seq_id_remap']

# """
# if 'seq_id_remap' in self.reasonsForReParsing and 'non_poly_remap' in self.reasonsForReParsing:
# if self.__reasons is None and not any(f for f in self.__f if '[Sequence mismatch]' in f):
# del self.reasonsForReParsing['seq_id_remap']
# """
finally:
self.warningMessage = sorted(list(set(self.__f)), key=self.__f.index)

Expand Down Expand Up @@ -1022,23 +1022,24 @@ def assignCoordPolymerSequence(self, seqId, compId, atomId):
if 'branched_remap' in self.__reasons and seqId in self.__reasons['branched_remap']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['branched_remap'], seqId)
preferNonPoly = True
if 'chain_id_remap' in self.__reasons and seqId in self.__reasons['chain_id_remap']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_remap'], seqId)
elif 'chain_id_clone' in self.__reasons and seqId in self.__reasons['chain_id_clone']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_clone'], seqId)
elif 'seq_id_remap' in self.__reasons\
or 'chain_seq_id_remap' in self.__reasons\
or 'ext_chain_seq_id_remap' in self.__reasons:
if 'ext_chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId, fixedCompId =\
retrieveRemappedSeqIdAndCompId(self.__reasons['ext_chain_seq_id_remap'], None, seqId,
compId if compId in monDict3 else None)
self.__allow_ext_seq = fixedCompId is not None
if fixedSeqId is None and 'chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId = retrieveRemappedSeqId(self.__reasons['chain_seq_id_remap'], None, seqId,
compId if compId in monDict3 else None)
if fixedSeqId is None and 'seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId = retrieveRemappedSeqId(self.__reasons['seq_id_remap'], None, seqId)
if not preferNonPoly:
if 'chain_id_remap' in self.__reasons and seqId in self.__reasons['chain_id_remap']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_remap'], seqId)
elif 'chain_id_clone' in self.__reasons and seqId in self.__reasons['chain_id_clone']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_clone'], seqId)
elif 'seq_id_remap' in self.__reasons\
or 'chain_seq_id_remap' in self.__reasons\
or 'ext_chain_seq_id_remap' in self.__reasons:
if 'ext_chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId, fixedCompId =\
retrieveRemappedSeqIdAndCompId(self.__reasons['ext_chain_seq_id_remap'], None, seqId,
compId if compId in monDict3 else None)
self.__allow_ext_seq = fixedCompId is not None
if fixedSeqId is None and 'chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId = retrieveRemappedSeqId(self.__reasons['chain_seq_id_remap'], None, seqId,
compId if compId in monDict3 else None)
if fixedSeqId is None and 'seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId = retrieveRemappedSeqId(self.__reasons['seq_id_remap'], None, seqId)
if fixedSeqId is not None:
_seqId = fixedSeqId

Expand Down Expand Up @@ -1411,29 +1412,30 @@ def assignCoordPolymerSequenceWithChainId(self, refChainId, seqId, compId, atomI
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['branched_remap'], seqId)
refChainId = fixedChainId
preferNonPoly = True
if 'chain_id_remap' in self.__reasons and seqId in self.__reasons['chain_id_remap']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_remap'], seqId)
refChainId = fixedChainId
elif 'chain_id_clone' in self.__reasons and seqId in self.__reasons['chain_id_clone']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_clone'], seqId)
refChainId = fixedChainId
elif 'seq_id_remap' in self.__reasons\
or 'chain_seq_id_remap' in self.__reasons\
or 'ext_chain_seq_id_remap' in self.__reasons:
if 'ext_chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId, fixedCompId =\
retrieveRemappedSeqIdAndCompId(self.__reasons['ext_chain_seq_id_remap'], str(refChainId), seqId,
compId if compId in monDict3 else None)
self.__allow_ext_seq = fixedCompId is not None
if fixedSeqId is not None:
refChainId = fixedChainId
if fixedSeqId is None and 'chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId = retrieveRemappedSeqId(self.__reasons['chain_seq_id_remap'], str(refChainId), seqId,
compId if compId in monDict3 else None)
if fixedSeqId is not None:
refChainId = fixedChainId
if fixedSeqId is None and 'seq_id_remap' in self.__reasons:
_, fixedSeqId = retrieveRemappedSeqId(self.__reasons['seq_id_remap'], str(refChainId), seqId)
if not preferNonPoly:
if 'chain_id_remap' in self.__reasons and seqId in self.__reasons['chain_id_remap']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_remap'], seqId)
refChainId = fixedChainId
elif 'chain_id_clone' in self.__reasons and seqId in self.__reasons['chain_id_clone']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_clone'], seqId)
refChainId = fixedChainId
elif 'seq_id_remap' in self.__reasons\
or 'chain_seq_id_remap' in self.__reasons\
or 'ext_chain_seq_id_remap' in self.__reasons:
if 'ext_chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId, fixedCompId =\
retrieveRemappedSeqIdAndCompId(self.__reasons['ext_chain_seq_id_remap'], str(refChainId), seqId,
compId if compId in monDict3 else None)
self.__allow_ext_seq = fixedCompId is not None
if fixedSeqId is not None:
refChainId = fixedChainId
if fixedSeqId is None and 'chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId = retrieveRemappedSeqId(self.__reasons['chain_seq_id_remap'], str(refChainId), seqId,
compId if compId in monDict3 else None)
if fixedSeqId is not None:
refChainId = fixedChainId
if fixedSeqId is None and 'seq_id_remap' in self.__reasons:
_, fixedSeqId = retrieveRemappedSeqId(self.__reasons['seq_id_remap'], str(refChainId), seqId)
if fixedSeqId is not None:
_seqId = fixedSeqId

Expand Down
57 changes: 29 additions & 28 deletions wwpdb/utils/nmr/mr/BiosymMRParserListener.py
Original file line number Diff line number Diff line change
Expand Up @@ -651,11 +651,11 @@ def exitBiosym_mr(self, ctx: BiosymMRParser.Biosym_mrContext): # pylint: disabl
del self.reasonsForReParsing['local_seq_scheme']
elif 'ext_chain_seq_id_remap' in self.reasonsForReParsing:
del self.reasonsForReParsing['local_seq_scheme']

if 'seq_id_remap' in self.reasonsForReParsing and 'non_poly_remap' in self.reasonsForReParsing:
if self.__reasons is None and not any(f for f in self.__f if '[Sequence mismatch]' in f):
del self.reasonsForReParsing['seq_id_remap']

# """
# if 'seq_id_remap' in self.reasonsForReParsing and 'non_poly_remap' in self.reasonsForReParsing:
# if self.__reasons is None and not any(f for f in self.__f if '[Sequence mismatch]' in f):
# del self.reasonsForReParsing['seq_id_remap']
# """
finally:
self.warningMessage = sorted(list(set(self.__f)), key=self.__f.index)

Expand Down Expand Up @@ -1163,29 +1163,30 @@ def assignCoordPolymerSequence(self, refChainId, seqId, compId, atomId):
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['branched_remap'], seqId)
refChainId = fixedChainId
preferNonPoly = True
if 'chain_id_remap' in self.__reasons and seqId in self.__reasons['chain_id_remap']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_remap'], seqId)
refChainId = fixedChainId
elif 'chain_id_clone' in self.__reasons and seqId in self.__reasons['chain_id_clone']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_clone'], seqId)
refChainId = fixedChainId
elif 'seq_id_remap' in self.__reasons\
or 'chain_seq_id_remap' in self.__reasons\
or 'ext_chain_seq_id_remap' in self.__reasons:
if 'ext_chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId, fixedCompId =\
retrieveRemappedSeqIdAndCompId(self.__reasons['ext_chain_seq_id_remap'], str(refChainId), seqId,
compId if compId in monDict3 else None)
self.__allow_ext_seq = fixedCompId is not None
if fixedSeqId is not None:
refChainId = fixedChainId
if fixedSeqId is None and 'chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId = retrieveRemappedSeqId(self.__reasons['chain_seq_id_remap'], str(refChainId), seqId,
compId if compId in monDict3 else None)
if fixedSeqId is not None:
refChainId = fixedChainId
if fixedSeqId is None and 'seq_id_remap' in self.__reasons:
_, fixedSeqId = retrieveRemappedSeqId(self.__reasons['seq_id_remap'], str(refChainId), seqId)
if not preferNonPoly:
if 'chain_id_remap' in self.__reasons and seqId in self.__reasons['chain_id_remap']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_remap'], seqId)
refChainId = fixedChainId
elif 'chain_id_clone' in self.__reasons and seqId in self.__reasons['chain_id_clone']:
fixedChainId, fixedSeqId = retrieveRemappedChainId(self.__reasons['chain_id_clone'], seqId)
refChainId = fixedChainId
elif 'seq_id_remap' in self.__reasons\
or 'chain_seq_id_remap' in self.__reasons\
or 'ext_chain_seq_id_remap' in self.__reasons:
if 'ext_chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId, fixedCompId =\
retrieveRemappedSeqIdAndCompId(self.__reasons['ext_chain_seq_id_remap'], str(refChainId), seqId,
compId if compId in monDict3 else None)
self.__allow_ext_seq = fixedCompId is not None
if fixedSeqId is not None:
refChainId = fixedChainId
if fixedSeqId is None and 'chain_seq_id_remap' in self.__reasons:
fixedChainId, fixedSeqId = retrieveRemappedSeqId(self.__reasons['chain_seq_id_remap'], str(refChainId), seqId,
compId if compId in monDict3 else None)
if fixedSeqId is not None:
refChainId = fixedChainId
if fixedSeqId is None and 'seq_id_remap' in self.__reasons:
_, fixedSeqId = retrieveRemappedSeqId(self.__reasons['seq_id_remap'], str(refChainId), seqId)
if fixedSeqId is not None:
_seqId = fixedSeqId

Expand Down
Loading

0 comments on commit 8714ebf

Please sign in to comment.