Returns functional group counts relevant to calculating estimated volatility
for specified compounds. Users will not typically interact with this function
directly, but rather by using calc_vol()
.
Arguments
- compound_sdf
a ChemmineR::SDFset object returned by
ChemmineR::read.SDFset()
orChemmineR::smiles2sdf()
, for example.- validate
logical; if
TRUE
(default), results are checked for possible errors in parsing by Open Babel andNA
s are returned if possible errors are found. Setting toFALSE
bypasses these checks—use at your own risk! Validation is not available on Windows. See Details for more information.
Details
It is unfortunately difficult to capture errors and warnings
produced by the command line tool OpenBabel used by ChemmineOB
, a
dependency of volcalc
. These errors and warnings are printed to the R
console, but they are not R errors and do not stop code from running and
producing potentially incorrect data. validate = TRUE
checks the output
of certain OpenBabel procedures for the symptoms of these errors, namely
missing values for InChI and molecular formula. Unfortunately, since InChI
generation is not available with the Windows version of ChemmineOB
, this
validation step cannot be performed on Windows and validate = TRUE
will
simply print a warning that can be silenced by setting validate = FALSE
.
Note
This function currently does not capture the carbon number on the acid-side of amide, one of the functional groups used in SIMPOL.1. Contributions of SMARTS strings or other methods to capture this "functional group" are welcome.
Examples
mol_path <- mol_example()[1]
sdf <- ChemmineR::read.SDFset(mol_path)
get_fx_groups(sdf)
#> # A tibble: 1 × 51
#> formula name exact_mass molecular_weight carbons carbons_asa rings_aromatic
#> <chr> <chr> <dbl> <dbl> <int> <int> <int>
#> 1 C6H12O6 D-Gluc… 180. 180. 6 NA 0
#> # ℹ 44 more variables: rings_total <int>, rings_aliphatic <int>,
#> # carbon_dbl_bonds_aliphatic <int>, CCCO_aliphatic_ring <int>,
#> # hydroxyl_total <int>, hydroxyl_aromatic <int>, hydroxyl_aliphatic <int>,
#> # aldehydes <int>, ketones <int>, carbox_acids <int>, ester <int>,
#> # ether_total <int>, ether_alkyl <int>, ether_alicyclic <int>,
#> # ether_aromatic <int>, nitrate <int>, nitro <int>, amine_primary <int>,
#> # amine_secondary <int>, amine_tertiary <int>, amine_aromatic <int>, …