OEGet2dPSA¶
float OEGet2dPSA(OEMolBase mol, OEFloatArray atomPSA, boolean SandP)
float OEGet2dPSA(OEMolBase mol, OEFloatArray atomPSA)
float OEGet2dPSA(OEMolBase mol)
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
OEFloatArray atomPSA = new OEFloatArray(mol.GetMaxAtomIdx());
float psa = oemolprop.OEGet2dPSA(mol, atomPSA);
System.out.println("PSA = " + psa);
for (OEAtomBase atom : mol.GetAtoms()) {
int idx = atom.GetIdx();
System.out.println(idx + " " + atomPSA.getItem(idx));
}
(Darker colors and longer spikes indicate larger PSA atom contributions)
(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