Skip to content

Commit

Permalink
Merge pull request #42 from Ferlab-Ste-Justine/feat/CLIN-3614-add-doc…
Browse files Browse the repository at this point in the history
…ker-image-for-exomiser-v13.1

feat: CLIN-3614 add docker image for exomiser 13.1.0
  • Loading branch information
LysianeBouchard authored Dec 5, 2024
2 parents c43ca3d + aee2b99 commit 56cb96b
Show file tree
Hide file tree
Showing 6 changed files with 121 additions and 29 deletions.
40 changes: 27 additions & 13 deletions .github/workflows/publish_with_latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,30 @@ jobs:
dockerfile: containers/nextflow/Dockerfile
tag_format: "latest"
push-exomiser:
name: Publish Exomiser Image using latest tags
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Push the image on the registry
uses: Ferlab-Ste-Justine/action-push-image@v2
with:
username: ${{ secrets.FERLAB_DOCKER_HUB_USER }}
password: ${{ secrets.FERLAB_DOCKER_HUB_TOKEN }}
image: ferlabcrsj/exomiser
location: containers/exomiser
dockerfile: containers/exomiser/Dockerfile
tag_format: "latest"
name: Publish Exomiser Image using latest tags
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Push the image on the registry
uses: Ferlab-Ste-Justine/action-push-image@v2
with:
username: ${{ secrets.FERLAB_DOCKER_HUB_USER }}
password: ${{ secrets.FERLAB_DOCKER_HUB_TOKEN }}
image: ferlabcrsj/exomiser
location: containers/exomiser
dockerfile: containers/exomiser/Dockerfile
tag_format: "latest"
push-exomiser-13:
name: Publish Exomiser 13.1.0 Image using latest tags
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Push the image on the registry
uses: Ferlab-Ste-Justine/action-push-image@v2
with:
username: ${{ secrets.FERLAB_DOCKER_HUB_USER }}
password: ${{ secrets.FERLAB_DOCKER_HUB_TOKEN }}
image: ferlabcrsj/exomiser
location: containers/exomiser-13
dockerfile: containers/exomiser-13/Dockerfile
tag_format: "13.1.0-latest"
16 changes: 15 additions & 1 deletion .github/workflows/publish_with_semver_tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,18 @@ jobs:
image: ferlabcrsj/exomiser
location: containers/exomiser
dockerfile: containers/exomiser/Dockerfile
tag_format: "{semver}"
tag_format: "{semver}"
push-exomiser-13:
name: Publish Exomiser 13.1.0 Image using tags
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Push the image on the registry
uses: Ferlab-Ste-Justine/action-push-image@v2
with:
username: ${{ secrets.FERLAB_DOCKER_HUB_USER }}
password: ${{ secrets.FERLAB_DOCKER_HUB_TOKEN }}
image: ferlabcrsj/exomiser
location: containers/exomiser-13
dockerfile: containers/exomiser-13/Dockerfile
tag_format: "13.1.0-{semver}"
40 changes: 27 additions & 13 deletions .github/workflows/publish_with_sha.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,30 @@ jobs:
dockerfile: containers/nextflow/Dockerfile
tag_format: "{sha}-{timestamp}"
push-exomiser:
name: Publish Exomiser Image using commit sha and timestamp
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Push the image on the registry
uses: Ferlab-Ste-Justine/action-push-image@v2
with:
username: ${{ secrets.FERLAB_DOCKER_HUB_USER }}
password: ${{ secrets.FERLAB_DOCKER_HUB_TOKEN }}
image: ferlabcrsj/exomiser
location: containers/exomiser
dockerfile: containers/exomiser/Dockerfile
tag_format: "{sha}-{timestamp}"
name: Publish Exomiser Image using commit sha and timestamp
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Push the image on the registry
uses: Ferlab-Ste-Justine/action-push-image@v2
with:
username: ${{ secrets.FERLAB_DOCKER_HUB_USER }}
password: ${{ secrets.FERLAB_DOCKER_HUB_TOKEN }}
image: ferlabcrsj/exomiser
location: containers/exomiser
dockerfile: containers/exomiser/Dockerfile
tag_format: "{sha}-{timestamp}"
push-exomiser-13:
name: Publish Exomiser 13.1.0 Image using commit sha and timestamp
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Push the image on the registry
uses: Ferlab-Ste-Justine/action-push-image@v2
with:
username: ${{ secrets.FERLAB_DOCKER_HUB_USER }}
password: ${{ secrets.FERLAB_DOCKER_HUB_TOKEN }}
image: ferlabcrsj/exomiser
location: containers/exomiser-13
dockerfile: containers/exomiser-13/Dockerfile
tag_format: "13.1.0-{sha}-{timestamp}"
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [#41](https://github.com/Ferlab-Ste-Justine/Post-processing-Pipeline/pull/41) Allow to customize the vep command
- [#41](https://github.com/Ferlab-Ste-Justine/Post-processing-Pipeline/pull/41) Improve parameter schema for params max_disk, max_memory, max_time
- [#41](https://github.com/Ferlab-Ste-Justine/Post-processing-Pipeline/pull/41) Consider only stable nextflow versions for ci test
- [#42](https://github.com/Ferlab-Ste-Justine/Post-processing-Pipeline/pull/42) Add docker image for exomiser 13.1.0

### `Known issues`
- The nf-core modules that we are using have a potential performance flaw. Typically, the regex used to describe the output files also match the input files (ex: "*.vcf"), which can cause unnecessary file transfers. This has already proven to cause issues on fusion. One fix could be to transfer the whole modules to local to perform the small change necessary to fix this.
- The VEP cache version used in the CQDG environment (112) does not match the default configured VEP version (111). This issue can be avoided by overriding the Docker container of the ensemblevep process. If no project is using VEP version 111, it should not be used as the default value.


### `Fixed`
- [#51](https://github.com/Ferlab-Ste-Justine/Post-processing-Pipeline/pull/41) Fix vep url pointing to the wrong vep version in the reference data documentation.
- [#41](https://github.com/Ferlab-Ste-Justine/Post-processing-Pipeline/pull/41) Fix vep url pointing to the wrong vep version in the reference data documentation.

## v2.1.0dev

Expand Down
9 changes: 8 additions & 1 deletion containers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,14 @@ utilities such as the AWS CLI and Rclone. Additionally, it provides more basic l
not included in the base nextflow image.

### Exomiser
This Docker image is based on the official Exomiser Docker image. It includes Exomiser tools but modifies the entrypoint to work with Nextflow on Kubernetes.

This Docker image is based on the official exomiser Docker image exomiser exomiser-cli:14.0.0-bash.
It is modified for compatibility with nextflow.

### Exomiser-13

This is a docker image allowing to run exomiser 13.1.0. One can substitute the resulting image with our default
exomiser image to run the pipeline with exomser 13.1.0.

## Local Testing Commands
Here is an example for the Nextflow image. You can adapt these commands for other images as needed.
Expand Down
42 changes: 42 additions & 0 deletions containers/exomiser-13/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
ARG EXOMISER_VERSION=13.1.0

# -------------------------------------------------------------------------- #
# Stage 1: using the distroless image to obtain exomiser distribution files #
# #
# We are using this image to guarantee the same packaging strategy as #
# in other exomiser-cli images #
# -------------------------------------------------------------------------- #
FROM exomiser/exomiser-cli:${EXOMISER_VERSION} AS builder


# -------------------------------------------------------------- #
# Stage 2: Create an image similar to exomiser cli bash images #
# #
# We replicate only the necessary logic to launch the same java #
# command as in other Exomiser images. #
# -------------------------------------------------------------- #

FROM eclipse-temurin:17.0.6_10-jre AS exomiser-cli-bash

COPY --from=builder /app /app


# ---------------------------------- #
# Stage 3: Add nextflow requirements #
# ---------------------------------- #

FROM exomiser-cli-bash

ARG EXOMISER_VERSION

# Adding ps to the container (required by nextflow)
RUN apt-get update && \
apt-get install -y procps=2:3.3.17-6ubuntu2.1 && \
rm -rf /var/lib/apt/lists/*


# Create a file containing the exomiser version, as there is no way to retrieve it from the exomiser-cli.
RUN echo ${EXOMISER_VERSION} > EXOMISER_VERSION.txt

# Required to execute exomiser docker with nextflow
ENTRYPOINT [ ]

0 comments on commit 56cb96b

Please sign in to comment.