Class MurckoFragmenter

  • All Implemented Interfaces:
    IFragmenter

    public class MurckoFragmenter
    extends Object
    implements IFragmenter
    An implementation of the Murcko fragmenation method [Bemis, G.W. and Murcko, M.A. . Journal of Medicinal Chemistry. 1996. 39]. As an implementation of 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.
    Author:
    Rajarshi Guha
    See Also:
    ExhaustiveFragmenter
    Source code:
    main
    Belongs to CDK module:
    fragment
    Keywords:
    fragment, framework
    • Constructor Detail

      • MurckoFragmenter

        public MurckoFragmenter()
        Instantiate Murcko fragmenter. Considers fragments with 5 or more atoms and generates multiple frameworks if available.
      • MurckoFragmenter

        public MurckoFragmenter​(boolean singleFrameworkOnly,
                                int minimumFragmentSize)
        Instantiate Murcko fragmenter.
        Parameters:
        singleFrameworkOnly - if true, only the true Murcko framework is generated.
        minimumFragmentSize - the smallest size of fragment to consider
      • MurckoFragmenter

        public MurckoFragmenter​(boolean singleFrameworkOnly,
                                int minimumFragmentSize,
                                MoleculeHashGenerator generator)
        Instantiate Murcko fragmenter.
        Parameters:
        singleFrameworkOnly - if true, only the true Murcko framework is generated.
        minimumFragmentSize - the smallest size of fragment to consider
        generator - An instance of a MoleculeHashGenerator to be used to check for duplicate fragments
    • Method Detail

      • setComputeRingFragments

        public void setComputeRingFragments​(boolean val)
        Sets whether to calculate ring fragments (true by default).
        Parameters:
        val - true/false
      • scaffold

        public static IAtomContainer scaffold​(IAtomContainer mol)
        Computes the Murcko Scaffold for the provided molecule in linear time. Note the return value contains the same atoms/bonds as in the input and an additional clone and valence adjustments may be required.
        Parameters:
        mol - the molecule
        Returns:
        the atoms and bonds in the scaffold
      • getRingSystems

        public String[] getRingSystems()
        Get the ring system fragments as SMILES strings.
        Returns:
        a String[] of the fragments.
      • getRingSystemsAsContainers

        public IAtomContainer[] getRingSystemsAsContainers()
        Get rings systems as IAtomContainer objects.
        Returns:
        an array of ring systems.
      • getFrameworks

        public String[] getFrameworks()
        Get frameworks as SMILES strings.
        Returns:
        an array of SMILES strings
      • getFrameworksAsContainers

        public IAtomContainer[] getFrameworksAsContainers()
        Get frameworks as IAtomContainer as objects.
        Returns:
        an array of frameworks.