From bde23599498a32a604aacaee4b6fa68992c0b47c Mon Sep 17 00:00:00 2001 From: Kate Isaac <41767733+kweav@users.noreply.github.com> Date: Tue, 3 Feb 2026 11:15:33 -0500 Subject: [PATCH 1/3] add ottr_viz image --- .github/pull_request_template.md | 16 +++++++--- .github/workflows/merge.yml | 1 + .github/workflows/pull_request.yml | 1 + ottr_viz/Dockerfile | 50 ++++++++++++++++++++++++++++++ 4 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 ottr_viz/Dockerfile diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index a129617..e094a59 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,14 +1,22 @@ - + # Description - + Fixes # (issue) +## Checklist (if adding a new docker image) + +- [ ] image in new directory +- [ ] file in that directory named 'Dockerfile' exactly +- [ ] image has been built or tested / passes tests +- [ ] image added to `pull_request.yml` file (following `- {dir: directory_path, name: 'name its called on dockerhub'}` convention) +- [ ] image added to `merge.yml` file (following `- {dir: directory_path, name: 'name its called on dockerhub'}` convention) + ## Type of change - + - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) @@ -17,7 +25,7 @@ Fixes # (issue) # How Has This Been Tested? - + - [ ] Test A - [ ] Test B diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml index d3c5e61..3c79c49 100644 --- a/.github/workflows/merge.yml +++ b/.github/workflows/merge.yml @@ -28,6 +28,7 @@ jobs: - {dir: ottr_itn_workshop, name: 'jhudsl/ottr_itn_workshop'} - {dir: ottr_metrics, name: 'jhudsl/ottr_metrics'} - {dir: ottr_ml, name: 'jhudsl/ottr_ml'} + - {dir: ottr_viz, name: 'jhudsl/ottr_viz'} # NEW IMAGES HERE: # ####### - {dir: directory_path, name: 'name its called on dockerhub'} steps: diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 11197bf..1967965 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -25,6 +25,7 @@ jobs: - {dir: ottr_itn_workshop, name: 'jhudsl/ottr_itn_workshop'} - {dir: ottr_metrics, name: 'jhudsl/ottr_metrics'} - {dir: ottr_ml, name: 'jhudsl/ottr_ml'} + - {dir: ottr_viz, name: 'jhudsl/ottr_viz'} # NEW IMAGES HERE: # ####### - {dir: directory_path, name: 'name its called on dockerhub'} steps: diff --git a/ottr_viz/Dockerfile b/ottr_viz/Dockerfile new file mode 100644 index 0000000..441b69f --- /dev/null +++ b/ottr_viz/Dockerfile @@ -0,0 +1,50 @@ +FROM jhudsl/ottr_python:main + +# Remove broken Vivaldi repo +RUN rm -f /etc/apt/sources.list.d/vivaldi.list \ + && rm -f /etc/apt/sources.list.d/vivaldi*.sources + +# System dependencies for R packages +RUN apt-get update && apt-get install -y \ + cmake \ + xz-utils \ + libgmp-dev \ + libudunits2-dev \ + libcurl4-openssl-dev \ + libssl-dev \ + libxml2-dev \ + libfontconfig1-dev \ + libfreetype6-dev \ + libharfbuzz-dev \ + libfribidi-dev \ + libpng-dev \ + libjpeg-dev \ + libtiff-dev \ + libcairo2-dev \ + libgit2-dev \ + && rm -rf /var/lib/apt/lists/* + +# Install BiocManager +RUN Rscript -e "install.packages('BiocManager', repos='https://cloud.r-project.org')" + +# Install nloptr early (compiled dependency) +RUN Rscript -e "BiocManager::install('nloptr')" + +# Core R infrastructure (pinned versions) +RUN Rscript -e "install.packages( \ + c('Rcpp', 'xfun', 'htmltools', 'rmarkdown', 'knitr'), \ + repos='https://cloud.r-project.org')" + +# Plotting ecosystem (pinned versions) +RUN Rscript -e "install.packages( \ + c('ggpubr','patchwork','broom','ggrepel','ggtext','ggrain','ggridges', \ + 'networkD3','scales','survival','survMisc','survminer','ggVennDiagram', \ + 'UpSetR','naniar','palmerpenguins'), \ + repos='https://cloud.r-project.org')" + +# remotes + GitHub packages +RUN Rscript -e "install.packages('remotes', repos='https://cloud.r-project.org')" +RUN Rscript -e "remotes::install_github('davidsjoberg/ggsankey')" + +# Python packages +RUN pip3 install adjustText==1.3.0 From d434230b80a05f9020bb52646e18f4b2a40f0756 Mon Sep 17 00:00:00 2001 From: Kate Isaac <41767733+kweav@users.noreply.github.com> Date: Fri, 27 Feb 2026 15:22:23 -0500 Subject: [PATCH 2/3] Update Dockerfile to include maintainer email added FH email for maintainer --- ottr_viz/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/ottr_viz/Dockerfile b/ottr_viz/Dockerfile index 441b69f..bd3e5e9 100644 --- a/ottr_viz/Dockerfile +++ b/ottr_viz/Dockerfile @@ -1,4 +1,5 @@ FROM jhudsl/ottr_python:main +LABEL maintainer="kisaac@fredhutch.org" # Remove broken Vivaldi repo RUN rm -f /etc/apt/sources.list.d/vivaldi.list \ From 4f1bccdd3ffb9ed70ff8c711f68eb420949958eb Mon Sep 17 00:00:00 2001 From: Kate Isaac <41767733+kweav@users.noreply.github.com> Date: Thu, 19 Mar 2026 12:02:46 -0400 Subject: [PATCH 3/3] Update Dockerfile with python package for text coloring --- ottr_viz/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ottr_viz/Dockerfile b/ottr_viz/Dockerfile index bd3e5e9..42f6669 100644 --- a/ottr_viz/Dockerfile +++ b/ottr_viz/Dockerfile @@ -48,4 +48,4 @@ RUN Rscript -e "install.packages('remotes', repos='https://cloud.r-project.org') RUN Rscript -e "remotes::install_github('davidsjoberg/ggsankey')" # Python packages -RUN pip3 install adjustText==1.3.0 +RUN pip3 install adjustText==1.3.0 highlight-text