OEGetMolComplexFragments¶
bool OEGetMolComplexFragments(std::vector<OEChem::OEAtomBondSet> &frags,
const OEChem::OEMolBase &mol,
const OESplitMolComplexOptions &opt=OESplitMolComplexOptions())
Analyze the input mol
and generate
a vector of OEAtomBondSets
that describe
each connected fragment according to its functional role.
The frags
vector can be used to
count
binding sites,
combine
fragments
into a molecule, or filter
fragments by role.
Using an OEAtomBondSet
vector and then
filtering several times to produce molecules can be much more efficient
compared to using the OESplitMolComplex
or
OEGetMolComplexComponents
functions.
To create an OEAtomBondSet
vector:
OEAtomBondSetVector frags = new OEAtomBondSetVector();
The process is controlled by an optional OESplitMolComplexOptions object.
Returns false
if the task could not be performed
(for example, if mol
is empty).
Warning
The input molecule should contain PDB
residue information
such as residue name, which is used during the
classification process, either from a PDB format file or
through residue perception
.
Molecular complexes read from files in formats that lack this
information (for example SDF) may be split inappropriately unless
residues are perceived after input.
See also
OEAtomBondSet class
OESplitMolComplexOptions class
OECombineMolComplexFragments
functionOEFilterMolComplexFragments
functionOECountMolComplexSites
functionOESplitMolComplex
function