BCUT – Eigenvalue Based Descriptor
Value
A data frame, each row represents one of the molecules, each column represents one feature. This function returns 6 columns:
BCUTw-1l, BCUTw-2l ...
- n high lowest atom weighted BCUTSBCUTw-1h, BCUTw-2h ...
- n low highest atom weighted BCUTSBCUTc-1l, BCUTc-2l ...
- n high lowest partial charge weighted BCUTSBCUTc-1h, BCUTc-2h ...
- n low highest partial charge weighted BCUTSBCUTp-1l, BCUTp-2l ...
- n high lowest polarizability weighted BCUTSBCUTp-1h, BCUTp-2h ...
- n low highest polarizability weighted BCUTS
Details
Eigenvalue based descriptor noted for its utility in chemical diversity. Described by Pearlman et al. The descriptor is based on a weighted version of the Burden matrix which takes into account both the connectivity as well as atomic properties of a molecule. The weights are a variety of atom properties placed along the diagonal of the Burden matrix. Currently three weighting schemes are employed:
Atomic Weight
Partial Charge (Gasteiger Marsilli)
Polarizability (Kang et al.)
Note
By default, the descriptor will return the highest and lowest eigenvalues for the three classes of descriptor in a single ArrayList (in the order shown above). However it is also possible to supply a parameter list indicating how many of the highest and lowest eigenvalues (for each class of descriptor) are required. The descriptor works with the hydrogen depleted molecule.
A side effect of specifying the number of highest and lowest eigenvalues is that it is possible to get two copies of all the eigenvalues. That is, if a molecule has 5 heavy atoms, then specifying the 5 highest eigenvalues returns all of them, and specifying the 5 lowest eigenvalues returns all of them, resulting in two copies of all the eigenvalues.
Note that it is possible to specify an arbitrarily large number of
eigenvalues to be returned. However if the number (i.e., nhigh or nlow)
is larger than the number of heavy atoms, the remaining eignevalues
will be NaN
.
Given the above description, if the aim is to gt all the eigenvalues for a molecule, you should set nlow to 0 and specify the number of heavy atoms (or some large number) for nhigh (or vice versa).
References
Pearlman, R.S. and Smith, K.M., Metric Validation and the Receptor-Relevant Subspace Concept, J. Chem. Inf. Comput. Sci., 1999, 39:28-35.
Burden, F.R., Molecular identification number for substructure searches, J. Chem. Inf. Comput. Sci., 1989, 29:225-227.
Burden, F.R., Chemically Intuitive Molecular Index, Quant. Struct. -Act. Relat., 1997, 16:309-314
Kang, Y.K. and Jhon, M.S., Additivity of Atomic Static Polarizabilities and Dispersion Coefficients, Theoretica Chimica Acta, 1982, 61:41-48
Examples
smi = system.file('vignettedata/FDAMDD.smi', package = 'Rcpi')
# \donttest{
mol = readMolFromSmi(smi, type = 'mol')
#> Error in parseSmiles(smi): The package "rcdk" is required to parse SMILES
dat = extractDrugBCUT(mol)
#> Error in evaluateDescriptor(molecules, type = "BCUTDescriptor", silent = silent): The package "rcdk" is required to compute molecular descriptors
head(dat)# }
#> Error: object 'dat' not found