bool OESplitMolComplex(OEChem::OEMolBase &lig, OEChem::OEMolBase &prot, OEChem::OEMolBase &waters, OEChem::OEMolBase &other, const OEChem::OEMolBase &mol, const OESplitMolComplexOptions &opt=OESplitMolComplexOptions())
Separates components of the input
mol into the four
output OEMolBase categories
representing basic elements of a macro-molecular complex.
The process is controlled by
an optional OESplitMolComplexOptions object.
Other contains everything that is not in
all of which are defined by OEMolComplexFilter objects
waters return components associated
with the first binding site.
The filters can be changed so that
return other types of components; for example, the filters could be set so that
both the protein and any waters are placed in
prot, and any cofactors are
Any molecules returned have been given titles.
Protein chains are given a shortened version of the input title
combined with the chain ID. Small molecule titles are
residue names. Molecules with more than one residue are combined
- if they are covalently attached, and a
. if not.
Residue names are not repeated. So, a single two residue
molecule combined with any number of waters might have
Output molecules may have SD Tags to indicate they include
a covalent ligand.
false if the task could not be performed
(for example, if
mol is empty). To check if a ligand was found,
check the number of atoms in
The input molecule should contain PDB
such as residue name, which is used during the
classification process, either from a PDB format file or
Molecular complexes read from files in formats that lack this
information (for example SDF) may be split inappropriately unless
residues are perceived after input.