montilab / nf-gwas-pipeline

A Nextflow Genome-Wide Association Study (GWAS) Pipeline
GNU General Public License v3.0
30 stars 19 forks source link

report issue #4

Open mgalland opened 3 years ago

mgalland commented 3 years ago

Dear creators of nf-gwas-pipeline, First a praise: I was looking for such a long time for a nice and well documented GWAS pipeline. I must say I've tried quite a few and there was always an issue somewhere (installation or when making a Docker image). So far I find it super convenient and super easy to install thanks to Docker in my case.

I have an issue with the report step of the pipeline when using it with Docker.

I am trying the pipeline on the test dataset for now using Docker. Here is what I execute:

Command

./nextflow gwas.nf -c gwas.config -with-docker montilab/gwas

Output

N E X T F L O W  ~  version 20.10.0
Launching `gwas.nf` [happy_cantor] - revision: 3a2c2440a3

-

G W A S  ~  P I P E L I N E

================================
outdir    : /home/nf-gwas-pipeline/results

vcf       : /home/nf-gwas-pipeline/data/toy_vcf.csv
pheno     : /home/nf-gwas-pipeline/data/pheno_file_logistic.csv
snpset    : /home/nf-gwas-pipeline/data/snpset.txt

phenotype : outcome
covars    : age,sex,PC1,PC2,PC3,PC4
model     : logistic
test      : Score
ref       : hg19

-
executor >  local (141)
[98/f29fd0] process > qc_miss (chr_22)                   [100%] 22 of 22 ✔
[2e/f0ac8b] process > qc_mono (chr_22)                   [100%] 22 of 22 ✔
[a6/d47911] process > vcf_to_gds (chr_22)                [100%] 22 of 22 ✔
[1f/dc3f3f] process > merge_gds                          [100%] 1 of 1 ✔
[e7/3577b0] process > nullmod_skip_pca_grm               [100%] 1 of 1 ✔
[a3/cc333f] process > gwas_skip_pca_grm (chr_22)         [100%] 22 of 22 ✔
[e5/2bcf7a] process > caf_by_group_skip_pca_grm (chr_22) [100%] 22 of 22 ✔
[db/beca95] process > merge_by_chr (chr_22)              [100%] 22 of 22 ✔
[e7/0c91d5] process > combine_results                    [100%] 1 of 1 ✔
[a2/e2bc2f] process > plot                               [100%] 1 of 1 ✔
[a0/4bb15e] process > annovar_input                      [100%] 1 of 1 ✔
[c2/8d05fa] process > annovar_ref                        [100%] 1 of 1 ✔
[d2/568b0c] process > annovar                            [100%] 1 of 1 ✔
[46/fd5b10] process > add_annovar                        [100%] 1 of 1 ✔
[e1/45d236] process > report                             [  0%] 0 of 1

The last step (report) writes this (long) error message:

Error executing process > 'report'

Caused by:
  Process `report` terminated with an error exit status (137)

Command executed:

  mkdir -p /home/nf-gwas-pipeline/results/Report
  Rscript -e 'rmarkdown::render("/home/nf-gwas-pipeline/bin/07_report.Rmd")' /home/nf-gwas-pipeline/results
  mv /home/nf-gwas-pipeline/bin/07_report.html /home/nf-gwas-pipeline/results/Report/Report.html

Command exit status:
  137

Command output:

    |                                                                            
    |....................................................                  |  75%
  label: unnamed-chunk-16

    |                                                                            
    |.......................................................               |  78%
    ordinary text without R code

    |                                                                            
    |.........................................................             |  81%
  label: unnamed-chunk-17 (with options) 
  List of 1
   $ include: logi FALSE

    |                                                                            
    |...........................................................           |  84%
  label: unnamed-chunk-18

    |                                                                            
    |.............................................................         |  88%
  label: unnamed-chunk-19 (with options) 
  List of 1
   $ include: logi FALSE

    |                                                                            
    |...............................................................       |  91%
  label: unnamed-chunk-20

    |                                                                            
    |..................................................................    |  94%
    ordinary text without R code

    |                                                                            
    |....................................................................  |  97%
  label: unnamed-chunk-21 (with options) 

My guess is that it has to do with the knitting of the Rmd since it goes all the way to the end. Could be some Tex-related dependencies? If you have a guess, I'd be happy to tryout the fixed version. Thanks again for your pipeline + nice documentation + JOSS paper. Cheers Marc

Config

Config (cloud machine from Digital Ocean):

Version 19.03.12
OS Ubuntu 20.04
anfederico commented 3 years ago

My first thought would be an issue with Pandoc. Is it available / updated? pandoc -v. I don't believe it's pre-bundled into the Docker image so you might need to activate Pandoc in your cloud environment.

