rickhelmus / patRoon

Workflow solutions for mass-spectrometry based non-target analysis.
https://rickhelmus.github.io/patRoon/
GNU General Public License v3.0
61 stars 18 forks source link

Problem finding feature with openms #17

Closed mafreitas closed 3 years ago

mafreitas commented 3 years ago

When working through the tutorial we get the following error when running

fList <- findFeaturesOpenMS(anaInfo)

Finding features with OpenMS for 6 analyses ... Error in system2(cmd, sapply(args, shQuote), ...) : error in running command

We are having no problem finding features with xcms

rickhelmus commented 3 years ago

Hello,

Let's start with the obvious: did you install OpenMS?

mafreitas commented 3 years ago

We are starting from the docker image, using singularity on our HPC cluster. When I run the singularity container I can see the OpenMS files are in /usr/bin.

M

From: rickhelmus notifications@github.com Date: Friday, November 20, 2020 at 10:12 AM To: rickhelmus/patRoon patRoon@noreply.github.com Cc: Michael A. Freitas, PhD mike.freitas@GMAIL.COM, Author author@noreply.github.com Subject: Re: [rickhelmus/patRoon] Problem finding feature with openms (#17)

Hello,

Let's start with the obvious: did you install OpenMS?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/rickhelmus/patRoon/issues/17#issuecomment-731226740, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA2NYJNPMGH7KL7ZV2RBOQ3SQ2BNLANCNFSM4T4AGCXA.

rickhelmus commented 3 years ago

Hmm that's really strange... I don't have any experience with singularity. Can you give more info on how you are running things? The patroonrs container should work as-is (just verified). Are you launching with a different user than rstudio?

mafreitas commented 3 years ago

Singularity has some peculiarities when running from docker images. See:

https://sylabs.io/guides/3.6/user-guide/singularity_and_docker.html?highlight=docker#best-practices

Running ldconfig at the end of the Dockerfile could solve the problem. But I also notice writing to home directory for user 'patroon'.

Starting from your Dockerfile I made some changes that seemed to work and could be incorporated into your builds.

FROM rocker/r-rspm:18.04

ENV SETUPDIR=/usr/local/setup

RUN apt-get update -y && \
    apt-get install -y --no-install-recommends libssl-dev libssh2-1-dev wget libv8-3.14-dev openbabel \
        libxml2-dev pngquant openjdk-11-jdk libmagick++-dev pandoc git pngquant texinfo libfribidi-dev \
        zlib1g-dev libxml2-dev libnetcdf-dev libglpk-dev tzdata libnetcdf-dev netcdf-bin && \
    mkdir -p $SETUPDIR && \
    wget -P $SETUPDIR https://abibuilder.informatik.uni-tuebingen.de/archive/openms/OpenMSInstaller/release/2.5.0/OpenMS-2.5.0-Debian-Linux-x86_64.deb && \
    apt-get install -y --no-install-recommends $SETUPDIR/OpenMS-2.5.0-Debian-Linux-x86_64.deb && \
    rm -rf $SETUPDIR && \
    apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
    R CMD javareconf

RUN mkdir -p /patRoon/deps

WORKDIR /patRoon/deps

COPY install_deps.R \
    DESCRIPTION \
    MetFrag2.4.5-CL.jar \
    sirius-4.4.29-linux64-headless.zip \
    PubChemLite_14Jan2020_tier1.csv CompTox_17March2019_SelectMetaData.csv \
    ./

ENV R_REMOTES_NO_ERRORS_FROM_WARNINGS=true

RUN pwd && ls && \
    unzip sirius-4.4.29-linux64-headless.zip && rm sirius-4.4.29-linux64-headless.zip && \
    Rscript install_deps.R && rm -f install_deps.R DESCRIPTION

COPY install_patRoon.R ./

RUN Rscript -e 'remotes::install_github("rickhelmus/patRoon")'

RUN echo 'options(patRoon.path.MetFragCL = "/patRoon/deps/MetFrag2.4.5-CL.jar")' >> /usr/lib/R/etc/Rprofile.site && \
    echo 'options(patRoon.path.SIRIUS = "/patRoon/deps/sirius-linux64-headless-4.4.29/bin")' >> /usr/lib/R/etc/Rprofile.site && \
    echo 'options(patRoon.path.MetFragCompTox = "/patRoon/deps/CompTox_17March2019_SelectMetaData.csv")' >> /usr/lib/R/etc/Rprofile.site && \
    echo 'options(patRoon.path.MetFragPubChemLite = "/patRoon/deps/PubChemLite_14Jan2020_tier1.csv")' >> /usr/lib/R/etc/Rprofile.site && \
    echo 'options(patRoon.progress.opts = list(style = 1))' >> /usr/lib/R/etc/Rprofile.site

ENV OPENMS_DATA_PATH=/usr/share/OpenMS _R_CHECK_FORCE_SUGGESTS_=0 R_MAX_NUM_DLLS=150

RUN ldconfig 

using this image I get

fList <- findFeatures(anaInfo, "openms") Finding features with OpenMS for 6 analyses ...

Done! Feature statistics: solvent-1: 385 (15.8%) solvent-2: 372 (15.2%) solvent-3: 376 (15.4%) standard-1: 437 (17.9%) standard-2: 443 (18.1%) standard-3: 431 (17.6%) Total: 2444

rickhelmus commented 3 years ago

Hello,

I am sorry to say but I recently switched to new images, what you used is an old Dockerfile. The new Docker files are

Could you please test with the latter image?

Thanks, Rick

mafreitas commented 3 years ago

Finally had a chance to rebuild from the new dockerfiles. When we run we get the following error though.

fList <- findFeatures(anaInfo, "openms") Finding features with OpenMS for 6 analyses ... Loading peak intensities for 'solvent-1'... Error in loadEICIntensities(spectra, features, rtWindow) : Not compatible with requested type: [type=list; target=double].

From: rickhelmus notifications@github.com Date: Monday, November 23, 2020 at 4:21 PM To: rickhelmus/patRoon patRoon@noreply.github.com Cc: Michael A. Freitas, PhD mike.freitas@gmail.com, Author author@noreply.github.com Subject: Re: [rickhelmus/patRoon] Problem finding feature with openms (#17)

Hello,

I am sorry to say but I recently switched to new images, what you used is an old Dockerfile. The new Docker files are

Could you please test with the latter image?

Thanks, Rick

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/rickhelmus/patRoon/issues/17#issuecomment-732433588, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA2NYJI6V6DISG3LQR6LRJTSRLG6BANCNFSM4T4AGCXA.

rickhelmus commented 3 years ago

Hello,

Can you remove the cache file (eg clearCache("all")) and (re)start a fresh R session. The recent update to patRoon introduced some incompatibilities with old cache files and clearing everything should fix your error.

rickhelmus commented 3 years ago

The incompatible cache data should now be ignored so you can also try the latest image.

rickhelmus commented 3 years ago

I am closing this now, but feel free to comment again in case this issue is not fixed.