Chemical Data Processing Library C++ API - Version 1.4.0
Public Types | Public Member Functions | List of all members
CDPL::Chem::BemisMurckoAnalyzer Class Reference

Decomposes a molecular graph into its Bemis-Murcko framework, ring systems, linkers and side chains. More...

#include <BemisMurckoAnalyzer.hpp>

Public Types

typedef std::shared_ptr< BemisMurckoAnalyzerSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated BemisMurckoAnalyzer instances. More...
 

Public Member Functions

 BemisMurckoAnalyzer ()
 Constructs the BemisMurckoAnalyzer instance. More...
 
void stripHydrogens (bool strip)
 Specifies whether hydrogen atoms shall be stripped from the input before the decomposition. More...
 
bool hydrogensStripped () const
 Tells whether hydrogen atoms are stripped from the input before the decomposition. More...
 
void analyze (const MolecularGraph &molgraph)
 Performs the Bemis-Murcko decomposition of the molecular graph molgraph. More...
 
const FragmentListgetRingSystems () const
 Returns the perceived ring systems of the input molecular graph. More...
 
const FragmentListgetSideChains () const
 Returns the side chains (acyclic substituents) of the input molecular graph. More...
 
const FragmentListgetLinkers () const
 Returns the linker fragments connecting different ring systems of the input molecular graph. More...
 
const FragmentListgetFrameworks () const
 Returns the Bemis-Murcko frameworks of the input molecular graph (union of ring systems and linkers). More...
 

Detailed Description

Decomposes a molecular graph into its Bemis-Murcko framework, ring systems, linkers and side chains.

After calling analyze() the four constituent fragment sets can be queried separately via getRingSystems(), getLinkers(), getFrameworks() and getSideChains(). The framework of a molecule is the union of all ring systems together with the linker chains that connect them; side chains are the remaining acyclic substituents. Hydrogen atoms can optionally be stripped from the input.

See also
[BEMU]
Since
1.1

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated BemisMurckoAnalyzer instances.

Constructor & Destructor Documentation

◆ BemisMurckoAnalyzer()

CDPL::Chem::BemisMurckoAnalyzer::BemisMurckoAnalyzer ( )

Constructs the BemisMurckoAnalyzer instance.

Member Function Documentation

◆ stripHydrogens()

void CDPL::Chem::BemisMurckoAnalyzer::stripHydrogens ( bool  strip)

Specifies whether hydrogen atoms shall be stripped from the input before the decomposition.

Parameters
stripIf true, hydrogens are removed prior to analysis.

◆ hydrogensStripped()

bool CDPL::Chem::BemisMurckoAnalyzer::hydrogensStripped ( ) const

Tells whether hydrogen atoms are stripped from the input before the decomposition.

Returns
true if hydrogens are stripped, and false otherwise.

◆ analyze()

void CDPL::Chem::BemisMurckoAnalyzer::analyze ( const MolecularGraph molgraph)

Performs the Bemis-Murcko decomposition of the molecular graph molgraph.

After this call the four fragment sets produced by the decomposition are available via getRingSystems(), getLinkers(), getFrameworks() and getSideChains().

Parameters
molgraphThe molecular graph to decompose.

◆ getRingSystems()

const FragmentList& CDPL::Chem::BemisMurckoAnalyzer::getRingSystems ( ) const

Returns the perceived ring systems of the input molecular graph.

Returns
A const reference to the list of ring-system fragments.

◆ getSideChains()

const FragmentList& CDPL::Chem::BemisMurckoAnalyzer::getSideChains ( ) const

Returns the side chains (acyclic substituents) of the input molecular graph.

Returns
A const reference to the list of side-chain fragments.

◆ getLinkers()

const FragmentList& CDPL::Chem::BemisMurckoAnalyzer::getLinkers ( ) const

Returns the linker fragments connecting different ring systems of the input molecular graph.

Returns
A const reference to the list of linker fragments.

◆ getFrameworks()

const FragmentList& CDPL::Chem::BemisMurckoAnalyzer::getFrameworks ( ) const

Returns the Bemis-Murcko frameworks of the input molecular graph (union of ring systems and linkers).

Returns
A const reference to the list of framework fragments.

The documentation for this class was generated from the following file: