diff --git a/config/config.yaml b/config/config.yaml index 1497cde..88ce4cf 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,7 +1,7 @@ # -------------------------------------------------------- # Ashleys-QC pipeline Configuration # -------------------------------------------------------- -version: 2.3.0 +version: 2.3.1 # Email for notifications about the pipeline's status email: "" diff --git a/github-actions-runner/Dockerfile-2.3.1.dockerfile b/github-actions-runner/Dockerfile-2.3.1.dockerfile new file mode 100644 index 0000000..c194dc9 --- /dev/null +++ b/github-actions-runner/Dockerfile-2.3.1.dockerfile @@ -0,0 +1,120 @@ +FROM condaforge/mambaforge:latest +LABEL io.github.snakemake.containerized="true" +LABEL io.github.snakemake.conda_env_hash="b4bf346d2b78ca78f3eab94bacc2a487b682a40690bd07db57f6c50bb52d1ce0" + +# Step 1: Retrieve conda environments + +# Conda environment: +# source: https://github.com/snakemake/snakemake-wrappers/raw/v1.7.0/bio/bwa/index/environment.yaml +# prefix: /conda-envs/5681728a49bd83ceed09ba194330c858 +# channels: +# - bioconda +# - conda-forge +# - defaults +# dependencies: +# - bwa ==0.7.17 +RUN mkdir -p /conda-envs/5681728a49bd83ceed09ba194330c858 +ADD https://github.com/snakemake/snakemake-wrappers/raw/v1.7.0/bio/bwa/index/environment.yaml /conda-envs/5681728a49bd83ceed09ba194330c858/environment.yaml + +# Conda environment: +# source: https://github.com/snakemake/snakemake-wrappers/raw/v1.7.0/bio/fastqc/environment.yaml +# prefix: /conda-envs/08d4368302a4bdf7eda6b536495efe7d +# channels: +# - bioconda +# - conda-forge +# - defaults +# dependencies: +# - fastqc ==0.11.9 +RUN mkdir -p /conda-envs/08d4368302a4bdf7eda6b536495efe7d +ADD https://github.com/snakemake/snakemake-wrappers/raw/v1.7.0/bio/fastqc/environment.yaml /conda-envs/08d4368302a4bdf7eda6b536495efe7d/environment.yaml + +# Conda environment: +# source: workflow/envs/ashleys_base.yaml +# prefix: /conda-envs/eba7cf011bffb12bcf25d066f6955913 +# name: ashleys_base +# channels: +# - conda-forge +# - bioconda +# dependencies: +# - samtools +# - tabix +# - bwa +# - sambamba +# - mosaicatcher +# # - alfred +# - ashleys-qc +# - pandas +# # PUBLISHDIR +# - rsync +# # MULTIQC +# - multiqc +# # Fix sklearn update +# - scikit-learn=1.2.2 +# # Fix ashleys GH issue +# - python=3.10 +RUN mkdir -p /conda-envs/eba7cf011bffb12bcf25d066f6955913 +COPY workflow/envs/ashleys_base.yaml /conda-envs/eba7cf011bffb12bcf25d066f6955913/environment.yaml + +# Conda environment: +# source: workflow/envs/ashleys_rtools.yaml +# prefix: /conda-envs/9b847fc31baae8e01dfb7ce438a56b71 +# name: rtools +# channels: +# - conda-forge +# - bioconda +# - r +# - anaconda +# dependencies: +# # - bioconductor-biocparallel +# # - bioconductor-bsgenome +# # - bioconductor-bsgenome.hsapiens.ucsc.hg19 +# # - bioconductor-bsgenome.hsapiens.ucsc.hg38 +# # - bioconductor-fastseg +# # - bioconductor-genomicalignments +# - bioconductor-genomicranges +# # - bioconductor-rsamtools +# # - bioconductor-s4vectors +# - r-assertthat +# - r-base +# # - r-biocmanager +# - r-cowplot +# - r-data.table +# # - r-devtools +# # - r-doparallel +# # - r-foreach +# - r-ggplot2 +# # - r-gtools +# - r-reshape2 +# # - r-zoo +# # - r-dplyr +# # - r-mc2d +# # - r-pheatmap +# # - bioconductor-complexheatmap +# # - r-gplots +# - r-scales +# - r-rcolorbrewer +# # - r-stringr +# - r-cairo +# - fonts-anaconda +# # NEW +# - bioconductor-edger +# - r-r.utils +# # PLATE PLOT +# - r-dplyr +# - r-platetools +# - r-viridis +# # GC_correction +# - r-tidyr +# - r-ggpubr +# # SOLVE R lib issue +# - r-stringi=1.7.12 +RUN mkdir -p /conda-envs/9b847fc31baae8e01dfb7ce438a56b71 +COPY workflow/envs/ashleys_rtools.yaml /conda-envs/9b847fc31baae8e01dfb7ce438a56b71/environment.yaml + +# Step 2: Generate conda environments + +RUN mamba env create --prefix /conda-envs/5681728a49bd83ceed09ba194330c858 --file /conda-envs/5681728a49bd83ceed09ba194330c858/environment.yaml && \ + mamba env create --prefix /conda-envs/08d4368302a4bdf7eda6b536495efe7d --file /conda-envs/08d4368302a4bdf7eda6b536495efe7d/environment.yaml && \ + mamba env create --prefix /conda-envs/eba7cf011bffb12bcf25d066f6955913 --file /conda-envs/eba7cf011bffb12bcf25d066f6955913/environment.yaml && \ + mamba env create --prefix /conda-envs/9b847fc31baae8e01dfb7ce438a56b71 --file /conda-envs/9b847fc31baae8e01dfb7ce438a56b71/environment.yaml && \ + mamba clean --all -y diff --git a/workflow/Snakefile b/workflow/Snakefile index 4e4e206..48418db 100644 --- a/workflow/Snakefile +++ b/workflow/Snakefile @@ -31,10 +31,10 @@ if config["list_commands"] is False: input: get_final_result(), - if config["email"]: - onsuccess: - onsuccess_fct(log) +# if config["email"]: - onerror: - onerror_fct(log) +# onsuccess: +# onsuccess_fct(log) +# onerror: +# onerror_fct(log) diff --git a/workflow/rules/common.smk b/workflow/rules/common.smk index 4e1f0ba..e936de0 100644 --- a/workflow/rules/common.smk +++ b/workflow/rules/common.smk @@ -40,7 +40,7 @@ if config["mosaicatcher_pipeline"] == False: "chr" + str(e) for e in list(range(1, 20)) + ["X", "Y"] ] - from scripts.utils import make_log_useful_ashleys, pipeline_aesthetic_start_ashleys + from scripts.utils import pipeline_aesthetic_start_ashleys if config["list_commands"] is True: pipeline_aesthetic_start_ashleys.argparse_help(config) @@ -63,32 +63,32 @@ if config["mosaicatcher_pipeline"] == False: ) -def onsuccess_fct(log): - config_metadata = config_definitions = yaml.safe_load( - open(configfile_location.replace("config.yaml", "config_metadata.yaml"), "r") - ) - log_path_new = make_log_useful_ashleys.make_log_useful( - log, "SUCCESS", config, config_metadata - ) - shell( - 'mail -s "[Snakemake] smk-wf-catalog/ashleys-qc-pipeline v{} - Run on {} - SUCCESS" {} < {}'.format( - config["version"], config["data_location"], config["email"], log_path_new - ) - ) - - -def onerror_fct(log): - config_metadata = config_definitions = yaml.safe_load( - open(configfile_location.replace("config.yaml", "config_metadata.yaml"), "r") - ) - log_path_new = make_log_useful_ashleys.make_log_useful( - log, "ERROR", config, config_metadata - ) - shell( - 'mail -s "[Snakemake] smk-wf-catalog/ashleys-qc-pipeline v{} - Run on {} - ERRROR" {} < {}'.format( - config["version"], config["data_location"], config["email"], log_path_new - ) - ) +# def onsuccess_fct(log): +# config_metadata = config_definitions = yaml.safe_load( +# open(configfile_location.replace("config.yaml", "config_metadata.yaml"), "r") +# ) +# log_path_new = make_log_useful_ashleys.make_log_useful( +# log, "SUCCESS", config, config_metadata +# ) +# shell( +# 'mail -s "[Snakemake] smk-wf-catalog/ashleys-qc-pipeline v{} - Run on {} - SUCCESS" {} < {}'.format( +# config["version"], config["data_location"], config["email"], log_path_new +# ) +# ) + + +# def onerror_fct(log): +# config_metadata = config_definitions = yaml.safe_load( +# open(configfile_location.replace("config.yaml", "config_metadata.yaml"), "r") +# ) +# log_path_new = make_log_useful_ashleys.make_log_useful( +# log, "ERROR", config, config_metadata +# ) +# shell( +# 'mail -s "[Snakemake] smk-wf-catalog/ashleys-qc-pipeline v{} - Run on {} - ERRROR" {} < {}'.format( +# config["version"], config["data_location"], config["email"], log_path_new +# ) +# ) # Simple class to retrieve automatically files in the fastq/bam folder and create a config dataframe