Molecule Fragmentation Methods

Description

A variety of methods for fragmenting molecules are available ranging from exhaustive, rings to more specific methods such as Murcko frameworks. Fragmenting a collection of molecules can be a useful for a variety of analyses. In addition fragment based analysis can be a useful and faster alternative to traditional clustering of the whole collection, especially when it is large.

Note that exhaustive fragmentation of large molecules (with many single bonds) can become time consuming.

Usage

1
2
get.murcko.fragments(mols, min.frag.size = 6, as.smiles = TRUE, single.framework = FALSE)
get.exhaustive.fragments(mols, min.frag.size = 6, as.smiles = TRUE)

Arguments

mols

A molecule object or list of molecule objects. Each object should have a jclass of IAtomContainer

min.frag.size

The size of the smallest fragments to be considered

as.smiles

If TRUE, the fragments are returned as SMILES strings, otherwise as IAtomContainer objects

single.framework

If TRUE, then a single framework (i.e., the framework consisting of the union of all ring systems and linkers) is returned for each molecule. Otherwise, all combinations of ring systems and linkers are returned

Value

get.murcko.fragments returns a list with each element being a list with two elements: rings and frameworks. Each of these elements is either a character vector of SMILES strings or a list of IAtomContainer objects. get.exhaustive.fragments returns a list of length equal to the number of input molecules. Each element is a character vector of SMILES strings or a list of IAtomContainer objects.

Author(s)

Rajarshi Guha (rajarshi.guha@gmail.com)

See Also

load.molecules, parse.smiles,

Examples

1
2
3
mol <- parse.smiles('c1ccc(cc1)CN(c2cc(ccc2[N+](=O)[O-])c3c(nc(nc3CC)N)N)C')[[1]]
mf1 <- get.murcko.fragments(mol, as.smiles=TRUE, single.framework=TRUE)
mf1 <- get.murcko.fragments(mol, as.smiles=TRUE, single.framework=FALSE)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.