Skip to content
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.

Commit

Permalink
Merge pull request #6 from cct-datascience/reports
Browse files Browse the repository at this point in the history
Final Report
  • Loading branch information
Aariq authored Jun 7, 2024
2 parents 581f043 + 0e9762b commit 28bcc0d
Show file tree
Hide file tree
Showing 5 changed files with 112 additions and 8 deletions.
10 changes: 2 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,12 @@
.Rhistory
.Rapp.history

# Example code in package build process
*-Ex.R

# RStudio files
.Rproj.user/

# produced vignettes
vignettes/*.html
vignettes/*.pdf
.Rproj.user

# File gen artefacts
*.html
*.pdf
*.docx
!report_volcalc_milestone2.pdf
!final_report.pdf
Binary file added final_report.pdf
Binary file not shown.
86 changes: 86 additions & 0 deletions final_report.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: "R Consortium Report"
subtitle: "volcalc: Calculate Volatility of Chemical Compounds"
date: today
author:
- name: Kristina Riemer
orcid: 0000-0003-3802-3331
affiliations:
- ref: cct
- name: Eric R. Scott
orcid: 0000-0002-7430-7879
affiliations:
- ref: cct
- name: Laura Meredith
orcid: 0000-0003-4244-4366
affiliations:
- ref: snre
- name: S. Marshall Ledford
affiliations:
- ref: snre

affiliations:
- id: cct
name: "Communications & Cyber Technologies, University of Arizona"
- id: snre
name: "School of Natural Resources and the Environment, University of Arizona"
format:
hikmah-pdf: default
# typst: default
# pdf: default
editor: visual
bibliography: references.bib
---

## Summary

This is the final report on the ISC-funded work on the `volcalc` package.
The GitHub repository for the current version of `volcacl` can be found at: <https://github.com/Meredith-Lab/volcalc>.
We have completed the proposed milestones 3 and 4 as well as a modified version of our proposed dissemination plan.

## Milestone 3

`volcalc` now includes two vignettes—one demonstrating downloading .mol files from KEGG, and another showing general usage for calculating estimated volatility.
A `pkgdown` website including these vignettes is available here: <https://meredith-lab.github.io/volcalc/>.
The code for `volcalc` has been archived on Zenodo [@riemer2023] and a methods paper has been published in *Frontiers in Microbiology* [@meredith2023].
We've submitted `volcalc` to CRAN and it was rejected due to issues that are unfortunately out of our hands—the "License" field in the DESCRIPTION file of a Bioconductor dependency was not CRAN compliant.
As of today, this issue appears to have been fixed, but now automated checks on Windows are failing because of [issues with the `RCurl` package](https://cran.r-project.org/web/checks/check_results_RCurl.html) and on macOS because of issues [building `ChemmineOB`](https://github.com/girke-lab/ChemmineOB/issues/35).
When these problems in dependencies are fixed, we may attempt another CRAN submission.
In the meantime, `volcalc` can be installed from GitHub or [r-universe](https://cct-datascience.r-universe.dev/volcalc).

## Milestone 4

We added functionality to supply chemical representations as SMILES strings in addition to paths to .mol files.
We have not (yet) added a vignette about integrating `webchem` and `volcalc` because few `webchem` functions provide results with SMILES strings.
`ChemmineOB` is able to translate from more commonly returned formats such as InChI, however that feature is not available on Windows, so we are questioning the value of adding this feature to `volcalc`.

## Other improvements

We also added some validation abilities to `volcalc` that are important due to the way `ChemmineOB` and `ChemmineR` interact with the command line program Open Babel.
When Open Babel encounters errors parsing a .mol file or SMILES string, error messages are displayed on the R console, but cannot be captured and acted on (see discussion in issue [#56](https://github.com/Meredith-Lab/volcalc/issues/56)).
The workaround we implemented was to include code to look for the "symptoms" of parsing errors—namely a missing value for `InChI` returned by `ChemmineR::propOB()`.
Unfortunately, this strategy doesn't work on Windows because InChI generation is not available on that OS.
We implemented this as a `validate` argument to `calc_vol()` and `get_fx_groups()` which defaults to `TRUE` and prints an warning when set to `TRUE` and run on Windows.

## Dissemination

In addition to the *Frontiers in Microbiology* publication, we have shared `volcalc` on social media (Mastodon), in blog posts, in the rOpenSci Slack group, and in talks.
The package authors have also reached out personally to researchers who may be interested in these calculations.

## Future opportunities

Besides continuing to try to get `volcalc` on CRAN, we have a few open issues that we see as potential improvements to `volcalc` that could be part of future work.
Because of various difficulties encountered with `ChemmineOB` and `ChemmineR`, we are considering dropping these Bioconductor dependencies and implementing interactions with Open Babel directly in `volcalc`.
This would potentially lead to a more stable and self-contained package, however it would be a substantial amount of work.
Similarly, we may consider dropping the `KEGGREST` dependency as it is only used for one function to access the KEGG API, and we've already created other functions in `volcalc` that access different KEGG API endpoints.

In the original SIMPOL.1 method, equations are provided to calculate group contribution coefficients at any temperature [@pankowSIMPOLSimpleGroup2008].
As it is implemented currently in `volcalc`, however, volatility is only estimated at a fixed temperature of 20ºC.
Implementing a variable temperature would not be trivial, but would add a great deal of flexibility for estimating relative volatility at a range of environmental conditions.

We have opened GitHub issues for all of these future improvements and will consider pursuing additional funding for another round of `volcalc` development as the user base grows.

## References

::: refs
:::
24 changes: 24 additions & 0 deletions references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,27 @@ @article{meredith
author = {Meredith, L.K. and Riemer, K. and Geffre, P. and Honeker, L. and Krechmer, J. and Graves, K. and Tfaily, M. and Ledford, S.K.},
year = {\emph{in prep}}
}

@book{riemer2023,
title = {{volcalc}: Calculate Volatility of Chemical Compounds},
author = {Riemer, Kristina and Scott, Eric R. and Meredith, Laura K.},
year = {2023},
month = {12},
date = {2023-12-15},
publisher = {Zenodo},
doi = {10.5281/ZENODO.8015154},
url = {https://zenodo.org/doi/10.5281/zenodo.8015154}
}

@article{meredith2023,
title = {Automating methods for estimating metabolite volatility},
author = {Meredith, Laura K. and Ledford, S. Marshall and Riemer, Kristina and Geffre, Parker and Graves, Kelsey and Honeker, Linnea K. and LeBauer, David and Tfaily, Malak M. and Krechmer, Jordan},
year = {2023},
month = {12},
date = {2023-12-14},
journal = {Frontiers in Microbiology},
volume = {14},
doi = {10.3389/fmicb.2023.1267234},
url = {http://dx.doi.org/10.3389/fmicb.2023.1267234}
}

Binary file added report_volcalc_milestone2.pdf
Binary file not shown.

0 comments on commit 28bcc0d

Please sign in to comment.