Skip to content

Commit 95f937b

Browse files
committed
fix for molecules with only one residue
1 parent 64a5187 commit 95f937b

1 file changed

Lines changed: 20 additions & 16 deletions

File tree

CodeEntropy/levels/nodes/covariance.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -202,23 +202,27 @@ def _process_united_atom(
202202
"""
203203

204204
for local_res_i, res in enumerate(mol.residues):
205-
# build residue group here
206-
if local_res_i == 0:
207-
# first residue
208-
res_position = -1
209-
res_next = mol.residues[1]
210-
residue_group = res + res_next
211-
elif local_res_i == len(mol.residues) - 1:
212-
# last residue
213-
res_position = 1
214-
res_prev = mol.residues[-2]
215-
residue_group = res + res_prev
205+
if len(mol.residues) > 1:
206+
# there are multiple residues in the molecule
207+
# build residue group here
208+
if local_res_i == 0:
209+
# first residue
210+
res_position = -1
211+
res_next = mol.residues[1]
212+
residue_group = res + res_next
213+
elif local_res_i == len(mol.residues) - 1:
214+
# last residue
215+
res_position = 1
216+
res_prev = mol.residues[-2]
217+
residue_group = res + res_prev
218+
else:
219+
res_position = 0
220+
res_prev = mol.residues[local_res_i - 1]
221+
res_next = mol.residues[local_res_i + 1]
222+
residue_group = res_prev + res + res_next
216223
else:
217-
res_position = 0
218-
res_prev = mol.residues[local_res_i - 1]
219-
res_next = mol.residues[local_res_i + 1]
220-
residue_group = res_prev + res + res_next
221-
224+
# only one residue
225+
res_position = None
222226
bead_key = (mol_id, "united_atom", local_res_i)
223227
bead_idx_list = beads.get(bead_key, [])
224228
if not bead_idx_list:

0 commit comments

Comments
 (0)