chemfp.openeye_types module

This module should not be imported directly.

It contains internal implementation details of OEChem/OEGraphSim fingerprint generation.

This module is included in the documentation because parts of this module are returned to the user, and are part of the public API.

class chemfp.openeye_types.EStateSuperimposedOpenEyeFingerprintType_v1(fingerprint_kwargs)

Bases: VariableSizeFingerprint

Superimposed version of the EState count fingerprint for OpenEye/OEChem, version 1

This fingerprint uses the 79 SMARTS patterns corresponding to the EState descriptors in:

Lowell H. Hall and Lemont B. Kier, “Electrotopological State Indices for Atom Types: A Novel Combination of Electronic, Topological, and Valence State Information”, J. Chem. Inf. Comput. Sci. (1995) 35, pp 1039-1045, Table 1.

The SMARTS definitions are derived from the RDKit implementation.

An EState count fingerprint is a vector of counts where the i-th count is the number of atoms which match the i-th SMARTS definition. These are converted to binary fingerprints using superimposed coding, where the binary Tanimoto score is a good approximation for the count Tanimoto score.

The EStateSuperimposed-OpenEye/1 FingerprintType parameter is:

  • numbits - the number of bits in the fingerprints (default: 2048)

name = 'EStateSuperimposed-OpenEye/1'

the fingerprint name

software = ...

a description of the OpenEye and chemfp software packages used

class chemfp.openeye_types.KlekotaRothOpenEyeFingerprintType_v1(fingerprint_kwargs: Dict[str, Any])

Bases: NoFingerprintParametersMixin, FixedSizeFingerprint

Klekota-Roth fingerprint for OpenEye/OEChem, version 1

This fingerprint uses the 4860 substructure patterns identified in:

Justin Klekota, Frederick P. Roth, Chemical substructures that enrich for biological activity, Bioinformatics, Volume 24, Issue 21, November 2008, Pages 2518–2525, https://doi.org/10.1093/bioinformatics/btn479

The substructures are derived from the SMARTS listed in the supplementary data.

This fingerprint type has no parameters.

name = 'KlekotaRoth-OpenEye/1'

the fingerprint name

num_bits = 4860
software = ...

a description of the OpenEye and chemfp software packages used

class chemfp.openeye_types.OpenEyeCircularFingerprintType_v2(fingerprint_kwargs)

Bases: VariableSizeFingerprint

OEGraphSim fingerprint based on circular fingerprints around heavy atoms, version 2

See https://docs.eyesopen.com/toolkits/cpp/graphsimtk/fingerprint.html#section-fingerprint-circular

The OpenEye-Circular/2 FingerprintType parameters are:

  • numbits - the number of bits in the fingerprint (default: 4096)

  • minradius - the minimum radius (default: 0)

  • maxradius - the maximum radius (default: 5)

  • atype - the atom type (default: “Default”)

  • btype - the bond type (default: “Default”)

The atype is either 0 or a ‘|’ separated string containing one or more of the following: Aromaticity, AtomicNumber, Chiral, EqHBondAcceptor, EqHBondDonor, EqHalogen, FormalCharge, HCount, HvyDegree, Hybridization, InRing, EqAromatic,

The btype is either 0 or a ‘|’ separated string containing one or more of the following: BondOrder, Chiral, InRing.

get_virtual_screening_variant(version: int = 0)

Return a new circular fingerprint type using the virtual screening atype and btype values

name = 'OpenEye-Circular/2'

the fingerprint name

class chemfp.openeye_types.OpenEyeMACCSFingerprintType_v2(fingerprint_kwargs: Dict[str, Any])

Bases: NoFingerprintParametersMixin, FixedSizeFingerprint

OEGraphSim implementation of the 166 MACCS keys, version 2

See https://docs.eyesopen.com/toolkits/cpp/graphsimtk/fingerprint.html#maccs .

The OpenEye-MACCS166/2 FingerprintType has no parameters.

This corresponds to GraphSim version ‘2.0.0’.

name = 'OpenEye-MACCS166/2'

the fingerprint name

num_bits = 166
class chemfp.openeye_types.OpenEyeMACCSFingerprintType_v3(fingerprint_kwargs: Dict[str, Any])

Bases: NoFingerprintParametersMixin, FixedSizeFingerprint

OEGraphSim implementation of the 166 MACCS keys, version 3

See https://docs.eyesopen.com/toolkits/cpp/graphsimtk/fingerprint.html#maccs .

The OpenEye-MACCS166/3 FingerprintType has no parameters.

This corresponds to GraphSim version ‘2.2.0’, with fixes for bits 91 and 92.

