Estimate relative volatility index value and category for specified compounds using group contribution methods.
Arguments
- input
A path to a .mol file or a SMILES string.
- from
The form of
input
. Either"mol_path"
(default) or"smiles"
.- method
The method for calculating estimated volatility. See
simpol1()
for more details.- environment
The environment for calculating relative volatility categories. RVI thresholds for low, moderate, and high volatility are as follows:
"clean"
(clean atmosphere, default) -2, 0, 2;"polluted"
(polluted atmosphere) 0, 2, 4;"soil"
4, 6, 8. For more information about these thresholds see Meredith et al. (2023) and Donahue et al. (2006).- 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 ofget_fx_groups()
for more information.- return_fx_groups
When
TRUE
, the returned tibble includes functional group counts.- return_calc_steps
When
TRUE
, the returned tibble includes intermediate volatility calculations. See Details.
Details
\(\textrm{log}_{10}C^\ast\) is used for the calculated relative
volatility index (rvi
). \(\textrm{log}_{10}C^\ast =
\textrm{log}_{10}(PM/RT)\) where \(P\) is the estimated vapor pressure for
the compound, \(M\) is molecular mass of the compound, \(R\) is the
universal gas constant, and \(T\) is temperature (293.14K or 20ºC). When
return_calc_steps = TRUE
, the log of estimated vapor pressure, log10_P
,
and \(\textrm{log}_{10}(M/RT)\), log_alpha
, are also returned.
References
Donahue, N.M., Robinson, A.L., Stanier, C.O., Pandis, S.N., 2006. Coupled Partitioning, Dilution, and Chemical Aging of Semivolatile Organics. Environ. Sci. Technol. 40, 2635–2643. doi:10.1021/es052297c
Meredith L, Ledford S, Riemer K, Geffre P, Graves K, Honeker L, LeBauer D, Tfaily M, Krechmer J. 2023. Automating methods for estimating metabolite volatility. Frontiers in Microbiology. doi:10.3389/fmicb.2023.1267234
Examples
# \donttest{
mol_paths <- mol_example()
calc_vol(mol_paths)
#> Warning: Possible OpenBabel errors detected and only NAs returned.
#> Run with `validate = FALSE` to ignore this.
#> # A tibble: 6 × 5
#> mol_path formula name rvi category
#> <chr> <chr> <chr> <dbl> <fct>
#> 1 /home/runner/work/_temp/Library/volcalc/extdata/… C6H12O6 D-Gl… -2.81 non-vol…
#> 2 /home/runner/work/_temp/Library/volcalc/extdata/… NA Phos… NA NA
#> 3 /home/runner/work/_temp/Library/volcalc/extdata/… C12H18… (-)-… 1.84 moderate
#> 4 /home/runner/work/_temp/Library/volcalc/extdata/… C6H7Cl… beta… 6.98 high
#> 5 /home/runner/work/_temp/Library/volcalc/extdata/… C12H22O Geos… 4.16 high
#> 6 /home/runner/work/_temp/Library/volcalc/extdata/… C5H8 Isop… 8.84 high
# Return functional group counts from get_fx_groups()
calc_vol(mol_paths, return_fx_groups = TRUE)
#> Warning: Possible OpenBabel errors detected and only NAs returned.
#> Run with `validate = FALSE` to ignore this.
#> # A tibble: 6 × 53
#> mol_path formula name rvi category exact_mass carbons carbons_asa
#> <chr> <chr> <chr> <dbl> <fct> <dbl> <int> <int>
#> 1 /home/runner/work… C6H12O6 D-Gl… -2.81 non-vol… 180. 6 0
#> 2 /home/runner/work… NA Phos… NA NA NA 0 0
#> 3 /home/runner/work… C12H18… (-)-… 1.84 moderate 210. 12 0
#> 4 /home/runner/work… C6H7Cl… beta… 6.98 high 270. 6 0
#> 5 /home/runner/work… C12H22O Geos… 4.16 high 182. 12 0
#> 6 /home/runner/work… C5H8 Isop… 8.84 high 68.1 5 0
#> # ℹ 45 more variables: rings_aromatic <int>, 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>, …
# Return intermediate calculations
calc_vol(mol_paths, return_calc_steps = TRUE)
#> Warning: Possible OpenBabel errors detected and only NAs returned.
#> Run with `validate = FALSE` to ignore this.
#> # A tibble: 6 × 8
#> mol_path formula name rvi category molecular_weight log_alpha log10_P
#> <chr> <chr> <chr> <dbl> <fct> <dbl> <dbl> <dbl>
#> 1 /home/runner/… C6H12O6 D-Gl… -2.81 non-vol… 180. 9.87 -12.7
#> 2 /home/runner/… NA Phos… NA NA NA NA 1.79
#> 3 /home/runner/… C12H18… (-)-… 1.84 moderate 210. 9.94 -8.10
#> 4 /home/runner/… C6H7Cl… beta… 6.98 high 272. 10.1 -3.08
#> 5 /home/runner/… C12H22O Geos… 4.16 high 182. 9.88 -5.72
#> 6 /home/runner/… C5H8 Isop… 8.84 high 68.1 9.45 -0.61
# }