fragmenstein.laboratory package

class fragmenstein.laboratory.Laboratory(pdbblock: str, covalent_resi: int | str | None = None, ligand_resi: str | None = None, run_plip: bool = False, **settings)[source]

Bases: LabCombine, LabPlace, LabExtras, LabScore

This class runs the combination or placement tasks of a list of molecules as subprocesses. The module used is pebble, which is the same as multiprocessing but with a few more features. For more advanced usages, dask is a good candidate, but dask jobs on a cluster with a batch-queueing engine are non-trivial to set up.

In the case of subclassed Victor, the user can create a Laboratory instance, and replace .Victor with their subclass of Victor. However, there are a few requirements, so please see combine_subprocess and place_subprocess, where it gets called. Laboratory does not contain handy empty methods for the user to override like Victor (

post_igor_step)