Joback Fragmentation Model

Joback fragmentation module.

class JobackModel(subgroups: DataFrame, properties_contributions: DataFrame | None)[source]

Bases: FragmentationModel

Joback Fragmentation model dedicated to properties estimation models.

Parameters:
  • subgroups (pd.DataFrame) – Model’s subgroups. Index: ‘group’ (subgroups names). Mandatory columns: ‘smarts’ (SMARTS representations of the group to detect its precense in the molecule).

  • properties_contributions (pd.DataFrame, optional) – Group’s properties contributions, by default None.

subgroups

Model’s subgroups. Index: ‘group’ (subgroups names). Columns: ‘smarts’ (SMARTS representations of the group to detect its precense in the molecule).

Type:

pd.DataFrame

detection_mols

Dictionary cotaining all the rdkit Mol object from the detection_smarts subgroups column

Type:

dict

properties_contributions

Group’s properties contributions.

Type:

pd.DataFrame

get_groups(identifier: str | ~rdkit.Chem.rdchem.Mol, identifier_type: str = 'name', solver: ~ugropy.core.ilp_solvers.ilp_solver.ILPSolver = <class 'ugropy.core.ilp_solvers.default_solver.DefaultSolver'>, search_multiple_solutions: bool = False, normal_boiling_point: float = None) JobackFragmentationResult | List[JobackFragmentationResult][source]

Get Jobacks groups from a molecule.

Parameters:
  • identifier (Union[str, Chem.rdchem.Mol]) – Identifier of the molecule. You can use either the name of the molecule, the SMILEs of the molecule or a rdkit Mol object.

  • identifier_type (str, optional) – Identifier type of the molecule. Use “name” if you are providing the molecules’ name, “smiles” if you are providing the SMILES or “mol” if you are providing a rdkir mol object, by default “name”

  • solver (ILPSolver, optional) – ILP solver class, by default DefaultSolver

  • search_multiple_solutions (bool, optional) – Weather search for multiple solutions or not, by default False If False the return will be a FragmentationResult object, if True the return will be a list of FragmentationResult objects.

  • normal_boiling_point (float, optional) – Experimental normal boiling point of the molecule on Kelvin. Its used to improve the properties calculations. Joback uses the estimated normal boiling point if no provided, by default None

Returns:

Fragmentation result. If search_multiple_solutions is False the return will be a FragmentationResult object, if True the return will be a list of FragmentationResult objects.

Return type:

Union[JobackFragmentationResult, List[JobackFragmentationResult]]