diff --git a/.github/workflows/build_deploy_container.yaml b/.github/workflows/build_deploy_container.yaml index 9d31810..69d9238 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: @@ -16,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 @@ -29,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:$IMAGE_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: | @@ -47,5 +52,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 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:

+

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.


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"]