plinder.eval.commands#
Run OpenStructure and PoseBusters on prepared structures.
Results retain the tools’ field names and assignments. Reference selection and PLINDER’s proper-ligand selection belong to the calling workflow.
- plinder.eval.commands.run_openstructure(model: str | Path, reference: str | Path, output: str | Path, *, action: Literal['compare-structures', 'compare-ligand-structures'], options: Sequence[str] = (), executable: str | Path = 'ost') dict[str, Any][source]#
Run an OST comparison and return its complete JSON result.
modelandreferenceare coordinate files accepted by OST. Ligand comparisons include lDDT-PLI, binding-site-superposed RMSD, backbone RMSD (bb_rmsd) and lDDT-LP. Structure comparisons include lDDT, iLDDT, QS-score and DockQ, including penalties for unmapped reference interfaces.optionspasses additional CLI arguments directly to OST, for example["--model-ligands", "pose.sdf"]. Embedded mmCIF ligands use OST’s own detection and chemistry rules.The JSON file and a sibling
.logfile are retained. Failed comparisons raise an error, including when OST reports FAILURE with a zero exit code. Requires theostexecutable from Bioconda’s OpenStructure package.
- plinder.eval.commands.run_posebusters(ligands: Sequence[str | Path], receptor: Mol, output: str | Path, *, full_report: bool = False) pd.DataFrame[source]#
Check SDF poses against a receptor RDKit molecule with residue metadata.
Create the receptor using
biotite.interface.rdkit.to_mol(receptor_atoms). Its residue names and hetero flags let PoseBusters distinguish receptor, cofactor and water atoms. An SDF round trip loses that distinction. Ligands must have lowercase.sdfextensions. The returned table and CSV retain PoseBusters’ columns, file names and SDF record positions. Requirespip install plinder[eval].Failed plausibility checks are returned as False. A missing/unreadable result or an unloaded receptor raises an error, because intermolecular checks would otherwise be absent.