name = 'OpenEye-MACCS166/3'

the fingerprint name

num_bits = 166
class chemfp.openeye_types.OpenEyeMDLScreenFingerprintType_v1(fingerprint_kwargs: Dict[str, Any])

Bases: NoFingerprintParametersMixin, FixedSizeFingerprint

OEChem MDL screen using OESubSearchScreenType::MDL

See https://docs.eyesopen.com/toolkits/cpp/oechemtk/OEChemClasses/OESubSearchScreen.html This OpenEyeMDLScreenFingerprintType_v1 FingerprintType takes no parameters. Calling the fingerprinter with a QMol returns the query screen, calling with an OEMol returns a target screen.

name = 'OpenEye-MDLScreen/1'

the fingerprint name

num_bits = 896
class chemfp.openeye_types.OpenEyeMoleculeScreenFingerprintType_v1(fingerprint_kwargs: Dict[str, Any])

Bases: NoFingerprintParametersMixin, FixedSizeFingerprint

OEChem molecule screen using OESubSearchScreenType::Molecule

See https://docs.eyesopen.com/toolkits/cpp/oechemtk/OEChemClasses/OESubSearchScreen.html This OpenEyeMoleculeScreenFingerprintType_v1 FingerprintType takes no parameters. Calling the fingerprinter with a QMol returns the query screen, calling with an OEMol returns a target screen.

name = 'OpenEye-MoleculeScreen/1'

the fingerprint name

num_bits = 896
class chemfp.openeye_types.OpenEyePathFingerprintType_v2(fingerprint_kwargs)

Bases: VariableSizeFingerprint

OEGraphSim fingerprint based on path-based enumeration, version 2

See https://docs.eyesopen.com/toolkits/cpp/graphsimtk/fingerprint.html#section-fingerprint-path

The OpenEye-Path/2 FingerprintType parameters are:

  • numbits - the number of bits in the fingerprint (default: 4096)

  • minbonds - the minimum number of bonds (default: 0)

  • maxbonds - the maximum number of bonds (default: 5)

  • atype - the atom type (default: “Default”)

  • btype - the bond type (default: “Default”)

The atype is either 0 or a ‘|’ separated string containing one or more of the following: Aromaticity, AtomicNumber, Chiral, EqHBondAcceptor, EqHBondDonor, EqHalogen, FormalCharge, HCount, HvyDegree, Hybridization, InRing, EqAromatic,

The btype is either 0 or a ‘|’ separated string containing one or more of the following: BondOrder, Chiral, InRing.

get_virtual_screening_variant(version: int = 0)

Return a new path fingerprint type using the virtual screening atype and btype values

name = 'OpenEye-Path/2'

the fingerprint name

class chemfp.openeye_types.OpenEyeSMARTSScreenFingerprintType_v1(fingerprint_kwargs: Dict[str, Any])

Bases: NoFingerprintParametersMixin, FixedSizeFingerprint

OEChem SMARTS screen using OESubSearchScreenType::SMARTS

See https://docs.eyesopen.com/toolkits/cpp/oechemtk/OEChemClasses/OESubSearchScreen.html This OpenEyeSMARTSScreenFingerprintType_v1 FingerprintType takes no parameters. Calling the fingerprinter with a QMol returns the query screen, calling with an OEMol returns a target screen.

name = 'OpenEye-SMARTSScreen/1'

the fingerprint name

num_bits = 896
class chemfp.openeye_types.OpenEyeTreeFingerprintType_v2(fingerprint_kwargs)

Bases: VariableSizeFingerprint

OEGraphSim fingerprint based on tree fingerprints, version 2

See https://docs.eyesopen.com/toolkits/cpp/graphsimtk/fingerprint.html#section-fingerprint-tree

The OpenEye-Tree/2 FingerprintType parameters are:

  • numbits - the number of bits in the fingerprint (default: 4096)

  • minbonds - minimum number of bonds in the tree

  • maxbonds - maximum number of bonds in the tree

  • atype - the atom type (default: “Default”)

  • btype - the bond type (default: “Default”)

The atype is either 0 or a ‘|’ separated string containing one or more of the following: Aromaticity, AtomicNumber, Chiral, EqHBondAcceptor, EqHBondDonor, EqHalogen, FormalCharge, HCount, HvyDegree, Hybridization, InRing, EqAromatic,

The btype is either 0 or a ‘|’ separated string containing one or more of the following: BondOrder, Chiral, InRing.

get_virtual_screening_variant(version: int = 0)

Return a new tree fingerprint type using the virtual screening atype and btype values

name = 'OpenEye-Tree/2'

the fingerprint name