|
1 | 1 | # Olink® PEA Analysis Workflow |
2 | 2 |
|
3 | | -**AnalyzeOlink** provides a configurable framework for analyzing Olink® Proximity Extension Assay (PEA) data, focusing on differential abundance testing and downstream validation. Supported statistical methods include Type III ANCOVA and linear mixed-effects models (via the `afex` package), t-tests and Wilcoxon tests (paired and unpaired), as well as Kruskal–Wallis and Friedman tests. |
4 | | - |
5 | | -The package includes nine R Markdown analysis reports that cover key workflow components: assumption checks for ANOVA and LMER models, leave-one-out sensitivity analyses for model terms and sample-level robustness, ELISA validation, non-parametric covariate effects, and NPX correlations with metadata variables. |
6 | | - |
7 | | -An annotations module integrates Human Protein Atlas (HPA) metadata, including tissue- and cell-type–specific expression profiles and Tau specificity scores. These annotations can be used to color downstream visualizations such as volcano plots and estimate-vs-estimate plots. |
8 | | - |
9 | | -Each phase of the analysis is implemented as an `.Rmd` report and can be coordinated by a [Snakemake](https://snakemake.readthedocs.io/en/stable/) pipeline. The central `.Rds` outputs are created by: |
| 3 | +**AnalyzeOlink** provides a configurable report-based framework for analyzing |
| 4 | +Olink® Proximity Extension Assay (PEA) data, focusing on differential abundance |
| 5 | +testing and downstream validation. Supported statistical methods include Type |
| 6 | +III ANCOVA and linear mixed-effects models (via the `afex` package), t-tests |
| 7 | +and Wilcoxon tests (paired and unpaired), as well as Kruskal–Wallis and |
| 8 | +Friedman tests. |
| 9 | + |
| 10 | +The package includes nine R Markdown analysis reports that cover key workflow |
| 11 | +components: assumption checks for ANOVA and LMER models, leave-one-out |
| 12 | +sensitivity analyses for model terms and sample-level robustness, ELISA |
| 13 | +validation, non-parametric covariate effects, and NPX correlations with |
| 14 | +metadata variables. |
| 15 | + |
| 16 | +An annotations module integrates Human Protein Atlas (HPA) metadata, including |
| 17 | +tissue- and cell-type–specific expression profiles and Tau specificity scores. |
| 18 | +These annotations can be used to color interactive downstream visualizations |
| 19 | +such as volcano plots and estimate-vs-estimate plots. |
| 20 | + |
| 21 | +Each phase of the analysis is implemented as an `.Rmd` report and can be |
| 22 | +coordinated by a [Snakemake](https://snakemake.readthedocs.io/en/stable/) |
| 23 | +pipeline. The central `.Rds` outputs are created by: |
10 | 24 |
|
11 | 25 | - `differential_expression.Rmd`: Outputs the PEA `.Rds` required by all `_pea.Rmd` scripts. |
12 | 26 | - `elisa.Rmd`: Outputs the ELISA `.Rds` required by all `_elisa.Rmd` scripts. |
@@ -36,41 +50,63 @@ Each phase of the analysis is implemented as an `.Rmd` report and can be coordin |
36 | 50 |
|
37 | 51 | ## Quickstart using Test Data on Linux |
38 | 52 |
|
39 | | -### 1. Create the Conda environment |
| 53 | +### 1. Clone the GitHub repository |
| 54 | + |
| 55 | +```bash |
| 56 | +git clone git@github.com:NICHD-BSPC/AnalyzeOlink.git |
| 57 | +``` |
| 58 | + |
| 59 | +### 2. Create the Conda environment |
40 | 60 |
|
41 | 61 | ```bash |
42 | 62 | cd environment/ |
43 | 63 | conda env create -p ./env --file env.yaml -y |
44 | 64 | ``` |
45 | 65 |
|
46 | | -### 2. Activate the environment |
| 66 | +### 3. Activate the environment |
47 | 67 |
|
48 | 68 | ```bash |
49 | 69 | conda activate ./env |
50 | 70 | ``` |
51 | 71 |
|
52 | | -### 3. Generate test data |
| 72 | +### 4. Generate test data |
53 | 73 |
|
54 | 74 | ```bash |
55 | 75 | # From repo root |
56 | 76 | cd ../ |
57 | 77 | Rscript data/test_data.R |
58 | 78 | ``` |
59 | 79 |
|
60 | | -### 4. Run the pipeline |
| 80 | +### 5. Run the pipeline |
61 | 81 |
|
62 | 82 | ```bash |
63 | 83 | cd snakemake |
64 | 84 | snakemake -j 8 |
65 | 85 | ``` |
66 | 86 |
|
67 | | -### 5. View results |
| 87 | +### 6. View results |
68 | 88 |
|
69 | 89 | Open the `.html` reports generated in the `rmds/` directory in a web browser. Each report links to its exported tables and figures. |
70 | 90 |
|
71 | 91 | --- |
72 | 92 |
|
73 | | -## User Configuration |
| 93 | +## Resource Requirements and Runtime |
| 94 | + |
| 95 | +- **Installation time:** < 3 minutes to clone the repo, build the Conda environment, and create the test data. |
| 96 | +- **Workflow runtime (test data):** < 3 minutes to run the Snakefile. |
| 97 | +- **Hardware requirements:** |
| 98 | + - ≥ 2 GB RAM |
| 99 | + - ≥ 2 CPU cores |
| 100 | + |
| 101 | +## Tested Platforms |
| 102 | + |
| 103 | +- **Operating system:** Linux (Ubuntu LTS; tested on GitHub Actions `ubuntu-latest` runners, as of December 2025: Ubuntu 24.04) |
| 104 | +- **Conda distribution:** Miniforge3 (GitHub Actions latest Miniforge3 release, as of December 2025) |
| 105 | +- **Conda version:** 25.11.1 |
| 106 | + |
| 107 | +--- |
| 108 | + |
| 109 | +## User Configuration (for your projects data) |
74 | 110 |
|
75 | 111 | To run the workflow on your own PEA/ELISA data, you must configure the pipeline in two locations. |
76 | 112 |
|
@@ -108,12 +144,22 @@ The `.html` reports in `rmds/` provide clickable links to these outputs. |
108 | 144 |
|
109 | 145 | --- |
110 | 146 |
|
111 | | -## Dependencies |
| 147 | +## Dependencies and Package Versions |
112 | 148 |
|
113 | | -All package dependencies are managed via Conda in `environment/env.yaml`. Use the same environment to run both Snakemake and the `.Rmd` scripts (if running them outside of Snakemake). |
| 149 | +All package dependencies are managed via Conda in `environment/env.yaml`. Use |
| 150 | +the same environment to run both Snakemake and the `.Rmd` scripts (if running |
| 151 | +them outside of Snakemake). See the Conda specification file at |
| 152 | +`environment/env.yaml` for exact package versions and dependency resolution. |
114 | 153 |
|
115 | 154 | --- |
116 | 155 |
|
117 | 156 | ## Support |
118 | 157 |
|
119 | 158 | For questions or issues, please reach out to the [NICHD Bioinformatics and Scientific Programming Core](https://www.nichd.nih.gov/about/org/dir/other-facilities/cores/bioinformatics). |
| 159 | + |
| 160 | +--- |
| 161 | + |
| 162 | +## License |
| 163 | + |
| 164 | +This project is licensed under the **GNU General Public License v3.0 (GPL-3.0)**. |
| 165 | +See the [LICENSE](LICENSE) file for full terms. |
0 commit comments