The Health Analytics Data-to-Evidence Suite (HADES) is a collection of open source R packages developed by OHDSI and used in pretty much every OHDSI study. Because they are R packages, they are part of the R ecosystem. A new version of R is released roughly every six months, and the CRAN library of R packages is continuously updated to run on the latest version of R. HADES has up to now followed this practice, meaning that HADES would always run on the latest version of R with the latest version of packages in CRAN.
However, this approach has been showing problems; For better reproducibility (and stability), we’ve started requiring specific versions of dependencies, through the renv package. But some of the (slightly) older versions of packages we’re using don’t work on newer versions of R. These packages have since been fixed in CRAN, but not the version we specified in our R lock files. For this reason, it is for example not possible to use any of the study packages generated by ATLAS (or Hydra, which is used by ATLAS) on R 4.3.0.
To provide a more stable execution environment, we’ve therefore selected a specific R version we’ll target for HADES. For the foreseeable future, HADES will run on R 4.2.3. We therefore encourage everyone to start using R 4.2.3.
This does mean we’ll need to rely more and more on renv, since the packages in CRAN will at some point be updated to versions that no longer run on R 4.2.3. We’re looking into alternatives to CRAN where package versions binaries are archived (unlike CRAN), to make it easier to install the packages that still run on R 4.2.3. We’ll also need to update our HADES continuous integration infrastructure to make sure we test our packages on R 4.2.3, instead of the latest version of R.
We’ll revisit the R version to target every six months, to coincide with a new HADES-wide release (April 1st and October 1st). The current release, captured in this renv lock file, works on R 4.2.3.
Should resolve binary fetching by falling back to a nexus repository, with additional configuration (shown here) to point to a Nexus URL. This Nexus URL can proxy to CRAN so that you can automatically fetch available resources from cran, and it will fall back to the Nexus repo if a prior version is requested.
I am running a PLE package generated by Atlas (current version, 2.14.1) and the renv.lock it generates is giving me problems with the latest R (4.4.1), which is all I have access to in my current environment.
I notice the renv.lock for the generated package is pretty old compared with what you have posted for the latest HADES release (renv.lock).
Are these going to be synced up? If not, can you recommend steps to get the Atlas generated packages running in a 4.4.1 environment?
Apologies for the issues with the old-school skeleton packages that Atlas exports. The issue is skeleton package maintainers (we don’t have maintainers for those) and CRAN / R environment has moved on in a way that since the 4.x of R it seems libraries have been moved that the skeleton no longer runs.
In 3.x, we’re dropping the skeletons in favor of Strategus executions (after we re-align Atlas to provide efficient phenotype evaluation functions).
For now, if you have access to Docker or somem type of container environment, you could set it up with old-school R 3.6 with dependencies that have been snapshoted from some time in history (unfortunately I don’t have specific guidance on this) but the solution is to create a runtime environment that reflects the point in time when the skeletons worked and run it under that context.