Batch Interaction Profiler API#
docksuitex.batch_docking.batch_interaction_profiler.batch_interaction_profile #
batch_interaction_profile(
results: dict[
tuple[str, str, tuple[float, float, float]],
Union[Path, str],
],
receptors: Dict[
Union[str, Path],
Sequence[tuple[float, float, float]],
],
output_dir: Path,
cpu: int = (os.cpu_count() or 2) - 1,
save_to: Union[str, Path, None] = None,
) -> pd.DataFrame
Compute ProLIF interaction fingerprints for all successful docking results.
Iterates over each successful docking run and executes
:class:~docksuitex.interaction_profiler.InteractionProfiler in parallel
using a process pool.
The protein PDB is automatically resolved from each receptor PDBQT
using the intermediate_proteins/<stem>_prepared.pdb convention.
After all runs complete, individual prolif_interactions.csv files
are merged into a single prolif_interactions_combined.csv in the
batch output directory, with Receptor, Ligand, and Center identifier
columns prepended.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
results
|
dict
|
Mapping from (receptor_name, ligand_name, center) to the docking result path (Path) or error message (str). |
required |
receptors
|
dict
|
Dictionary mapping receptor PDBQT paths to their list of binding pocket centers (same as used in the batch class). |
required |
output_dir
|
Path
|
Base output directory from the batch docking run. |
required |
cpu
|
int
|
Total number of CPU cores to use.
Defaults to |
(cpu_count() or 2) - 1
|
save_to
|
str | Path
|
Base directory where ProLIF
results will be saved. Each result gets a |
None
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
pd.DataFrame: Combined DataFrame of ProLIF interaction fingerprints from all successful docking results. Contains Receptor, Ligand, Center, and Pose identifier columns followed by interaction data. Returns an empty DataFrame if no results could be profiled. |