Managing packages and dependencies
When developing an analysis module, you will generally need to install packages and/or software tools. These are known as your module-specific dependencies, i.e., the collection of software languages, packages, or libraries required for your analysis to run.
OpenScPCA project contributors should use package management tools to track and manage module-specific dependencies, as well as pin those dependency versions to ensure long-term reproducibility:
- Use the R package manager
renv
to manage and add new R package dependencies. - Use conda to manage and add new Python package dependencies, as well as standalone software tools.
When you create a module with create-analysis-module.py
, you can use one (or more!) of several flags to establish your module with an initialized renv
and/or conda software environment, depending on your needs.
As you develop your module, you'll also need to add documentation about how to activate your module's software environment.