diff --git a/EpiAware/README.md b/EpiAware/README.md index a67a12b8d..5acea661a 100644 --- a/EpiAware/README.md +++ b/EpiAware/README.md @@ -7,6 +7,14 @@ A `Julia` package for flexible and composable modeling and inference of the effective reproduction number (Rt) and other situational awareness signals in the presence of different latent generative processes and observation models. +## Installation instruction + +Eventually, `EpiAware` is likely to be added to the Julia registry. Until then, you can install it from the `/EpiAware` sub-directory of this repository by running the following command in the Julia REPL: + +```julia +using Pkg; Pkg.add(url="https://github.com/CDCgov/Rt-without-renewal", subdir="EpiAware") +``` + ## Model Diagram - Solid lines indicate implemented features/analysis. @@ -81,3 +89,37 @@ H-.->I ## Pluto scripts We use [`Pluto.jl`](https://plutojl.org/) scripts as part of our documentation and testing. The scripts are located in `docs/src/examples` and can be run using the `Pluto.jl` package. We recommend using the version of `Pluto` that is pinned in the `Project.toml` file defining the documentation environment. An entry point to running or developing this documentation is the `docs/pluto-scripts.sh` bash shell script. Run this from the root directory of this repository. + +## Useful Julia packages for global environment (optional and opinionated) +In our view these packages are useful for a global environment available to other environments (e.g. add to the `@v1.10` environment), but are not required for the `EpiAware` package to work. + +- `Revise`: For modifying package code and using the changes without restarting Julia session. +- `Term`: For pretty and stylized REPL output (including error messages). +- `JuliaFormatter`: For code formatting. +- `Documenter`: For local documentation generation (useful for testing). +- `Pluto`: For interactive development and testing. +- `TestEnv`: For test development. + +### `startup.jl` recommendation + +We recommend adding a `startup.jl` file to import `Revise` and `Term` at the start of any Julia session. This file should be located in the `~/.julia/config` directory. Here is an example of a `startup.jl` file that loads the `Revise` and `Term`: + +```julia +atreplinit() do repl + # Load Revise if it is installed + try + @eval using Revise + catch e + @warn "error while importing Revise" e + end + # Load Term if it is installed + try + @eval using Term + @eval install_term_repr() + @eval install_term_stacktrace() + catch e + @warn "error while importing Term" e + end +end + +``` diff --git a/README.md b/README.md index d29c9c090..669843aed 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ To evaluate the role of the latent generative process in the estimation of the e In `pipeline`, we will use `EpiAware` to explore whether the inclusion of a renewal process in the latent generative process improves the estimation of Rt and other situational awareness signals. This exploration is then written as a manuscript for publication (see `manuscript` for work supporting this). +To install `EpiAware`, see installation instructions in the `EpiAware` directory [`README`](EpiAware/README.md). + ## Project Admin Name, Degrees, e-mail, CDC org (e.g., CDC/IOD/ORR/CFA)