Skip to content
Snippets Groups Projects
Verified Commit 8074b86b authored by Xavier Robin's avatar Xavier Robin
Browse files

fix: ligand maps must always be available

parent 19747a86
Branches
Tags
No related merge requests found
...@@ -379,8 +379,6 @@ def _Process(model, model_ligands, reference, reference_ligands, args): ...@@ -379,8 +379,6 @@ def _Process(model, model_ligands, reference, reference_ligands, args):
# Replace model ligand by path # Replace model ligand by path
if len(model_ligands) == len(scorer.model_ligands): if len(model_ligands) == len(scorer.model_ligands):
# Map ligand => path # 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 out["model_ligands"] = args.model_ligands
elif len(model_ligands) < len(scorer.model_ligands): elif len(model_ligands) < len(scorer.model_ligands):
# Multi-ligand SDF files were given # Multi-ligand SDF files were given
...@@ -396,16 +394,16 @@ def _Process(model, model_ligands, reference, reference_ligands, args): ...@@ -396,16 +394,16 @@ def _Process(model, model_ligands, reference, reference_ligands, args):
"(%d) than given (%d)" % ( "(%d) than given (%d)" % (
len(scorer.model_ligands), len(model_ligands))) len(scorer.model_ligands), len(model_ligands)))
else: else:
model_ligands_map = {l.hash_code: _QualifiedResidueNotation(l) # Map ligand => qualified residue
for l in scorer.model_ligands} out["model_ligands"] = [_QualifiedResidueNotation(l) for l in scorer.model_ligands]
out["model_ligands"] = list(model_ligands_map.values())
model_ligands_map = {k.hash_code: v for k, v in zip(
scorer.model_ligands, out["model_ligands"])}
if reference_ligands is not None: if reference_ligands is not None:
# Replace reference ligand by path # Replace reference ligand by path
if len(reference_ligands) == len(scorer.target_ligands): if len(reference_ligands) == len(scorer.target_ligands):
# Map ligand => path # 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 out["reference_ligands"] = args.reference_ligands
elif len(reference_ligands) < len(scorer.target_ligands): elif len(reference_ligands) < len(scorer.target_ligands):
# Multi-ligand SDF files were given # Multi-ligand SDF files were given
...@@ -422,9 +420,12 @@ def _Process(model, model_ligands, reference, reference_ligands, args): ...@@ -422,9 +420,12 @@ def _Process(model, model_ligands, reference, reference_ligands, args):
len(scorer.target_ligands), len(reference_ligands))) len(scorer.target_ligands), len(reference_ligands)))
else: else:
reference_ligands_map = {l.hash_code: _QualifiedResidueNotation(l) # Map ligand => qualified residue
for l in scorer.target_ligands} out["reference_ligands"] = [_QualifiedResidueNotation(l) for l in scorer.target_ligands]
out["reference_ligands"] = list(reference_ligands_map.values())
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): if not (args.lddt_pli or args.rmsd):
ost.LogWarning("No score selected, output will be empty.") ost.LogWarning("No score selected, output will be empty.")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment