From a8950be82edde0fcdfa808ecc099d4567d1fedf2 Mon Sep 17 00:00:00 2001 From: Ollie Date: Thu, 13 Jun 2024 15:10:26 +0100 Subject: [PATCH 1/4] Updated container build workflow --- .github/workflows/build_deploy_container.yaml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_deploy_container.yaml b/.github/workflows/build_deploy_container.yaml index 9d31810..f9e5965 100644 --- a/.github/workflows/build_deploy_container.yaml +++ b/.github/workflows/build_deploy_container.yaml @@ -4,6 +4,10 @@ on: release: types: [created] workflow_dispatch: + inputs: + tag: + description: 'Tag for the release' + required: true jobs: build-and-deploy: @@ -29,7 +33,7 @@ jobs: - name: Build and Push Docker Image run: | - docker buildx build --platform linux/amd64 -t $DOCKER_IMAGE_NAME:latest -t $DOCKER_IMAGE_NAME:$IMAGE_TAG --push . + docker buildx build --platform linux/amd64 -t $DOCKER_IMAGE_NAME:latest -t $DOCKER_IMAGE_NAME:${{ github.event.inputs.tag }} --push . - name: Install Singularity run: | @@ -47,5 +51,6 @@ jobs: - name: Push Singularity Image to Singularity Library run: | singularity push ${GITHUB_WORKSPACE}/image.sif $SINGULARITY_IMAGE_NAME:latest - singularity build ${GITHUB_WORKSPACE}/image_$IMAGE_TAG.sif docker-daemon://${DOCKER_IMAGE_NAME}:$IMAGE_TAG - singularity push ${GITHUB_WORKSPACE}/image_$IMAGE_TAG.sif $SINGULARITY_IMAGE_NAME:$IMAGE_TAG \ No newline at end of file + singularity build ${GITHUB_WORKSPACE}/image_${{ github.event.inputs.tag }}.sif docker-daemon://${DOCKER_IMAGE_NAME}:${{ github.event.inputs.tag }} + singularity push ${GITHUB_WORKSPACE}/image_${{ github.event.inputs.tag }}.sif $SINGULARITY_IMAGE_NAME:${{ github.event.inputs.tag }} + \ No newline at end of file From c2bd657ee1565c912117c71b15e55108dfea7adb Mon Sep 17 00:00:00 2001 From: Ollie Date: Thu, 13 Jun 2024 15:13:03 +0100 Subject: [PATCH 2/4] Updated dockerfile to be the latest version of the repo --- pipeline/misc/docker/Dockerfile | 82 ++++++++++++++++----------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/pipeline/misc/docker/Dockerfile b/pipeline/misc/docker/Dockerfile index 08ee87d..2c270f2 100644 --- a/pipeline/misc/docker/Dockerfile +++ b/pipeline/misc/docker/Dockerfile @@ -1,41 +1,41 @@ -# Use the base image -FROM ubuntu:latest - -# Run commands in a single RUN layer to reduce the image size -RUN apt-get update && \ - apt-get install -y git curl wget zip gzip vim build-essential zlib1g-dev jq && \ - - # Create a wrapper script for tar that includes --no-same-owner - echo '#!/bin/sh' > /usr/local/bin/tar && \ - echo 'exec /bin/tar --no-same-owner "$@"' >> /usr/local/bin/tar && \ - chmod +x /usr/local/bin/tar - -# Install Mambaforge -RUN wget https://github.com/conda-forge/miniforge/releases/download/4.10.3-10/Mambaforge-4.10.3-10-Linux-x86_64.sh && \ - bash Mambaforge-4.10.3-10-Linux-x86_64.sh -b -p /opt/mambaforge && \ - rm Mambaforge-4.10.3-10-Linux-x86_64.sh - -# Download GenoPred -RUN mkdir -p /tools/GenoPred && \ - cd /tools/GenoPred && \ - git clone --depth 1 --branch v2.2.7 https://github.com/opain/GenoPred.git . && \ - git fetch --tags - -# Create genopred env -RUN /opt/mambaforge/bin/conda init bash && \ - echo "source /opt/mambaforge/etc/profile.d/conda.sh" >> /etc/bash.bashrc && \ - . /opt/mambaforge/etc/profile.d/conda.sh && \ - mamba env update -n genopred -f /tools/GenoPred/pipeline/envs/pipeline.yaml && \ - mamba clean -a -y - -# Run initial snakemake command to setup dependencies -RUN /opt/mambaforge/bin/conda init bash && \ - echo "source /opt/mambaforge/etc/profile.d/conda.sh" >> /etc/bash.bashrc && \ - . /opt/mambaforge/etc/profile.d/conda.sh && \ - conda activate genopred && \ - cd /tools/GenoPred/pipeline && \ - snakemake --restart-times 3 -j1 --use-conda --conda-frontend mamba install_r_packages resources/software/pgscatalog_utils/download_pgscatalog_utils.done && \ - mamba clean -a -y - -ENTRYPOINT ["/bin/bash"] -CMD ["-c", "source /opt/mambaforge/etc/profile.d/conda.sh && conda init && source ~/.bashrc && conda activate genopred && cd /tools/GenoPred/pipeline && exec /bin/bash"] +# Use the base image +FROM ubuntu:latest + +# Run commands in a single RUN layer to reduce the image size +RUN apt-get update && \ + apt-get install -y git curl wget zip gzip vim build-essential zlib1g-dev jq && \ + + # Create a wrapper script for tar that includes --no-same-owner + echo '#!/bin/sh' > /usr/local/bin/tar && \ + echo 'exec /bin/tar --no-same-owner "$@"' >> /usr/local/bin/tar && \ + chmod +x /usr/local/bin/tar + +# Install Mambaforge +RUN wget https://github.com/conda-forge/miniforge/releases/download/4.10.3-10/Mambaforge-4.10.3-10-Linux-x86_64.sh && \ + bash Mambaforge-4.10.3-10-Linux-x86_64.sh -b -p /opt/mambaforge && \ + rm Mambaforge-4.10.3-10-Linux-x86_64.sh + +# Download GenoPred +RUN mkdir -p /tools/GenoPred && \ + cd /tools/GenoPred && \ + git clone --depth 1 https://github.com/opain/GenoPred.git . && \ + git fetch --tags + +# Create genopred env +RUN /opt/mambaforge/bin/conda init bash && \ + echo "source /opt/mambaforge/etc/profile.d/conda.sh" >> /etc/bash.bashrc && \ + . /opt/mambaforge/etc/profile.d/conda.sh && \ + mamba env update -n genopred -f /tools/GenoPred/pipeline/envs/pipeline.yaml && \ + mamba clean -a -y + +# Run initial snakemake command to setup dependencies +RUN /opt/mambaforge/bin/conda init bash && \ + echo "source /opt/mambaforge/etc/profile.d/conda.sh" >> /etc/bash.bashrc && \ + . /opt/mambaforge/etc/profile.d/conda.sh && \ + conda activate genopred && \ + cd /tools/GenoPred/pipeline && \ + snakemake --restart-times 3 -j1 --use-conda --conda-frontend mamba install_r_packages resources/software/pgscatalog_utils/download_pgscatalog_utils.done && \ + mamba clean -a -y + +ENTRYPOINT ["/bin/bash"] +CMD ["-c", "source /opt/mambaforge/etc/profile.d/conda.sh && conda init && source ~/.bashrc && conda activate genopred && cd /tools/GenoPred/pipeline && exec /bin/bash"] From 2fa1663747b88bcf9af281f03abed137cc28979e Mon Sep 17 00:00:00 2001 From: Ollie Date: Thu, 13 Jun 2024 15:14:44 +0100 Subject: [PATCH 3/4] Updated workflow --- .github/workflows/build_deploy_container.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_deploy_container.yaml b/.github/workflows/build_deploy_container.yaml index f9e5965..69d9238 100644 --- a/.github/workflows/build_deploy_container.yaml +++ b/.github/workflows/build_deploy_container.yaml @@ -20,7 +20,8 @@ jobs: DOCKER_IMAGE_NAME: opaino/genopred_pipeline SINGULARITY_IMAGE_NAME: library://opain/genopred IMAGE_TAG: ${{ github.ref_name }} - + DOCKERFILE_PATH: pipeline/misc/docker/Dockerfile + steps: - name: Checkout code uses: actions/checkout@v2 @@ -33,7 +34,7 @@ jobs: - name: Build and Push Docker Image run: | - docker buildx build --platform linux/amd64 -t $DOCKER_IMAGE_NAME:latest -t $DOCKER_IMAGE_NAME:${{ github.event.inputs.tag }} --push . + docker buildx build --platform linux/amd64 -f $DOCKERFILE_PATH -t $DOCKER_IMAGE_NAME:latest -t $DOCKER_IMAGE_NAME:${{ github.event.inputs.tag }} --push . - name: Install Singularity run: | From 5f3a79ba0d998a6823134445f305e894b3203f21 Mon Sep 17 00:00:00 2001 From: Ollie Date: Thu, 13 Jun 2024 16:25:44 +0100 Subject: [PATCH 4/4] Updated docs to include preprint --- docs/pipeline_overview.Rmd | 5 +++-- docs/pipeline_overview.html | 13 ++++++++----- docs/pipeline_readme.Rmd | 8 ++++++-- docs/pipeline_readme.html | 18 +++++++++++++----- docs/pipeline_technical.Rmd | 11 +++++++++-- docs/pipeline_technical.html | 21 +++++++++++++++++---- 6 files changed, 56 insertions(+), 20 deletions(-) diff --git a/docs/pipeline_overview.Rmd b/docs/pipeline_overview.Rmd index b205282..1ae0a07 100644 --- a/docs/pipeline_overview.Rmd +++ b/docs/pipeline_overview.Rmd @@ -51,8 +51,9 @@ The pipeline uses the Snakemake workflow manager and conda environments providin *** -**Please cite the following paper** when you use the GenoPred pipeline: -Pain, Oliver, et al. "Evaluation of polygenic prediction methodology within a reference-standardized framework." PLoS genetics 17.5 (2021): e1009021. +# Preprint + +Check out our preprint describing the pipeline: "The GenoPred Pipeline: A Comprehensive and Scalable Pipeline for Polygenic Scoring." - Link *** diff --git a/docs/pipeline_overview.html b/docs/pipeline_overview.html index 2af9601..de94f04 100644 --- a/docs/pipeline_overview.html +++ b/docs/pipeline_overview.html @@ -13,7 +13,7 @@ GenoPred Pipeline - + @@ -389,10 +389,13 @@