mgalland commented 3 years ago

Here's what I have pre-installed on my system:

pandoc 1.12.3.1
Compiled with texmath 0.6.6, highlighting-kate 0.5.6.
Syntax highlighting is supported for the following languages:
    actionscript, ada, apache, asn1, asp, awk, bash, bibtex, boo, c, changelog,
    clojure, cmake, coffee, coldfusion, commonlisp, cpp, cs, css, curry, d,
    diff, djangotemplate, doxygen, doxygenlua, dtd, eiffel, email, erlang,
    fortran, fsharp, gnuassembler, go, haskell, haxe, html, ini, java, javadoc,
    javascript, json, jsp, julia, latex, lex, literatecurry, literatehaskell,
    lua, makefile, mandoc, markdown, matlab, maxima, metafont, mips, modelines,
    modula2, modula3, monobasic, nasm, noweb, objectivec, objectivecpp, ocaml,
    octave, pascal, perl, php, pike, postscript, prolog, python, r,
    relaxngcompact, restructuredtext, rhtml, roff, ruby, rust, scala, scheme,
    sci, sed, sgml, sql, sqlmysql, sqlpostgresql, tcl, texinfo, verilog, vhdl,
    xml, xorg, xslt, xul, yacc, yaml

Is that version of pandoc too old? I guess including it in the Dockerfile could be a good solution then.

For one Docker image that I use with R to make PDF out of R Markdown files, I copy-pasted these lines from the rocker/verse image. Maybe that helps Thank you Marc

# Version-stable CTAN repo from the tlnet archive at texlive.info, used in the
# TinyTeX installation: chosen as the frozen snapshot of the TeXLive release
# shipped for the base Debian image of a given rocker/r-ver tag.
# Debian buster => TeXLive 2018, frozen release snapshot 2019/02/27
ARG CTAN_REPO=${CTAN_REPO:-https://www.texlive.info/tlnet-archive/2019/02/27/tlnet}
ENV CTAN_REPO=${CTAN_REPO}

ENV PATH=$PATH:/opt/TinyTeX/bin/x86_64-linux/

## Add LaTeX, articles and bookdown support
RUN wget "https://travis-bin.yihui.name/texlive-local.deb" \
  && dpkg -i texlive-local.deb \
  && rm texlive-local.deb \
  && apt-get update \
  && apt-get install -y --no-install-recommends \
    default-jdk \
    fonts-roboto \
    ghostscript \
    less \
    libbz2-dev \
    libicu-dev \
    liblzma-dev \
    libhunspell-dev \
    libjpeg-dev \
    libmagick++-dev \
    libopenmpi-dev \
    librdf0-dev \
    libtiff-dev \
    libv8-dev \
    libzmq3-dev \
    qpdf \
    ssh \
    texinfo \
    vim \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/ \
  ## Use tinytex for LaTeX installation
  && install2.r --error tinytex \
  ## Admin-based install of TinyTeX:
  && wget -qO- \
    "https://github.com/yihui/tinytex/raw/master/tools/install-unx.sh" | \
    sh -s - --admin --no-path \
  && mv ~/.TinyTeX /opt/TinyTeX \
  && if /opt/TinyTeX/bin/*/tex -v | grep -q 'TeX Live 2018'; then \
      ## Patch the Perl modules in the frozen TeX Live 2018 snapshot with the newer
      ## version available for the installer in tlnet/tlpkg/TeXLive, to include the
      ## fix described in https://github.com/yihui/tinytex/issues/77#issuecomment-466584510
      ## as discussed in https://www.preining.info/blog/2019/09/tex-services-at-texlive-info/#comments
      wget -P /tmp/ ${CTAN_REPO}/install-tl-unx.tar.gz \
      && tar -xzf /tmp/install-tl-unx.tar.gz -C /tmp/ \
      && cp -Tr /tmp/install-tl-*/tlpkg/TeXLive /opt/TinyTeX/tlpkg/TeXLive \
      && rm -r /tmp/install-tl-*; \
    fi \
  && /opt/TinyTeX/bin/*/tlmgr path add \
  && tlmgr install ae inconsolata listings metafont mfware parskip pdfcrop tex \
  && tlmgr path add \
  && Rscript -e "tinytex::r_texmf()" \
  && chown -R root:staff /opt/TinyTeX \
  && chmod -R g+w /opt/TinyTeX \
  && chmod -R g+wx /opt/TinyTeX/bin \
  && echo "PATH=${PATH}" >> /usr/local/lib/R/etc/Renviron \
  && install2.r --error PKI \
  ## And some nice R packages for publishing-related stuff
  && install2.r --error --deps TRUE \
    bookdown rticles rmdshower rJava