public class MurckoFragmenter extends Object implements IFragmenter
IFragmenter
this class will return
the Murcko frameworks (i.e., ring systems + linkers) along with
the ring systems ia getFragments. The
class also provides methods to extract the ring systems and frameworks
separately. For all these methods, the user can retrieve the substructures
as canonical SMILES strings or as IAtomContainer
objects.
Note that in contrast to the original paper which implies that a single molecule
has a single framework, this class returns multiple frameworks consisting of all
combinations of ring systems and linkers. The "true" Murcko framework is simply
the largest framework.ExhaustiveFragmenter
Constructor and Description |
---|
MurckoFragmenter()
Instantiate Murcko fragmenter.
|
MurckoFragmenter(boolean singleFrameworkOnly,
int minimumFragmentSize)
Instantiate Murcko fragmenter.
|
MurckoFragmenter(boolean singleFrameworkOnly,
int minimumFragmentSize,
MoleculeHashGenerator generator)
Instantiate Murcko fragmenter.
|
Modifier and Type | Method and Description |
---|---|
void |
generateFragments(IAtomContainer atomContainer)
Perform the fragmentation procedure.
|
String[] |
getFragments()
This returns the frameworks and ring systems from a Murcko fragmentation.
|
IAtomContainer[] |
getFragmentsAsContainers()
Get all frameworks and ring systems as
IAtomContainer objects. |
String[] |
getFrameworks()
Get frameworks as SMILES strings.
|
IAtomContainer[] |
getFrameworksAsContainers()
Get frameworks as
IAtomContainer as objects. |
String[] |
getRingSystems()
Get the ring system fragments as SMILES strings.
|
IAtomContainer[] |
getRingSystemsAsContainers()
Get rings systems as
IAtomContainer objects. |
static IAtomContainer |
scaffold(IAtomContainer mol)
Computes the Murcko Scaffold for the provided molecule in linear time.
|
void |
setComputeRingFragments(boolean val)
Sets whether to calculate ring fragments (true by default).
|
public MurckoFragmenter()
public MurckoFragmenter(boolean singleFrameworkOnly, int minimumFragmentSize)
singleFrameworkOnly
- if true
, only the true Murcko framework is generated.minimumFragmentSize
- the smallest size of fragment to considerpublic MurckoFragmenter(boolean singleFrameworkOnly, int minimumFragmentSize, MoleculeHashGenerator generator)
singleFrameworkOnly
- if true
, only the true Murcko framework is generated.minimumFragmentSize
- the smallest size of fragment to considergenerator
- An instance of a MoleculeHashGenerator
to be used to check for
duplicate fragmentspublic void setComputeRingFragments(boolean val)
val
- true/falsepublic void generateFragments(IAtomContainer atomContainer) throws CDKException
generateFragments
in interface IFragmenter
atomContainer
- The input moleculeCDKException
public static IAtomContainer scaffold(IAtomContainer mol)
mol
- the moleculepublic String[] getFragments()
getFragments
in interface IFragmenter
getRingSystems()
,
getRingSystemsAsContainers()
,
getFrameworks()
,
getFrameworksAsContainers()
public IAtomContainer[] getFragmentsAsContainers()
IAtomContainer
objects.getFragmentsAsContainers
in interface IFragmenter
public String[] getRingSystems()
public IAtomContainer[] getRingSystemsAsContainers()
IAtomContainer
objects.public String[] getFrameworks()
public IAtomContainer[] getFrameworksAsContainers()
IAtomContainer
as objects.Copyright © 2021. All rights reserved.