Promo Video


-

Please cite the following paper when you use the -GenoPred pipeline: Pain, Oliver, et al. “Evaluation of polygenic -prediction methodology within a reference-standardized framework.” PLoS -genetics 17.5 (2021): e1009021.

+ +
+

Preprint

+

Check out our preprint describing the pipeline: “The GenoPred +Pipeline: A Comprehensive and Scalable Pipeline for Polygenic Scoring.” +- +Link


diff --git a/docs/pipeline_readme.Rmd b/docs/pipeline_readme.Rmd index 61c8f96..651d0d1 100644 --- a/docs/pipeline_readme.Rmd +++ b/docs/pipeline_readme.Rmd @@ -39,9 +39,13 @@ For a technical details of the GenoPred pipeline, click [here](pipeline_technica **Citations** -Please cite our paper describing the reference-standardised approach used by the GenoPred pipeline: +Please cite our preprint when using the pipeline: -- Pain, Oliver, et al. "Evaluation of polygenic prediction methodology within a reference-standardized framework." PLoS genetics 17.5 (2021): e1009021. +- "Pain, O. et al. "The GenoPred Pipeline: A Comprehensive and Scalable Pipeline for Polygenic Scoring." MedRxiv 2024. https://doi.org/10.1101/2024.06.12.24308843 + +If relevant, please also cite our paper comparing polygenic scoring methods and describing the reference-standardised approach: + +- Pain, O. et al. "Evaluation of polygenic prediction methodology within a reference-standardized framework." PLoS genetics. https://doi.org/10.1371/journal.pgen.1009021 Please also cite the relevant studies for the tools and data used by the GenoPred pipeline. diff --git a/docs/pipeline_readme.html b/docs/pipeline_readme.html index be9a30b..d4bcce1 100644 --- a/docs/pipeline_readme.html +++ b/docs/pipeline_readme.html @@ -449,12 +449,20 @@

GenoPred Pipeline - Instructions

GenoPred pipeline, click here.


Citations

-

Please cite our paper describing the reference-standardised approach -used by the GenoPred pipeline:

+

Please cite our preprint when using the pipeline:

    -
  • Pain, Oliver, et al. “Evaluation of polygenic prediction methodology -within a reference-standardized framework.” PLoS genetics 17.5 (2021): -e1009021.
  • +
  • “Pain, O. et al. ”The GenoPred Pipeline: A Comprehensive and +Scalable Pipeline for Polygenic Scoring.” MedRxiv 2024. https://doi.org/10.1101/2024.06.12.24308843
  • +
+

If relevant, please also cite our paper comparing polygenic scoring +methods and describing the reference-standardised approach:

+

Please also cite the relevant studies for the tools and data used by the GenoPred pipeline.

diff --git a/docs/pipeline_technical.Rmd b/docs/pipeline_technical.Rmd index 4b93eea..bb1cbb5 100644 --- a/docs/pipeline_technical.Rmd +++ b/docs/pipeline_technical.Rmd @@ -24,8 +24,15 @@ library(data.table) This document provides technical details of the GenoPred pipeline. The GenoPred pipeline automates the process of calculating polygenic scores. The pipeline aims to implement the current practises for polygenic scoring. See [here](pipeline_overview.html) more general information regarding the GenoPred pipeline. -**Please cite the following paper** when you use the GenoPred pipeline: -Pain, Oliver, et al. "Evaluation of polygenic prediction methodology within a reference-standardized framework." PLoS genetics 17.5 (2021): e1009021. +Please cite our preprint when using the pipeline: + +- "Pain, O. et al. "The GenoPred Pipeline: A Comprehensive and Scalable Pipeline for Polygenic Scoring." MedRxiv 2024. https://doi.org/10.1101/2024.06.12.24308843 + +If relevant, please also cite our paper comparing polygenic scoring methods and describing the reference-standardised approach: + +- Pain, O. et al. "Evaluation of polygenic prediction methodology within a reference-standardized framework." PLoS genetics. https://doi.org/10.1371/journal.pgen.1009021 + +Please also cite the relevant studies for the tools and data used by the GenoPred pipeline. *** diff --git a/docs/pipeline_technical.html b/docs/pipeline_technical.html index a7b0a44..046575e 100644 --- a/docs/pipeline_technical.html +++ b/docs/pipeline_technical.html @@ -437,10 +437,23 @@

Introduction

scores. The pipeline aims to implement the current practises for polygenic scoring. See here more general information regarding the GenoPred pipeline.

-

Please cite the following paper when you use the -GenoPred pipeline: Pain, Oliver, et al. “Evaluation of polygenic -prediction methodology within a reference-standardized framework.” PLoS -genetics 17.5 (2021): e1009021.

+

Please cite our preprint when using the pipeline:

+ +

If relevant, please also cite our paper comparing polygenic scoring +methods and describing the reference-standardised approach:

+ +

Please also cite the relevant studies for the tools and data used by +the GenoPred pipeline.