diff --git a/CHANGELOG.md b/CHANGELOG.md index 66f2a428..36eac464 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 +[11.1.0] - 2026-07 + +### Removed + + * All references to the private build of BCFtools. the `--greedy` behaviour is now released as standard in BCFtools 1.24 + +### Added + + * STR functionality! + + + [11.0.0] - 2026-05-15 ### Added @@ -49,8 +61,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 > NOTE! For existing Talos users, obtaining this extra annotation will require the re-run of the annotation workflow. One example gene which is known to be obscured by this default behaviour was RNU2-2, but there may be others. - - [10.0.1] - 2026-03-23 ### Fixed diff --git a/Dockerfile b/Dockerfile index 0a8816a0..51641f03 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,46 +19,32 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ FROM base AS bcftools_compiler -ARG BCFTOOLS_VERSION=1.23.1 - -# AS OF 11.0.0, Talos is building BCFtools from a private fork. This fork contains a single change - csq applies annotations -# to both coding and non-coding genes in the event of overlapping genes. By default BCFtools skips non-coding gene annotation -# if a coding transcript consequence was detected, but in practice this is masking clinically relevant non-coding gene variation -# in cases where the non-coding gene overlaps with a non-clinically relevant coding gene. -# The change made is to always search for non-coding variation, but to mask non-coding consequences in otherwise coding transcripts -# if a coding change was already detected. +ARG BCFTOOLS_VERSION=1.24 + RUN apt-get update && apt-get install --no-install-recommends -y \ - autoconf \ gcc \ - git \ libbz2-dev \ libcurl4-openssl-dev \ liblzma-dev \ libssl-dev \ make \ zlib1g-dev && \ - wget https://github.com/samtools/htslib/releases/download/${BCFTOOLS_VERSION}/htslib-${BCFTOOLS_VERSION}.tar.bz2 && \ - tar -xf htslib-${BCFTOOLS_VERSION}.tar.bz2 && \ - cd htslib-${BCFTOOLS_VERSION} && \ - ./configure --enable-libcurl && \ - make && \ - make DESTDIR=/bcftools_install install && \ - cd .. && \ - git clone https://github.com/populationgenomics/bcftools.git && \ - cd bcftools && \ - autoheader && \ - autoconf && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://github.com/samtools/bcftools/releases/download/${BCFTOOLS_VERSION}/bcftools-${BCFTOOLS_VERSION}.tar.bz2 && \ + tar -xf bcftools-${BCFTOOLS_VERSION}.tar.bz2 && \ + cd bcftools-${BCFTOOLS_VERSION} && \ ./configure --enable-libcurl --enable-s3 --enable-gcs && \ make && \ strip bcftools plugins/*.so && \ + make DESTDIR=/bcftools_install install && \ + cd htslib-${BCFTOOLS_VERSION} && \ + make && \ make DESTDIR=/bcftools_install install FROM base AS talos COPY --from=bcftools_compiler /bcftools_install/usr/local/bin/* /usr/local/bin/ COPY --from=bcftools_compiler /bcftools_install/usr/local/libexec/bcftools/* /usr/local/libexec/bcftools/ -COPY --from=bcftools_compiler /bcftools_install/usr/local/lib/ /usr/local/lib/ -RUN ldconfig ARG ECHTVAR_VERSION=v0.2.2 ENV VERSION=11.1.0 diff --git a/nextflow/modules/annotation/AnnotateCsqWithBcftools/main.nf b/nextflow/modules/annotation/AnnotateCsqWithBcftools/main.nf index 25712ed2..3c725b5a 100644 --- a/nextflow/modules/annotation/AnnotateCsqWithBcftools/main.nf +++ b/nextflow/modules/annotation/AnnotateCsqWithBcftools/main.nf @@ -14,6 +14,7 @@ process AnnotateCsqWithBcftools { set -euo pipefail bcftools csq --force -f "${reference}" \ + --greedy 1 \ --local-csq \ -g ${gff3} \ --unify-chr-names 'chr,-,chr' \ diff --git a/src/talos/cpg_internal_scripts/CPG_Dockerfile b/src/talos/cpg_internal_scripts/CPG_Dockerfile index 8bf096f4..093a7e37 100644 --- a/src/talos/cpg_internal_scripts/CPG_Dockerfile +++ b/src/talos/cpg_internal_scripts/CPG_Dockerfile @@ -14,40 +14,26 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ FROM base AS bcftools_compiler -# BCFtools 1.22+ doesn't do any inference on chr-prefixes during CSQ, so the mismatch between fasta/vcf, and the gff3 (no chr-prefix) needs to be handled explicitly -# BCFtools >=1.22 is required internally as it's the first version with a built-in Mitochondrial lookup table. -# AS OF 11.0.0, Talos is building BCFtools from a private fork. This fork contains a single change - csq applies annotations -# to both coding and non-coding genes in the event of overlapping genes. By default BCFtools skips non-coding gene annotation -# if a coding transcript consequence was detected, but in practice this is masking clinically relevant non-coding gene variation -# in cases where the non-coding gene overlaps with a non-clinically relevant coding gene. -# The change made is to always search for non-coding variation, but to mask non-coding consequences in otherwise coding transcripts -# if a coding change was already detected. -ARG BCFTOOLS_VERSION=1.23.1 +ARG BCFTOOLS_VERSION=1.24 RUN apt-get update && apt-get install --no-install-recommends -y \ - autoconf \ gcc \ - git \ libbz2-dev \ libcurl4-openssl-dev \ liblzma-dev \ libssl-dev \ make \ zlib1g-dev && \ - wget https://github.com/samtools/htslib/releases/download/${BCFTOOLS_VERSION}/htslib-${BCFTOOLS_VERSION}.tar.bz2 && \ - tar -xf htslib-${BCFTOOLS_VERSION}.tar.bz2 && \ - cd htslib-${BCFTOOLS_VERSION} && \ - ./configure --enable-libcurl && \ - make && \ - make DESTDIR=/bcftools_install install && \ - cd .. && \ - git clone https://github.com/populationgenomics/bcftools.git && \ - cd bcftools && \ - autoheader && \ - autoconf && \ + rm -rf /var/lib/apt/lists/* && \ + wget https://github.com/samtools/bcftools/releases/download/${BCFTOOLS_VERSION}/bcftools-${BCFTOOLS_VERSION}.tar.bz2 && \ + tar -xf bcftools-${BCFTOOLS_VERSION}.tar.bz2 && \ + cd bcftools-${BCFTOOLS_VERSION} && \ ./configure --enable-libcurl --enable-s3 --enable-gcs && \ make && \ strip bcftools plugins/*.so && \ + make DESTDIR=/bcftools_install install && \ + cd htslib-${BCFTOOLS_VERSION} && \ + make && \ make DESTDIR=/bcftools_install install FROM base AS talos diff --git a/src/talos/cpg_internal_scripts/cpgflow_jobs/annotate_csq_with_bcftools.py b/src/talos/cpg_internal_scripts/cpgflow_jobs/annotate_csq_with_bcftools.py index 9c518ebd..1c042b34 100644 --- a/src/talos/cpg_internal_scripts/cpgflow_jobs/annotate_csq_with_bcftools.py +++ b/src/talos/cpg_internal_scripts/cpgflow_jobs/annotate_csq_with_bcftools.py @@ -44,6 +44,7 @@ def make_bcftools_anno_jobs( f""" bcftools index -t {local_vcf} bcftools csq --force -f {fasta} \\ + --greedy 1 \\ --local-csq \\ --threads 4 \\ -g {gff3_file} \\