OEMolProp Functions

OEGet2dPSA

OEGet2dPSA(OEMolBase mol, OEFloatArray atomPSA=None, bool SandP=False) -> float

Returns the topological polar surface area for a given molecule as described in the Polar Surface Area section. The SandP parameter controls whether sulfur and phosphorus should be counted towards the total surface area. See example in Figure: Example of depicting the atom contributions of the polar surface area.

Warning

TPSA values are mildly sensitive to the protonation state of a molecule.

The atomPSA parameter can be used to retrieve the contribution of each atom to the total polar surface area as shown in Listing 1.

Listing 1: Example of retrieving individual atom contributions to PSA

atomPSA = OEFloatArray(mol.GetMaxAtomIdx())
psa = OEGet2dPSA(mol, atomPSA)

print "PSA =", psa
for atom in mol.GetAtoms():
    idx = atom.GetIdx()
    print idx, atomPSA[idx]
_images/OEGet2dPSA.png

Example of depicting the atom contributions of the polar surface area (ignoring S and P atoms)

(Darker colors and longer spikes indicate larger PSA atom contributions)
_images/OEGet2dPSA-SAndP.png

Example of depicting the atom contributions of the polar surface area (considering S and P atoms)

(Darker colors and longer spikes indicate larger PSA atom contributions)

See also

The Python script that visualizes the polar surface area of a molecule can be downloaded from the OpenEye Python Cookbook.

See also

Polar Surface Area section

OEGetAromaticRingCount

unsigned OEGetAromaticRingCount(const OEChem::OEMolBase &mol)

Returns the number of aromatic rings in a molecule as defined in [Ritchie-2009]. The article describes the method as the following:

The terminology 'number of aromatic rings' (or aromatic ring
count) is used generically and encompasses both benzenoid
aromatic rings and heteroaromatics (including, e.g. pyridine and
imidazole). ... Each ring in a fused system is counted
individually; thus, indole and naphthalene are each defined as
having two aromatic rings.

OEGetFractionCsp3

float OEGetFractionCsp3(const OEChem::OEMolBase &mol)

Returns the number of sp^3 carbons divided by the total number of carbons as described in [Lovering-2009].

OEGetXLogP

OEGetXLogP(OEMolBase mol, OEFloatArray atomxlogps=None) -> float xlogp

Returns the XLogP for a given molecule as described in the LogP section.

The atomxlogps parameter can be used to retrieve the contribution of each atom to the total XLogP as shown in Listing 2. See example in Figure: Example of depicting the atom contributions of the XLogP.

Listing 2: Example of retrieving individual atom contributions to XLogP

atomXLogP = OEFloatArray(mol.GetMaxAtomIdx())
xlogp = OEGetXLogP(mol, atomXLogP)

print "XLogP =", xlogp
for atom in mol.GetAtoms():
    idx = atom.GetIdx()
    print idx, atomXLogP[idx]
_images/OEGetXLogP.png

Example of depicting the atom contributions of the XLogP

See also

The Python script that visualizes the atom contributions of the total XLogP can be downloaded from the OpenEye Python Cookbook.

See also

LogP section

OEMolPropGetArch

const char *OEMolPropGetArch()

OEMolPropGetLicensee

bool OEMolPropGetLicensee(std::string &licensee)

OEMolPropGetPlatform

const char *OEMolPropGetPlatform()

OEMolPropGetRelease

const char *OEMolPropGetRelease()

OEMolPropGetSite

bool OEMolPropGetSite(std::string &site)

OEMolPropGetVersion

unsigned int OEMolPropGetVersion()

OEMolPropIsLicensed

bool OEMolPropIsLicensed(const char *feature=0, unsigned int *expdate=0)