diff --git a/.github/workflows/docker_build_publish_develop.yml b/.github/workflows/docker_build_publish_develop.yml index fde5a4faf..6a9a55f0a 100644 --- a/.github/workflows/docker_build_publish_develop.yml +++ b/.github/workflows/docker_build_publish_develop.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: true matrix: - container-name: [align_qc, annotate, ascatNgs, cadd, cnvkit, cnvpytor, coverage_qc, delly, gatk, htslib, multiqc, msisensorpro, purecn, somalier, varcall_py3, varcall_py27, vcf2cytosure] + container-name: [varcall_py3] steps: - name: Git checkout id: git_checkout diff --git a/BALSAMIC/containers/varcall_py3/Dockerfile b/BALSAMIC/containers/varcall_py3/Dockerfile index 141861c72..b1d0cda53 100644 --- a/BALSAMIC/containers/varcall_py3/Dockerfile +++ b/BALSAMIC/containers/varcall_py3/Dockerfile @@ -1,22 +1,46 @@ FROM continuumio/miniconda3:4.10.3-alpine -LABEL base.image="continuumio/miniconda3:4.10.3-alpine" -LABEL about.home="https://github.com/Clinical-Genomics/BALSAMIC" -LABEL about.documentation="https://balsamic.readthedocs.io/" -LABEL about.license="MIT License (MIT)" -LABEL about.description="Bioinformatic analysis pipeline for somatic mutations in cancer" +LABEL base.image="continuumio/miniconda3:4.10.3-alpine" \ + about.home="https://github.com/Clinical-Genomics/BALSAMIC" \ + about.documentation="https://balsamic.readthedocs.io/" \ + about.license="MIT License (MIT)" \ + about.description="Bioinformatic analysis pipeline for somatic mutations in cancer" ENV PATH="/opt/conda/bin/:${PATH}" -RUN apk add --no-cache bash gcc git +# Install necessary packages +RUN apk add --no-cache bash gcc git musl-dev -ARG WORK_DIR=project ARG CONTAINER_NAME -# Copy all project files -COPY . /${WORK_DIR} +# Copy the container folder into the image +COPY BALSAMIC/containers/${CONTAINER_NAME}/ /project/BALSAMIC/containers/${CONTAINER_NAME}/ -RUN cd /${WORK_DIR}/BALSAMIC/containers/${CONTAINER_NAME}/ && /bin/sh ${CONTAINER_NAME}.sh ${CONTAINER_NAME} +# Set the working directory to the container directory +WORKDIR /project/BALSAMIC/containers/${CONTAINER_NAME} -# Clean work environment -RUN rm -rf /${WORK_DIR:?} && conda clean --all --yes +# Run the package installation script +RUN sh ${CONTAINER_NAME}.sh ${CONTAINER_NAME} + +# Install TIDDIT +WORKDIR /project +RUN python -m pip install --no-cache-dir --upgrade cython joblib pip requests && \ + git clone --depth 1 --branch TIDDIT-3.8.0 https://github.com/SciLifeLab/TIDDIT.git && \ + cd TIDDIT && \ + pip install . + +# Install fermi2 +WORKDIR /project +RUN git clone https://github.com/lh3/fermi2.git && \ + cd fermi2 && \ + make + +# Install bwa (includes ropebwt2) +WORKDIR /project +RUN git clone https://github.com/lh3/bwa.git && \ + cd bwa && \ + make + +# Clean up work environment +WORKDIR / +RUN rm -rf /project && conda clean --all --yes diff --git a/BALSAMIC/containers/varcall_py3/varcall_py3.yaml b/BALSAMIC/containers/varcall_py3/varcall_py3.yaml index 4f106103e..d7089f19b 100644 --- a/BALSAMIC/containers/varcall_py3/varcall_py3.yaml +++ b/BALSAMIC/containers/varcall_py3/varcall_py3.yaml @@ -1,6 +1,6 @@ channels: - - conda-forge - anaconda + - conda-forge - bioconda - defaults @@ -8,30 +8,30 @@ dependencies: - _libgcc_mutex=0.1 - _openmp_mutex=4.5 - _r-mutex=1.0.1 + - _sysroot_linux-64_curr_repodata_hack=3 - bcftools=1.15.1 - - bfc=r181 - binutils_impl_linux-64=2.35.1 - binutils_linux-64=2.35 + - boltons=24.0.0 - brotlipy=0.7.0 - bwa=0.7.17 - bwidget=1.9.14 - bzip2=1.0.8 - - c-ares=1.18.1 - - ca-certificates=2022.12.7 + - c-ares=1.32.3 + - ca-certificates=2024.7.4 - cairo=1.16.0 - - certifi=2022.12.7 + - certifi=2024.7.4 - cffi=1.14.6 - chardet=4.0.0 - click=8.0.4 - coloredlogs=15.0.1 - - conda=23.1.0 - - conda-package-handling=2.0.2 - - conda-package-streaming=0.7.0 + - conda=23.7.1 + - conda-package-handling=2.3.0 + - conda-package-streaming=0.10.0 - cryptography=39.0.0 - curl=7.86.0 - cyvcf2=0.30.16 - - expat=2.5.0 - - fermi2=r193 + - expat=2.6.2 - font-ttf-dejavu-sans-mono=2.37 - font-ttf-inconsolata=3.000 - font-ttf-source-code-pro=2.038 @@ -41,9 +41,11 @@ dependencies: - fonts-conda-forge=1 - freetype=2.12.1 - fribidi=1.0.10 + - gatk=3.8 - gcc_impl_linux-64=9.3.0 - gcc_linux-64=9.3.0 - - gettext=0.21.1 + - gettext=0.22.5 + - gettext-tools=0.22.5 - gfortran_impl_linux-64=9.3.0 - gfortran_linux-64=9.3.0 - graphite2=1.3.13 @@ -55,54 +57,61 @@ dependencies: - humanfriendly=10.0 - icu=68.2 - idna=2.10 - - joblib=1.2.0 - jpeg=9e - - kernel-headers_linux-64=2.6.32 + - jsonpatch=1.33 + - jsonpointer=3.0.0 + - kernel-headers_linux-64=3.10.0 - keyutils=1.6.1 - krb5=1.19.3 - ld_impl_linux-64=2.35.1 - - lerc=3.0 + - lerc=4.0.0 + - libasprintf=0.22.5 + - libasprintf-devel=0.22.5 - libblas=3.9.0 - libcblas=3.9.0 - libcurl=7.86.0 - - libdeflate=1.10 + - libdeflate=1.13 - libedit=3.1.20191231 - libev=4.33 + - libexpat=2.6.2 - libffi=3.3 - libgcc-devel_linux-64=9.3.0 - - libgcc-ng=12.2.0 + - libgcc-ng=14.1.0 + - libgettextpo=0.22.5 + - libgettextpo-devel=0.22.5 - libgfortran-ng=9.5.0 - libgfortran5=9.5.0 - libglib=2.68.4 - - libgomp=12.2.0 + - libgomp=14.1.0 - libiconv=1.17 - liblapack=3.9.0 - libnghttp2=1.51.0 - libopenblas=0.3.18 - - libpng=1.6.39 + - libpng=1.6.43 - libssh2=1.10.0 - libstdcxx-devel_linux-64=9.3.0 - - libstdcxx-ng=12.2.0 + - libstdcxx-ng=14.1.0 - libtiff=4.4.0 - - libuuid=2.32.1 - - libwebp-base=1.2.4 - - libxcb=1.13 + - libuuid=2.38.1 + - libwebp-base=1.4.0 + - libxcb=1.16 - libxml2=2.9.12 - libzlib=1.2.13 - make=4.3 - - ncurses=6.3 - - numpy=1.24.2 - - openjdk=8.0.332 - - openssl=1.1.1t + - ncurses=6.5 + - numpy=1.24.4 + - openjdk=8.0.412 + - openssl=1.1.1w + - packaging=24.1 - pango=1.48.10 - pcre=8.45 - pcre2=10.37 - perl=5.26.2 - - pip=23.0.1 - - pixman=0.40.0 - - pluggy=1.0.0 + - pip=24.2 + - pixman=0.43.2 + - pluggy=1.5.0 - pthread-stubs=0.4 - - pycosat=0.6.4 + - pycosat=0.6.6 - pycparser=2.20 - pyopenssl=20.0.1 - pysam=0.19.1 @@ -112,61 +121,57 @@ dependencies: - r-base=4.1.1 - r-bitops=1.0_7 - r-catools=1.18.2 - - r-cli=3.6.0 + - r-cli=3.6.1 - r-colorspace=2.1_0 - r-crayon=1.5.2 - r-ellipsis=0.3.2 - r-fansi=1.0.4 - r-farver=2.1.1 - - r-ggplot2=3.4.1 + - r-ggplot2=3.4.2 - r-glue=1.6.2 - r-gplots=3.1.3 - r-gsalib=2.2.1 - - r-gtable=0.3.1 + - r-gtable=0.3.3 - r-gtools=3.9.4 - r-isoband=0.2.7 - r-kernsmooth=2.23_20 - r-labeling=0.4.2 - - r-lattice=0.20_45 + - r-lattice=0.21_8 - r-lifecycle=1.0.3 - r-magrittr=2.0.3 - - r-mass=7.3_58.2 - - r-matrix=1.5_3 - - r-mgcv=1.8_41 + - r-mass=7.3_58.3 + - r-matrix=1.5_4.1 + - r-mgcv=1.8_42 - r-munsell=0.5.0 - r-nlme=3.1_155 - - r-pillar=1.8.1 + - r-pillar=1.9.0 - r-pkgconfig=2.0.3 - r-plyr=1.8.8 - r-r6=2.5.1 - r-rcolorbrewer=1.1_3 - r-rcpp=1.0.10 - r-reshape=0.8.9 - - r-rlang=1.0.6 + - r-rlang=1.1.1 - r-scales=1.2.1 - - r-tibble=3.1.8 + - r-tibble=3.2.1 - r-utf8=1.2.3 - - r-vctrs=0.5.2 + - r-vctrs=0.6.2 - r-viridislite=0.4.1 - r-withr=2.5.0 - - readline=8.1.2 - - requests=2.25.1 - - ropebwt2=r187 - - ruamel.yaml=0.17.21 - - ruamel.yaml.clib=0.2.7 + - readline=8.1 + - ruamel.yaml=0.17.40 + - ruamel.yaml.clib=0.2.8 - samtools=1.15.1 - sed=4.8 - - seqtk=1.3 - - setuptools=67.4.0 + - setuptools=72.1.0 - six=1.16.0 - sqlite=3.36.0 - svdb=2.8.1 - - sysroot_linux-64=2.12 + - sysroot_linux-64=2.17 - tabix=1.11 - - tiddit=3.3.2 - - tk=8.6.12 + - tk=8.6.13 - tktable=2.10 - - toolz=0.12.0 + - toolz=0.12.1 - tqdm=4.61.2 - tzdata=2021a - urllib3=1.26.6 @@ -175,19 +180,22 @@ dependencies: - vcfpy=0.13.4 - wheel=0.36.2 - xorg-kbproto=1.0.7 - - xorg-libice=1.0.10 - - xorg-libsm=1.2.3 - - xorg-libx11=1.7.2 - - xorg-libxau=1.0.9 + - xorg-libice=1.1.1 + - xorg-libsm=1.2.4 + - xorg-libx11=1.8.9 + - xorg-libxau=1.0.11 - xorg-libxdmcp=1.1.3 - xorg-libxext=1.3.4 - - xorg-libxrender=0.9.10 - - xorg-libxt=1.2.1 + - xorg-libxrender=0.9.11 + - xorg-libxt=1.3.0 - xorg-renderproto=0.11.1 - xorg-xextproto=7.3.0 - xorg-xproto=7.0.31 - xz=5.2.5 - yaml=0.2.5 - zlib=1.2.13 - - zstandard=0.19.0 - - zstd=1.5.2 + - zstandard=0.23.0 + - zstd=1.5.6 + - pip: + - charset-normalizer==3.3.2 + - requests==2.32.3 diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b05912b31..e66a08736 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -13,6 +13,7 @@ Changed: * `SLEEP_BEFORE_START` to 600s https://github.com/Clinical-Genomics/BALSAMIC/pull/1372 * Updated Multiqc to version 1.22.3 https://github.com/Clinical-Genomics/BALSAMIC/pull/1441 * Upgrade `vcf2cytosure` version to 0.9.1 and remove hardcoded versions https://github.com/Clinical-Genomics/BALSAMIC/pull/1456 +* Upgrade `TIDDIT` version to 3.8.0 https://github.com/Clinical-Genomics/BALSAMIC/pull/1470 Removed: ^^^^^^^^ diff --git a/docs/balsamic_methods.rst b/docs/balsamic_methods.rst index 783e2f1c5..c8a37f990 100644 --- a/docs/balsamic_methods.rst +++ b/docs/balsamic_methods.rst @@ -36,7 +36,7 @@ The final BAM is quality controlled using WgsMetricsAlgo and CoverageMetrics fro Results of the quality controlled steps were summarized by MultiQC v1.12 :superscript:`7`. Small somatic mutations (SNVs and INDELs) were called for each sample using Sentieon TNscope :superscript:`16`. The called-variants were also further second filtered using the criteria (DP(tumor,normal) >= 10; AD(tumor) >= 3; AF(tumor) >= 0.05, Maximum AF(tumor < 1; GNOMADAF_popmax <= 0.001; normalized base quality scores >= 20, read_counts of alt,ref alle > 0). -Structural variants were called using Manta v1.6.0 :superscript:`9`, Delly v1.0.3 :superscript:`10` and TIDDIT v3.3.2 :superscript:`12`. +Structural variants were called using Manta v1.6.0 :superscript:`9`, Delly v1.0.3 :superscript:`10` and TIDDIT v3.8.0 :superscript:`12`. Copy number variations (CNV) were called using ascatNgs v4.5.0 :superscript:`17` (tumor-normal), Delly v1.0.3 :superscript:`10` and CNVpytor v1.3.1 :superscript:`22` (tumor-only) and converted from CNV to deletions (DEL) and duplications (DUP). The structural variant (SV) calls from Manta, Delly, TIDDIT, ascatNgs (tumor-normal) and CNVpytor (tumor-only) were merged using SVDB v2.8.1 :superscript:`12` The clinical set of SNV and SV is also annotated and filtered against loqusDB curated frequency of observed variants (frequency < 0.01) from non-cancer cases and only annotated using frequency of observed variants from cancer cases (somatic and germline). diff --git a/docs/bioinfo_softwares.rst b/docs/bioinfo_softwares.rst index c49b34844..3e752021a 100644 --- a/docs/bioinfo_softwares.rst +++ b/docs/bioinfo_softwares.rst @@ -146,7 +146,7 @@ tiddit ~~~~~~ :Source code: `Github` ``_ :Article: `F1000Res` ``_ -:Version: `3.3.2` +:Version: `3.8.0` vardict ~~~~~~~ diff --git a/tests/test_data/config.json b/tests/test_data/config.json index ec9a4f511..889577f85 100644 --- a/tests/test_data/config.json +++ b/tests/test_data/config.json @@ -205,7 +205,7 @@ "gatk": ["3.8"], "samtools": ["1.15.1", "1.9"], "svdb": ["2.8.1"], - "tiddit": ["3.3.2"], + "tiddit": ["3.8.0"], "vardict": ["2019.06.04"], "somalier": ["0.2.16"], "delly": ["1.0.3"], diff --git a/tests/test_data/config_pon.json b/tests/test_data/config_pon.json index 7ef3dd26b..cbff98963 100644 --- a/tests/test_data/config_pon.json +++ b/tests/test_data/config_pon.json @@ -70,7 +70,7 @@ "bwa": ["0.7.17"], "gatk": ["3.8"], "svdb": ["2.8.1"], - "tiddit": ["3.3.2"], + "tiddit": ["3.8.0"], "vardict": ["2019.06.04"], "csvkit": ["1.0.7"], "fastp": ["0.23.2"],