Skip to contents

Estimate relative volatility index value and category for specified compounds using group contribution methods.

Usage

calc_vol(
  input,
  from = c("mol_path", "smiles"),
  method = c("meredith", "simpol1"),
  environment = c("clean", "polluted", "soil"),
  validate = TRUE,
  return_fx_groups = FALSE,
  return_calc_steps = FALSE
)

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 and NAs are returned if possible errors are found. Setting to FALSE bypasses these checks—use at your own risk! Validation is not available on Windows. See Details of get_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.

Value

A tibble with relative volatility index (rvi) and volatility category (category).

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
# }