The following functions generate fully-functional molecule from a subset of another molecule. The following subset methods are available:

OESubsetMolΒΆ

Match-based selection

bool OESubsetMol(OEMolBase &dst, const OEMatchBase *match,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)

bool OESubsetMol(OEMCMolBase &dst, const OEMCMolBase &src,
                 const OEMatchBase *match,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)
dst
The destination subset molecule generated from the source molecule. The source molecule may be multi-conformer, in which case a multi-conformational subset molecule is produced.
src
The source molecule.
match
The container that stores the selected atoms that will be in the generated subset molecule. By default, bonds between the selected atoms are carried along. If no source molecule is specified then the pattern molecule of the OEMatchBase defines the source molecule.
RGroup
Flag that indicates whether “R groups” are to be added when covalent bonds are broken by the selection.
adjustHCount
Flag that indicates whether the implicit hydrogen count is to be adjusted when covalent bonds are broken by the selection in order to preserve the original hybridization.
atomMap, bondMap
A mapping between the atoms or / and bonds of the source and destination molecule can be obtained by passing in the atomMap and bondMap arrays respectively. These arrays should be large enough to hold all the atoms / bonds for the source molecule, i.e., the size of OEMolBase::GetMaxAtomIdx and OEMolBase::GetMaxBondIdx, respectively. The atoms or bonds in the array are those from the destination molecule placed at the source molecule’s atom / bond index location in the array.

Atom predicate-based selection

bool OESubsetMol(OEMolBase &dst, const OEMolBase &src,
                 const OESystem::OEUnaryPredicate<OEAtomBase> &atomfcn,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)
bool OESubsetMol(OEMCMolBase &dst, const OEMCMolBase &src,
                 const OESystem::OEUnaryPredicate<OEAtomBase> &atomfcn,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)
bool OESubsetMol(OEQMolBase &dst, const OEQMolBase &src,
                 const OESystem::OEUnaryPredicate<OEAtomBase> &atomfcn,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)
dst
The destination subset molecule generated from the source molecule. The source molecule may be multi-conformer, in which case a multi-conformational subset molecule is produced.
src
The source molecule.
atomfcn
The atom predicate that defines the subset of atoms that are carried over to the destination molecule. By default, bonds between the selected atoms are carried along.
RGroup
Flag that indicates whether “R groups” are to be added when covalent bonds are broken by the selection.
adjustHCount
Flag that indicates whether the implicit hydrogen count is to be adjusted when covalent bonds are broken by the selection in order to preserve the original hybridization.
atomMap, bondMap
A mapping between the atoms or / and bonds of the source and destination molecule can be obtained by passing in the atomMap and bondMap arrays respectively. These arrays should be large enough to hold all the atoms / bonds for the source molecule, i.e., the size of OEMolBase::GetMaxAtomIdx and OEMolBase::GetMaxBondIdx, respectively. The atoms or bonds in the array are those from the destination molecule placed at the source molecule’s atom / bond index location in the array.

Atom and bond predicate-based selection

bool OESubsetMol(OEMolBase &dst, const OEMolBase &src,
                 const OESystem::OEUnaryPredicate<OEAtomBase> &atomfcn,
                 const OESystem::OEUnaryPredicate<OEBondBase> &bondfcn,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)

bool OESubsetMol(OEMCMolBase &dst, const OEMCMolBase &src,
                 const OESystem::OEUnaryPredicate<OEAtomBase> &atomfcn,
                 const OESystem::OEUnaryPredicate<OEBondBase> &bondfcn,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)

bool OESubsetMol(OEQMolBase &dst, const OEQMolBase &src,
                 const OESystem::OEUnaryPredicate<OEAtomBase> &atomfcn,
                 const OESystem::OEUnaryPredicate<OEBondBase> &bondfcn,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)
dst
The destination subset molecule generated from the source molecule. The source molecule may be multi-conformer, in which case a multi-conformational subset molecule is produced.
src
The source molecule.
atomfcn
The atom predicate that defines the subset of atoms that are carried over to the destination molecule.
bondfcn
The atom predicate that defines the subset of bonds that are carried over to the destination molecule.
RGroup
Flag that indicates whether “R groups” are to be added when covalent bonds are broken by the selection.
adjustHCount
Flag that indicates whether the implicit hydrogen count is to be adjusted when covalent bonds are broken by the selection in order to preserve the original hybridization.
atomMap, bondMap
A mapping between the atoms or / and bonds of the source and destination molecule can be obtained by passing in the atomMap and bondMap arrays respectively. These arrays should be large enough to hold all the atoms / bonds for the source molecule, i.e., the size of OEMolBase::GetMaxAtomIdx and OEMolBase::GetMaxBondIdx, respectively. The atoms or bonds in the array are those from the destination molecule placed at the source molecule’s atom / bond index location in the array.

Atom and bond set-based selection

bool OESubsetMol(OEMolBase &dst,
                 const OEAtomBondSet &abset,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)
bool OESubsetMol(OEMolBase &dst, const OEMolBase &src,
                 const OEAtomBondSet &abset,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)
bool OESubsetMol(OEMCMolBase &dst, const OEMCMolBase &src,
                 const OEAtomBondSet &abset,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)
bool OESubsetMol(OEQMolBase &dst, const OEQMolBase &src,
                 const OEAtomBondSet &abset,
                 bool adjustHCount=false, bool RGroup=false,
                 OEAtomBase **atomMap=0, OEBondBase **bondMap=0)
dst
The destination subset molecule generated from the source molecule. The source molecule may be multi-conformer, in which case a multi-conformational subset molecule is produced.
src
The source molecule.
abset
The container that stores the selected atoms that will be in the generated subset molecule. By default, bonds between the selected atoms are carried along. If no source molecule is specified then OEAtomBondSet defines the source molecule.
RGroup
Flag that indicates whether “R groups” are to be added when covalent bonds are broken by the selection.
adjustHCount
Flag that indicates whether the implicit hydrogen count is to be adjusted when covalent bonds are broken by the selection in order to preserve the original hybridization.
atomMap, bondMap
A mapping between the atoms or / and bonds of the source and destination molecule can be obtained by passing in the atomMap and bondMap arrays respectively. These arrays should be large enough to hold all the atoms / bonds for the source molecule, i.e., the size of OEMolBase::GetMaxAtomIdx and OEMolBase::GetMaxBondIdx, respectively. The atoms or bonds in the array are those from the destination molecule placed at the source molecule’s atom / bond index location in the array.

See also