citrine.informatics.generative_design module

class citrine.informatics.generative_design.FingerprintType(value)

Bases: BaseEnumeration

[ALPHA] Fingerprint type used in Generative Design.

  • AP is the Atom Pairs Fingerprint.

  • PHCO is the Path-Length Connectivity Fingerprint.

  • BPF is the Binary Path Fingerprint.

  • PATH is the Paths of Atoms of Heteroatoms Fingerprint.

  • ECFP4 is the Extended Connectivity Fingerprint with radius 4.

  • ECFP6 is the Extended Connectivity Fingerprint with radius 6.

  • FCFP4 is the Focused Connectivity Fingerprint with radius 4.

  • FCFP6 is the Focused Connectivity Fingerprint with radius 6.

AP = 'AP'
BPF = 'BPF'
ECFP4 = 'ECFP4'
ECFP6 = 'ECFP6'
FCFP4 = 'FCFP4'
FCFP6 = 'FCFP6'
PATH = 'PATH'
PHCO = 'PHCO'
class citrine.informatics.generative_design.GenerativeDesignInput(*, seeds: List[str], fingerprint_type: FingerprintType, min_fingerprint_similarity: float, mutation_per_seed: int, structure_exclusions: List[StructureExclusion] | None = None, min_substructure_counts: Dict[str, int] | None = None)

Bases: Serializable[GenerativeDesignInput]

A Citrine Generative Design Execution Input.

Parameters:
  • seeds (List[str]) – The seeds used to generate the molecules.

  • fingerprint_type (FingerprintType) – The fingerprint type used to calculate the fingerprint similarity.

  • min_fingerprint_similarity (float) – The minimum fingerprint similarity between the seed and the mutated molecule.

  • mutation_per_seed (int) – The number of initial mutations that will be attempted per seed. IMPORTANT, the total number of molecules generated will likely be lower than this value. Some mutations may be duplicates or may not meet the fingerprint similarity threshold.

  • structure_exclusions (List[StructureExclusion]) – The structure exclusions used to limit molecule mutations. If None, no structure exclusions will be used.

  • min_substructure_counts (Dict[str, int]) – Dictionary for constraining which substructures (represented by SMILES strings) must appear in each mutated molecule, along with integer values representing the minimum number of times each substructure must appear in a molecule to be considered a valid mutation.

classmethod build(data: dict) Self

Build an instance of this object from given data.

dump() dict

Dump this instance.

fingerprint_type: FingerprintType = None
min_fingerprint_similarity: float = None
min_substructure_counts: Dict[str, int] = None
mutation_per_seed: int = None
seeds: List[str] = None
structure_exclusions: List[StructureExclusion] = None
class citrine.informatics.generative_design.GenerativeDesignResult

Bases: Serializable[GenerativeDesignResult]

A Citrine Generation Design Execution Result.

This class represents the result of a generative design execution.

classmethod build(data: dict) Self

Build an instance of this object from given data.

dump() dict

Dump this instance.

execution_id = None
fingerprint_similarity = None

The fingerprint similarity between the seed and the mutated molecule.

fingerprint_type = None

The fingerprint type used to calculate the fingerprint similarity.

mutated = None

The mutated molecule.

seed = None

The seed used to generate the molecule.

uid = None
class citrine.informatics.generative_design.StructureExclusion(value)

Bases: BaseEnumeration

[ALPHA] Structure exclusion type used in Generative Design.

  • DOUBLE_BONDS excludes mutation steps that add double bonds.

  • TRIPLE_BONDS excludes mutation steps that add triple bonds.

  • ANIONS excludes mutation steps that add anions.

  • CATIONS excludes mutation steps that add cations.

  • IONS excludes mutation steps that add anions and cations.

  • BORON excludes mutation steps that add boron atoms.

  • PHOSPHORUS excludes mutation steps that add phosphorus atoms.

  • SULFUR excludes mutation steps that add sulfur atoms.

  • NITROGEN excludes mutation steps that add nitrogen atoms.

  • OXYGEN excludes mutation steps that add oxygen atoms.

  • FLUORINE excludes mutation steps that add fluorine atoms.

  • BROMINE excludes mutation steps that add bromine atoms.

  • IODINE excludes mutation steps that add iodine atoms.

  • CHLORINE excludes mutation steps that add chlorine atoms.

ANIONS = 'ANIONS'
BORON = 'BORON'
BROMINE = 'BROMINE'
CATIONS = 'CATIONS'
CHLORINE = 'CHLORINE'
DOUBLE_BONDS = 'DOUBLE_BONDS'
FLUORINE = 'FLUORINE'
IODINE = 'IODINE'
IONS = 'IONS'
NITROGEN = 'NITROGEN'
OXYGEN = 'OXYGEN'
PHOSPHORUS = 'PHOSPHORUS'
SULFUR = 'SULFUR'
TRIPLE_BONDS = 'TRIPLE_BONDS'