fmcs {fmcsR} | R Documentation

## Flexible MCS (FMCS) Finder

### Description

R function to call the C++ implementation of the flexible common substructure (FMCS) algorithm. The FMCS algorithm provides an improved maximum common substructure (MCS) search method that allows atom and/or bond mismatches in the substructures shared among two small molecules. The resulting flexible MCSs (FMCSs) are often larger than strict MCSs, resulting in the identification of more common features in their source structures, as well as a higher sensitivity in detecting weak similarities among compounds.

### Usage

    fmcs(sdf1, sdf2, al = 0, au = 0, bl = 0, bu = 0, matching.mode =
    	  "static", fast = FALSE, timeout=60000)

### Arguments

`sdf1` | Input query `SDF` object or `SDFset` object with a single molecule.
`sdf2` | Input target `SDF` object `SDFset` object with a single molecul.
`al` | Lower bound for the number of atom mismatches.
`au` | Upper bound for the number of atom mismatches.
`bl` | Lower bound for the number of bond mismatches.
`bu` | Upper bound for the number of bond mismatches.
`matching.mode` | Three modes for bond matching are supported: "static", "aromatic", and "ring".
`fast` | If `fast` is set to `TURE`, then the fast computing mode will be turned on. In this case, the algorithm will only return the size information about the source structures and their MCSs, while omitting all structural information.
`timeout` | The maximum amount of time to spend searching, in milliseconds. A value of 0 indicates no timeout.

### Details

...

### Value

Returns object of class `MCS`

### Author(s)

Yan Wang, Thomas Girke

### References

Publication in preparation.

### See Also

`plotMCS`, `fmcsBatch`, `?"MCS-class"`

### Examples

    library(fmcsR)
    data(sdfsample)
    sdfset <- sdfsample
    mcs1 <- fmcs(sdfset[[1]], sdfset[[2]])
    mcsfast <- fmcs(sdfset[[1]], sdfset[[2]], fast=TRUE)
    mcs2 <- fmcs(sdfset[[1]], sdfset[[2]], au=3)
    mcs3 <- fmcs(sdfset[[1]], sdfset[[2]], bu=3)
    mcs4 <- fmcs(sdfset[[1]], sdfset[[2]], au=1, bu=1)
    mcs5 <- fmcs(sdfset[[1]], sdfset[[2]], matching.mode="aromatic")
    mcs6 <- fmcs(sdfset[[1]], sdfset[[2]], au=2, bu=1, matching.mode="aromatic")

    ## Plot MCS objects
    plotMCS(mcs6)

    ## Methods to return components of MCS objects
    stats(mcs6)
    mcs6[["stats"]]
    mcs1(mcs6)
    mcs6[["mcs1"]]
    mcs2(mcs6)
    mcs6[["mcs2"]]

    ## Constructor method from list
    mylist <- list(stats=stats(mcs6), mcs1=mcs1(mcs6), mcs2=mcs2(mcs6))
    mymcs <- as(mylist, "MCS")

[Package fmcsR version 1.36.0 Index]