diff --git a/actions/ost-compare-structures b/actions/ost-compare-structures index 56c6087a8152426cbf3c06ad0951f07996eeb636..78aea3eda6086f3f418cb21cc25c50a016ba8b79 100644 --- a/actions/ost-compare-structures +++ b/actions/ost-compare-structures @@ -579,8 +579,14 @@ def _LoadStructure(structure_path, sformat, fault_tolerant, bu_idx): cif_entity, cif_seqres, cif_info = \ io.LoadMMCIF(structure_path, info=True, seqres=True, fault_tolerant=fault_tolerant) - if bu_idx >= len(cif_info.biounits): - raise RuntimeError(f"Invalid biounit index - requested {bu_idx} " + if len(cif_info.biounits) == 0: + raise RuntimeError(f"No biounit found - requested index" + f" {bu_idx}.") + elif bu_idx < 0: + raise RuntimeError(f"Invalid biounit - requested index {bu_idx}, " + f"must be a positive integer or 0.") + elif bu_idx >= len(cif_info.biounits): + raise RuntimeError(f"Invalid biounit - requested index {bu_idx}, " f"must be < {len(cif_info.biounits)}.") biounit = cif_info.biounits[bu_idx] entity = ost.mol.alg.CreateBU(cif_entity, biounit)