# OEMolBuilder¶

class OEMolBuilder : public OEBuilderBase


This class defines an interface for generating an initial 3D structure of a molecule, by connecting pre-generated fragment coordinates that constitute the molecule. Building the 3D structure of a molecule with this builder is fast when all the fragments constituting a molecule are available in the fraglib associated with the builder. This builder makes no effort to obtain a low energy conformer of the molecule.

The following methods are publicly inherited from OEBuilderBase:
The OEMolBuilder class defines the following public methods:

## Constructors¶

OEMolBuilder()
OEMolBuilder(const OEMolBuilderOptions&)
OEMolBuilder(const OEMolBuilder&)


Default and copy constructors.

## operator=¶

OEMolBuilder &operator=(const OEMolBuilder&)


Assignment operator.

## Build¶

unsigned Build(OEChem::OEMCMolBase&) const
unsigned Build(OEChem::OEMCMolBase&, const OEConfFixOptions&) const


Generates a 3D structure for a molecule. Returns OEOmegaReturnCode.Success if the process succeeds, otherwise returns an error code from the OEOmegaReturnCode namespace. The second argument provided with appropriate options can be used to fix part of a molecule structure to predefined coordinates.

## GetOptions¶

const OEMolBuilderOptions& GetOptions() const


See SetOptions method.

## Prep¶

unsigned Prep(OEChem::OEMCMolBase& mol) const


Prepares molecule for 3D structure generation. Returns OEOmegaReturnCode.Success if the process succeeds, otherwise returns an error code from the OEOmegaReturnCode namespace.

A call to the OEMolBuilder.Prep is not required before calling OEMolBuilder.Build, however is useful in determining if some of the pre-conditions are met for building.

## SetOptions¶

void SetOptions(const OEMolBuilderOptions&)


Sets options for building the molecule 3D-structures.