nanoCAT.recipes.bulk
A short recipe for accessing the ligand-bulkiness workflow.
Index
|
Start the CAT ligand bulkiness workflow with an iterable of smiles strings. |
|
Start the ligand fast-bulkiness workflow with an iterable of smiles strings. |
API
- nanoCAT.recipes.bulk_workflow(smiles_list, anchor='O(C=O)[H]', *, anchor_condition=None, diameter=4.5, height_lim=10.0, optimize=True)[source]
Start the CAT ligand bulkiness workflow with an iterable of smiles strings.
Examples
>>> from CAT.recipes import bulk_workflow >>> smiles_list = [...] >>> mol_list, bulk_array = bulk_workflow(smiles_list, optimize=True)
- Parameters:
smiles_list (
Iterable[str]
) – An iterable of SMILES strings.anchor (
str
) – A SMILES string representation of an anchor group such as"O(C=O)[H]"
. The first atom will be marked as anchor atom while the last will be dissociated. Used for filtering molecules in smiles_list.anchor_condition (
Callable[[int], bool]
, optional) – If notNone
, filter ligands based on the number of identified functional groups. For example,anchor_condition = lambda n: n == 1
will only accept ligands with a single anchor group,anchor_condition = lambda n: n >= 3
requires three or more anchors andanchor_condition = lambda n: n < 2
requires fewer than two anchors.diameter (
float
, optional) – The lattice spacing, i.e. the average nearest-neighbor distance between the anchor atoms of all ligads. Set toNone
to ignore the lattice spacing. Units should be in Angstrom.height_lim (
float
, optional) – A cutoff above which all atoms are ignored. Set toNone
to ignore the height cutoff. Units should be in Angstrom.optimize (
bool
) – Enable or disable the ligand geometry optimization.
- Returns:
A list of plams Molecules and a matching array of \(V_{bulk}\) values.
- Return type:
- nanoCAT.recipes.fast_bulk_workflow(smiles_list, anchor='O(C=O)[H]', *, anchor_condition=None, diameter=4.5, height_lim=10.0, func=<ufunc 'exp'>)[source]
Start the ligand fast-bulkiness workflow with an iterable of smiles strings.
Examples
>>> from CAT.recipes import fast_bulk_workflow >>> smiles_list = [...] >>> mol_list, bulk_array = fast_bulk_workflow(smiles_list, optimize=True)
- Parameters:
smiles_list (
Iterable[str]
) – An iterable of SMILES strings.anchor (
str
) – A SMILES string representation of an anchor group such as"O(C=O)[H]"
. The first atom will be marked as anchor atom while the last will be dissociated. Used for filtering molecules in smiles_list.anchor_condition (
Callable[[int], bool]
, optional) – If notNone
, filter ligands based on the number of identified functional groups. For example,anchor_condition = lambda n: n == 1
will only accept ligands with a single anchor group,anchor_condition = lambda n: n >= 3
requires three or more anchors andanchor_condition = lambda n: n < 2
requires fewer than two anchors.diameter (
float
, optional) – The lattice spacing, i.e. the average nearest-neighbor distance between the anchor atoms of all ligads. Set toNone
to ignore the lattice spacing. Units should be in Angstrom.height_lim (
float
, optional) – A cutoff above which all atoms are ignored. Set toNone
to ignore the height cutoff. Units should be in Angstrom.func (
Callable[[np.float64], Any]
) – A function for weighting each radial distance. Defaults tonp.exp
.
- Returns:
A list of plams Molecules and a matching array of \(V_{bulk}\) values.
- Return type:
- Raises:
RuntimeWarning – Issued if an exception is encountered when constructing or traversing one of the molecular graphs. The corresponding bulkiness value will be set to
nan
in such case.