[R-sig-Debian] R Package: 'ggbreak' in Dockerfile

Gerber, Lauren J
2024-10-15T13:14:49Z

Hi All,

Does anyone have experience successfully installing and loading the R package
?ggbreak? in a Docker container?

I ask because I have successfully used the ?ggbreak? package in a script outside
the Docker container (on my local computer), but for some reason, I get the
following error message when trying to load it using library(ggbreak) or
library(?ggbreak?) inside the same script that has been copied to the Docker
container:

Error in library(ggbreak) : there is no package called 'ggbreak'
Execution halted

I have tried installing ?ggbreak? using Bioconductor, the ?ggbreak? GitHub repo,
and the standard install.packages() function in R, and none have helped. The
image is building successfully; the issue is specifically when I run the
container, which generates the above error message. I am wondering if I am
missing some type of dependency upstream, or something else.

Please see the contents of the Dockerfile below:

FROM selenium/standalone-firefox:127.0

USER root

ENV SE_OFFLINE=true
ENV PATH "$PATH:/usr/bin/geckodriver"
ENV HOME "/root/"

RUN apt-get update \
    && apt install -y \
    software-properties-common \
    dirmngr \
    gnupg2 \
    wget \
    build-essential \
    libcurl4-openssl-dev \
    libxml2-dev \
    libasound2 \
#    libasound2t64 \
    python3 \
    python3-pip \
    python3.11-venv \
#    python3.12-venv \
    git-all \
    lsb-release \
    libxml-twig-perl \
    libc6-dev \
    vim \
    && wget -q -O -
https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc \
    | tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc  \
    && add-apt-repository -y "ppa:marutter/rrutter4.0"

RUN apt-get update -y \
    && apt-get install -y r-base\
    && apt-get clean \
    && apt-get purge \
    && rm -rf /var/lib/apt/lists/* /tmp/*

RUN pip3 install --upgrade pip wheel setuptools>5
RUN pip3 install pandas
RUN pip3 install openpyxl
RUN pip3 install selenium-firefox
RUN pip3 install --no-cache-dir --upgrade rbase
RUN pip3 install webdriver-manager
RUN pip3 install 'rpy2>=3.5.12'
RUN pip3 install xlsxwriter

# Install additional R packages
# RUN R -e "install.packages(c('tools', 'ggplot2',
'ggbreak', 'ggrepel', 'stringr'),
repos='http://cran.us.r-project.org')"
RUN R -e "install.packages('tools',
repos='http://cran.us.r-project.org')"
RUN R -e "install.packages('ggplot2',
repos='http://cran.us.r-project.org')"
# RUN R -e "install.packages('ggbreak',
repos='http://cran.us.r-project.org')"
# RUN R -e "install.packages('remotes',
repos='http://cran.rstudio.com/')"
# RUN R -e "remotes::install_github('YuLab-SMU/ggbreak')"
RUN R -e "install.packages('ggrepel',
repos='http://cran.us.r-project.org')"
RUN R -e "install.packages('stringr',
repos='http://cran.us.r-project.org')"
RUN R -e "install.packages('BiocManager',
repos='http://cran.us.r-project.org')"
RUN R -e "BiocManager::install('ggbreak')"

# Create an app directory
RUN mkdir /app
RUN mkdir /volume_w_htmls
RUN mkdir /volume
RUN mkdir /volume2
RUN mkdir /home/seluser/Downloads

# Set the working directory
WORKDIR /app

# Copy bash script to Docker image
COPY ./webscraping_combined_boxplots.sh /app/webscraping_combined_boxplots.sh

# Make bash script executable
RUN chmod +x /app/webscraping_combined_boxplots.sh

ENTRYPOINT ["/app/webscraping_combined_boxplots.sh"]

CMD ["param1", "param2", "param3",
"param4", "param5", "param6", "param7",
"param8", "param9", "param10",
"param11", "param12", "param13",
"param14", "param15", "param16",
"param17", "param18", "param19"]


Would you please advise?

Thank you in advance for your help.

Br,
Lauren
--
Lauren J. Gerber
Bioinformatician
Precision Systems Medicine (Kallioniemi) Research Group
iCAN ? Digital Precision Cancer Medicine Flagship
Institute for Molecular Medicine Finland (FIMM)
Nordic EMBL Partnership for Molecular Medicine
Biomedicum Helsinki 2U, D301a1
P.O. Box 20 (Tukholmankatu 8)
FI-00014 University of Helsinki, Finland
lauren.gerber at helsinki.fi

	[[alternative HTML version deleted]]