fmcs: Flexible MCS (FMCS) Finder

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/fmcs.R

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

1
2
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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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")

Example output

Loading required package: ChemmineR
          Query_Size          Target_Size             MCS_Size 
          33.0000000           26.0000000           14.0000000 
Tanimoto_Coefficient  Overlap_Coefficient 
           0.3111111            0.5384615 
          Query_Size          Target_Size             MCS_Size 
          33.0000000           26.0000000           14.0000000 
Tanimoto_Coefficient  Overlap_Coefficient 
           0.3111111            0.5384615 
$query
An instance of "SDFset" with 1 molecules

$mcs1
$mcs1$CMP1_fmcs_1
 [1]  7 11 12 16 17  8 18 22 21 14 26 25 15 23

$mcs1$CMP1_fmcs_2
 [1]  7 11 12 16 17  8 18 21 22 14 23 25 15 26

$mcs1$CMP1_fmcs_3
 [1]  7 11 13 16 17  8 18 22 21 15 26 25 14 23

$mcs1$CMP1_fmcs_4
 [1]  7 11 13 16 17  8 18 21 22 15 23 25 14 26


$query
An instance of "SDFset" with 1 molecules

$mcs1
$mcs1$CMP1_fmcs_1
 [1]  7 11 12 16 17  8 18 22 21 14 26 25 15 23

$mcs1$CMP1_fmcs_2
 [1]  7 11 12 16 17  8 18 21 22 14 23 25 15 26

$mcs1$CMP1_fmcs_3
 [1]  7 11 13 16 17  8 18 22 21 15 26 25 14 23

$mcs1$CMP1_fmcs_4
 [1]  7 11 13 16 17  8 18 21 22 15 23 25 14 26


$target
An instance of "SDFset" with 1 molecules

$mcs2
$mcs2$CMP2_fmcs_1
 [1]  4 12  7  9 11 14 17 22 21 16 25 26 19 24

$mcs2$CMP2_fmcs_2
 [1]  4 12  7  9 11 14 17 22 21 16 25 26 19 24

$mcs2$CMP2_fmcs_3
 [1]  4 12  7  9 11 14 17 22 21 16 25 26 19 24

$mcs2$CMP2_fmcs_4
 [1]  4 12  7  9 11 14 17 22 21 16 25 26 19 24


$target
An instance of "SDFset" with 1 molecules

$mcs2
$mcs2$CMP2_fmcs_1
 [1]  4 12  7  9 11 14 17 22 21 16 25 26 19 24

$mcs2$CMP2_fmcs_2
 [1]  4 12  7  9 11 14 17 22 21 16 25 26 19 24

$mcs2$CMP2_fmcs_3
 [1]  4 12  7  9 11 14 17 22 21 16 25 26 19 24

$mcs2$CMP2_fmcs_4
 [1]  4 12  7  9 11 14 17 22 21 16 25 26 19 24

fmcsR documentation built on Nov. 8, 2020, 6:57 p.m.