Skip to content

Commit

Permalink
DAOTHER-1728, 9846, 8905: Fix exceptions when merging NMR metadata up…
Browse files Browse the repository at this point in the history
…on submission
  • Loading branch information
yokochi47 committed Jan 14, 2025
1 parent 88fc93c commit 7a55b5b
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 12 deletions.
42 changes: 30 additions & 12 deletions wwpdb/utils/nmr/NmrDpUtility.py
Original file line number Diff line number Diff line change
Expand Up @@ -36524,10 +36524,12 @@ def get_auth_seq_scheme(chain_id, seq_id):

else:

chain_id = seq_id = comp_id = atom_id = None
chain_id = seq_id = comp_id = atom_id = auth_asym_id = auth_seq_id = None

for col, assign_item_temp in enumerate(assign_item_temps):
assign_item = assign_item_temp % dim
if assign_item not in loop.tags:
continue
if col == 0:
chain_id = row[loop.tags.index(assign_item)]
elif col == 1:
Expand All @@ -36550,7 +36552,8 @@ def get_auth_seq_scheme(chain_id, seq_id):
else:
atom_id = row[loop.tags.index(assign_item)]

auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)
if chain_id is not None and seq_id is not None:
auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)

if auth_asym_id is not None and auth_seq_id is not None:
seq_key = (auth_asym_id, auth_seq_id, comp_id)
Expand Down Expand Up @@ -36603,9 +36606,11 @@ def get_auth_seq_scheme(chain_id, seq_id):

else:

chain_id = seq_id = comp_id = atom_id = None
chain_id = seq_id = comp_id = atom_id = auth_asym_id = auth_seq_id = None

for col, assign_item in enumerate(assign_items):
if assign_item not in loop.tags:
continue
if col == 0:
chain_id = row[loop.tags.index(assign_item)]
elif col == 1:
Expand All @@ -36622,7 +36627,8 @@ def get_auth_seq_scheme(chain_id, seq_id):
else:
atom_id = row[loop.tags.index(assign_item)]

auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)
if chain_id is not None and seq_id is not None:
auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)

if auth_asym_id is not None and auth_seq_id is not None:
seq_key = (auth_asym_id, auth_seq_id, comp_id)
Expand Down Expand Up @@ -36681,10 +36687,12 @@ def get_auth_seq_scheme(chain_id, seq_id):

else:

chain_id = seq_id = comp_id = atom_id = None
chain_id = seq_id = comp_id = atom_id = auth_asym_id = auth_seq_id = None

for col, assign_item_temp in enumerate(assign_item_temps):
assign_item = assign_item_temp % dim
if assign_item not in loop.tags:
continue
if col == 0:
chain_id = row[loop.tags.index(assign_item)]
elif col == 1:
Expand All @@ -36707,7 +36715,8 @@ def get_auth_seq_scheme(chain_id, seq_id):
else:
atom_id = row[loop.tags.index(assign_item)]

auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)
if chain_id is not None and seq_id is not None:
auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)

if auth_asym_id is not None and auth_seq_id is not None:
seq_key = (auth_asym_id, auth_seq_id, comp_id)
Expand Down Expand Up @@ -36759,9 +36768,11 @@ def get_auth_seq_scheme(chain_id, seq_id):

else:

chain_id = seq_id = comp_id = atom_id = None
chain_id = seq_id = comp_id = atom_id = auth_asym_id = auth_seq_id = None

for col, assign_item in enumerate(assign_items):
if assign_item not in loop.tags:
continue
if col == 0:
chain_id = row[loop.tags.index(assign_item)]
elif col == 1:
Expand All @@ -36778,7 +36789,8 @@ def get_auth_seq_scheme(chain_id, seq_id):
else:
atom_id = row[loop.tags.index(assign_item)]

auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)
if chain_id is not None and seq_id is not None:
auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)

if auth_asym_id is not None and auth_seq_id is not None:
seq_key = (auth_asym_id, auth_seq_id, comp_id)
Expand Down Expand Up @@ -36932,10 +36944,12 @@ def get_auth_seq_scheme(chain_id, seq_id):

else:

chain_id = seq_id = comp_id = atom_id = None
chain_id = seq_id = comp_id = atom_id = auth_asym_id = auth_seq_id = None

for col, assign_item_temp in enumerate(assign_item_temps):
assign_item = assign_item_temp % dim
if assign_item not in loop.tags:
continue
if col == 0:
chain_id = row[loop.tags.index(assign_item)]
elif col == 1:
Expand All @@ -36958,7 +36972,8 @@ def get_auth_seq_scheme(chain_id, seq_id):
else:
atom_id = row[loop.tags.index(assign_item)]

auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)
if chain_id is not None and seq_id is not None:
auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)

if auth_asym_id is not None and auth_seq_id is not None:
seq_key = (auth_asym_id, auth_seq_id, comp_id)
Expand Down Expand Up @@ -37172,9 +37187,11 @@ def get_auth_seq_scheme(chain_id, seq_id):

else:

chain_id = seq_id = comp_id = atom_id = None
chain_id = seq_id = comp_id = atom_id = auth_asym_id = auth_seq_id = None

for col, assign_item in enumerate(assign_items):
if assign_item not in loop.tags:
continue
if col == 0:
chain_id = row[loop.tags.index(assign_item)]
elif col == 1:
Expand All @@ -37191,7 +37208,8 @@ def get_auth_seq_scheme(chain_id, seq_id):
else:
atom_id = row[loop.tags.index(assign_item)]

auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)
if chain_id is not None and seq_id is not None:
auth_asym_id, auth_seq_id = get_auth_seq_scheme(chain_id, seq_id)

if auth_asym_id is not None and auth_seq_id is not None:
seq_key = (auth_asym_id, auth_seq_id, comp_id)
Expand Down
10 changes: 10 additions & 0 deletions wwpdb/utils/nmr/ann/OneDepAnnTasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -1655,6 +1655,16 @@ def perform(self, master_entry: pynmrstar.Entry, nmrif) -> bool:
lp.add_data(_row)

if reset and len(lp) > 0:

try:

loop = sf.get_loop(lp_category)

del sf[loop]

except KeyError:
pass

sf.add_loop(lp)

allowed_sf_tags = set(self.__allowedSfTags)
Expand Down

0 comments on commit 7a55b5b

Please sign in to comment.