diff --git a/actions/ost-compare-ligand-structures b/actions/ost-compare-ligand-structures index a246b13af3bffd0491e509e64f3ce08ba62d6b08..d8e55d6b5a22bdd332bf46192b9e839fb56adeec 100644 --- a/actions/ost-compare-ligand-structures +++ b/actions/ost-compare-ligand-structures @@ -379,8 +379,6 @@ def _Process(model, model_ligands, reference, reference_ligands, args): # Replace model ligand by path if len(model_ligands) == len(scorer.model_ligands): # Map ligand => path - model_ligands_map = {k.hash_code: v for k, v in zip( - scorer.model_ligands, args.model_ligands)} out["model_ligands"] = args.model_ligands elif len(model_ligands) < len(scorer.model_ligands): # Multi-ligand SDF files were given @@ -396,16 +394,16 @@ def _Process(model, model_ligands, reference, reference_ligands, args): "(%d) than given (%d)" % ( len(scorer.model_ligands), len(model_ligands))) else: - model_ligands_map = {l.hash_code: _QualifiedResidueNotation(l) - for l in scorer.model_ligands} - out["model_ligands"] = list(model_ligands_map.values()) + # Map ligand => qualified residue + out["model_ligands"] = [_QualifiedResidueNotation(l) for l in scorer.model_ligands] + + model_ligands_map = {k.hash_code: v for k, v in zip( + scorer.model_ligands, out["model_ligands"])} if reference_ligands is not None: # Replace reference ligand by path if len(reference_ligands) == len(scorer.target_ligands): # Map ligand => path - reference_ligands_map = {k.hash_code: v for k, v in zip( - scorer.target_ligands, args.reference_ligands)} out["reference_ligands"] = args.reference_ligands elif len(reference_ligands) < len(scorer.target_ligands): # Multi-ligand SDF files were given @@ -422,9 +420,12 @@ def _Process(model, model_ligands, reference, reference_ligands, args): len(scorer.target_ligands), len(reference_ligands))) else: - reference_ligands_map = {l.hash_code: _QualifiedResidueNotation(l) - for l in scorer.target_ligands} - out["reference_ligands"] = list(reference_ligands_map.values()) + # Map ligand => qualified residue + out["reference_ligands"] = [_QualifiedResidueNotation(l) for l in scorer.target_ligands] + + reference_ligands_map = {k.hash_code: v for k, v in zip( + scorer.target_ligands, out["reference_ligands"])} + if not (args.lddt_pli or args.rmsd): ost.LogWarning("No score selected, output will be empty.")