diff --git a/.github/workflows/advanced.yaml b/.github/workflows/advanced.yaml index decbe086..fb728a8a 100644 --- a/.github/workflows/advanced.yaml +++ b/.github/workflows/advanced.yaml @@ -18,11 +18,11 @@ on: jobs: Testing-with-MultiQC: runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys + # needs: + # - Formatting + # - Linting + # - Testing-basic-v7 + # - Testing-basic-with-ashleys steps: - name: Checkout repository with submodules uses: actions/checkout@v4 @@ -32,8 +32,8 @@ jobs: - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 @@ -60,11 +60,11 @@ jobs: Testing-with-ms-norm: runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys + # needs: + # - Formatting + # - Linting + # - Testing-basic-v7 + # - Testing-basic-with-ashleys steps: - name: Checkout repository with submodules uses: actions/checkout@v4 @@ -74,8 +74,8 @@ jobs: - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 @@ -102,11 +102,11 @@ jobs: Testing-with-breakpointR-only: runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys + # needs: + # - Formatting + # - Linting + # - Testing-basic-v7 + # - Testing-basic-with-ashleys steps: - name: Checkout repository with submodules uses: actions/checkout@v4 @@ -116,8 +116,8 @@ jobs: - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 @@ -144,11 +144,11 @@ jobs: Testing-with-whatshap-only: runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys + # needs: + # - Formatting + # - Linting + # - Testing-basic-v7 + # - Testing-basic-with-ashleys steps: - name: Checkout repository with submodules uses: actions/checkout@v4 @@ -158,8 +158,8 @@ jobs: - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 diff --git a/.github/workflows/assemblies.yaml b/.github/workflows/assemblies.yaml index 2195ae16..1ebd3db6 100644 --- a/.github/workflows/assemblies.yaml +++ b/.github/workflows/assemblies.yaml @@ -18,23 +18,23 @@ on: jobs: Testing-with-hg38: runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys + # needs: + # - Formatting + # - Linting + # - Testing-basic-v7 + # - Testing-basic-with-ashleys # - Testing-basic-with-slurm steps: - name: Checkout repository with submodules and LFS uses: actions/checkout@v4 with: submodules: recursive - lfs: true + # lfs: true - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 @@ -61,23 +61,23 @@ jobs: Testing-with-hg19: runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys + # needs: + # - Formatting + # - Linting + # - Testing-basic-v7 + # - Testing-basic-with-ashleys # - Testing-basic-with-slurm steps: - name: Checkout repository with submodules and LFS uses: actions/checkout@v4 with: submodules: recursive - lfs: true + # lfs: true - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 @@ -104,23 +104,23 @@ jobs: Testing-with-T2T: runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys + # needs: + # - Formatting + # - Linting + # - Testing-basic-v7 + # - Testing-basic-with-ashleys # - Testing-basic-with-slurm steps: - name: Checkout repository with submodules and LFS uses: actions/checkout@v4 with: submodules: recursive - lfs: true + # lfs: true - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 @@ -147,23 +147,23 @@ jobs: Testing-with-mm10: runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys + # needs: + # - Formatting + # - Linting + # - Testing-basic-v7 + # - Testing-basic-with-ashleys # - Testing-basic-with-slurm steps: - name: Checkout repository with submodules and LFS uses: actions/checkout@v4 with: submodules: recursive - lfs: true + # lfs: true - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 6f6afa9f..023633aa 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -73,8 +73,8 @@ jobs: # Update references - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 @@ -125,8 +125,8 @@ jobs: - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 diff --git a/.github/workflows/main_v8.yaml b/.github/workflows/main_v8.yaml index af1313f5..784e1b30 100644 --- a/.github/workflows/main_v8.yaml +++ b/.github/workflows/main_v8.yaml @@ -14,16 +14,16 @@ jobs: # - Formatting # - Linting steps: - - name: Checkout repository with submodules and LFS + - name: Checkout repository with submodules uses: actions/checkout@v4 with: submodules: recursive - lfs: true + # lfs: true - name: Git Submodule Update run: | - git pull --recurse-submodules - git submodule update --remote --recursive + # git pull --recurse-submodules + git submodule update --remote --recursive --force --init - name: Setup Python uses: actions/setup-python@v5 diff --git a/afac/reorganise_landsdorp_data.py b/afac/reorganise_landsdorp_data.py new file mode 100644 index 00000000..7fb0d682 --- /dev/null +++ b/afac/reorganise_landsdorp_data.py @@ -0,0 +1,76 @@ +import os +import shutil +import sys +import pandas as pd +import logging + +# Set up logging +logging.basicConfig( + level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" +) + + +def rename_and_copy_fastq_files( + source_directory, target_directory, sample_name, cell_name +): + if not os.path.exists(target_directory): + os.makedirs(target_directory, exist_ok=True) + logging.info(f"Created directory: {target_directory}") + + for filename in os.listdir(source_directory): + if filename.endswith(".fastq.gz"): + new_filename = f"{cell_name}-{sample_name}-{filename}" + if ".1." or ".2." not in new_filename: + new_filename = new_filename.replace( + ".fastq.gz", ".1.fastq.gz" + ) # Format with cell_name and sample_name + + logging.info(f"Target directory: {target_directory}") + logging.info(f"New filename: {new_filename}") + + source_path = os.path.join(source_directory, filename) + target_path = os.path.join(target_directory, new_filename) + shutil.copy2(source_path, target_path) + logging.info(f"Copied and renamed from {source_path} to {target_path}") + # exit() + + +def process_samples(excel_path, source_base_directory, target_base_directory): + sample_data = pd.read_csv(excel_path, sep="\t") + # sample_data = sample_data.loc[sample_data["LIBRARY_LAYOUT"] == "SINGLE"] + sample_data["Sample_Name"] = sample_data["Source Name"].apply( + lambda x: x.split("_")[0] + ) + sample_data = sample_data[ + ["Sample_Name", "Characteristics[cell line]"] + ].drop_duplicates() + print(sample_data) + exit() + for index, row in sample_data.iterrows(): + source_name = row["Sample_Name"] + cell_line = row["Characteristics[cell line]"] + + source_directory = os.path.join(source_base_directory, source_name, "fastq") + logging.info(f"Source directory: {source_directory}") + logging.info(f"Source name: {source_name}") + logging.info(f"Cell line: {cell_line}") + logging.info(f"Target base directory: {target_base_directory}") + target_directory = os.path.join(target_base_directory, cell_line, "fastq") + + if os.path.exists(source_directory): + rename_and_copy_fastq_files( + source_directory, target_directory, source_name, cell_line + ) + else: + logging.warning(f"Source directory not found: {source_directory}") + + +if __name__ == "__main__": + if len(sys.argv) != 4: + logging.error( + "Usage: python script.py " + ) + sys.exit(1) + + _, excel_path, source_base_directory, target_base_directory = sys.argv + process_samples(excel_path, source_base_directory, target_base_directory) diff --git a/github-actions-runner/Dockerfile-2.3.3.dockerfile b/github-actions-runner/Dockerfile-2.3.3.dockerfile new file mode 100644 index 00000000..adc8c06d --- /dev/null +++ b/github-actions-runner/Dockerfile-2.3.3.dockerfile @@ -0,0 +1,307 @@ +FROM condaforge/mambaforge:latest +LABEL io.github.snakemake.containerized="true" +LABEL io.github.snakemake.conda_env_hash="22effd6350726c78ed86abb188186be7228dec306b43048f6071c6359f7ee6b7" + +# Step 1: Retrieve conda environments + +# Conda environment: +# source: https://github.com/friendsofstrandseq/ashleys-qc-pipeline/raw/2.3.3/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 +ADD https://github.com/friendsofstrandseq/ashleys-qc-pipeline/raw/2.3.3/workflow/envs/ashleys_base.yaml /conda-envs/eba7cf011bffb12bcf25d066f6955913/environment.yaml + +# Conda environment: +# source: https://github.com/friendsofstrandseq/ashleys-qc-pipeline/raw/2.3.3/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 +ADD https://github.com/friendsofstrandseq/ashleys-qc-pipeline/raw/2.3.3/workflow/envs/ashleys_rtools.yaml /conda-envs/9b847fc31baae8e01dfb7ce438a56b71/environment.yaml + +# 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/mc_base.yaml +# prefix: /conda-envs/13317d3185b8c4c0305fe98c6a708486 +# name: mc-base +# channels: +# - conda-forge +# - bioconda +# dependencies: +# - pandas +# - intervaltree +# - scipy +# - pysam +# - tqdm +# - perl +# - pypdf2 +# - parmap +# # NEW +# - pyyaml +# - seaborn +# - matplotlib +# # SOLVE se-pe detection +# - samtools +# # ArbiGent Hufsah deps +# - pytables +# - xopen +# # Fix jbrowse tracks generation +# - pybigwig +RUN mkdir -p /conda-envs/13317d3185b8c4c0305fe98c6a708486 +COPY workflow/envs/mc_base.yaml /conda-envs/13317d3185b8c4c0305fe98c6a708486/environment.yaml + +# Conda environment: +# source: workflow/envs/mc_bioinfo_tools.yaml +# prefix: /conda-envs/f251d84cdc9f25d0e14b48e780261d66 +# name: mc-bioinfo-tools +# channels: +# - conda-forge +# - bioconda +# dependencies: +# - bcftools +# - freebayes +# - mosaicatcher +# - samtools +# - tabix +# - whatshap +RUN mkdir -p /conda-envs/f251d84cdc9f25d0e14b48e780261d66 +COPY workflow/envs/mc_bioinfo_tools.yaml /conda-envs/f251d84cdc9f25d0e14b48e780261d66/environment.yaml + +# Conda environment: +# source: workflow/envs/rtools.yaml +# prefix: /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33 +# name: rtools +# channels: +# - bioconda +# - conda-forge +# - r +# - anaconda +# dependencies: +# # # NEW +# - strandphaser +# # ############### +# - bioconductor-biocparallel +# - bioconductor-bsgenome +# - bioconductor-bsgenome.hsapiens.ucsc.hg38 +# - bioconductor-complexheatmap +# # - bioconductor-fastseg +# - bioconductor-genomicalignments +# - bioconductor-genomicranges +# - bioconductor-rsamtools +# # - bioconductor-s4vectors +# - fonts-anaconda +# - r-assertthat +# - r-base +# - r-biocmanager +# - r-cairo +# - r-cowplot +# - r-data.table +# - r-devtools +# - r-doparallel +# - r-dplyr +# - r-foreach +# - r-ggplot2 +# - r-gplots +# - r-gtools +# - r-mc2d +# - r-rcolorbrewer +# - r-reshape2 +# - r-scales +# - r-stringr +# # SV_CALLS_DEV +# # - r-zoo +# - r-r.utils +# - r-ggnewscale +# # HEATMAP +# - r-tidyr +# # ARBIGENT +# - r-reshape +# - r-optparse +# - r-tidyr +# - r-ggbeeswarm +# - r-pheatmap +# # GC_correction +# - r-ggpubr +# - bioconductor-edger +# # SOLVE R lib issue +# - r-stringi=1.7.12 +# # breakpointr +# - bioconductor-breakpointr +RUN mkdir -p /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33 +COPY workflow/envs/rtools.yaml /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33/environment.yaml + +# Conda environment: +# source: workflow/envs/scNOVA/scNOVA_DL.yaml +# prefix: /conda-envs/667f8c581ac0b8e1ef11912ad74bf264 +# name: scNOVA_DL +# channels: +# - conda-forge +# - anaconda +# dependencies: +# - tensorflow=1.15.0 +# - scikit-learn=0.21.3 +# - python=3.7.4 +# - matplotlib=3.1.1 +# - pandas=0.25.3 +# - h5py=2.10.0 +# - numpy +# # scNOVA archive +# - unzip +# # Fix +# - pip: +# - cffi +RUN mkdir -p /conda-envs/667f8c581ac0b8e1ef11912ad74bf264 +COPY workflow/envs/scNOVA/scNOVA_DL.yaml /conda-envs/667f8c581ac0b8e1ef11912ad74bf264/environment.yaml + +# Conda environment: +# source: workflow/envs/scNOVA/scNOVA_R.yaml +# prefix: /conda-envs/193f60d48796dd17eb847ea689b863a9 +# name: scNOVA +# channels: +# - bioconda +# - conda-forge +# - r +# dependencies: +# - bioconductor-deseq2=1.30.0 +# - r-matrixstats=0.58.0 +# - r-pheatmap=1.0.12 +# - r-gplots=3.1.1 +# - r-umap=0.2.7.0 +# - r-rtsne=0.15 +# - r-factoextra=1.0.7 +# - r-pracma=2.3.3 +# - bioconductor-chromvar=1.12.0 +# - r-nabor=0.5.0 +# - bioconductor-motifmatchr=1.12.0 +# - bioconductor-bsgenome.hsapiens.ucsc.hg38=1.4.3 +# - bioconductor-jaspar2016=1.18.0 +# - r-codetools=0.2_18 +# - r-fitdistrplus +# - r-doparallel +# - r-foreach +RUN mkdir -p /conda-envs/193f60d48796dd17eb847ea689b863a9 +COPY workflow/envs/scNOVA/scNOVA_R.yaml /conda-envs/193f60d48796dd17eb847ea689b863a9/environment.yaml + +# Conda environment: +# source: workflow/envs/scNOVA/scNOVA_bioinfo_tools.yaml +# prefix: /conda-envs/ca9641251a8cb0057003875ad776c49f +# name: scNOVA_bioinfo_tools +# channels: +# - conda-forge +# - bioconda +# - anaconda +# dependencies: +# - samtools +# - biobambam +# - bedtools +RUN mkdir -p /conda-envs/ca9641251a8cb0057003875ad776c49f +COPY workflow/envs/scNOVA/scNOVA_bioinfo_tools.yaml /conda-envs/ca9641251a8cb0057003875ad776c49f/environment.yaml + +# Step 2: Generate conda environments + +RUN 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 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/13317d3185b8c4c0305fe98c6a708486 --file /conda-envs/13317d3185b8c4c0305fe98c6a708486/environment.yaml && \ + mamba env create --prefix /conda-envs/f251d84cdc9f25d0e14b48e780261d66 --file /conda-envs/f251d84cdc9f25d0e14b48e780261d66/environment.yaml && \ + mamba env create --prefix /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33 --file /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33/environment.yaml && \ + mamba env create --prefix /conda-envs/667f8c581ac0b8e1ef11912ad74bf264 --file /conda-envs/667f8c581ac0b8e1ef11912ad74bf264/environment.yaml && \ + mamba env create --prefix /conda-envs/193f60d48796dd17eb847ea689b863a9 --file /conda-envs/193f60d48796dd17eb847ea689b863a9/environment.yaml && \ + mamba env create --prefix /conda-envs/ca9641251a8cb0057003875ad776c49f --file /conda-envs/ca9641251a8cb0057003875ad776c49f/environment.yaml && \ + mamba clean --all -y +# CUSTOM PART +RUN wget https://zenodo.org/record/7697400/files/BSgenome.T2T.CHM13.V2_1.0.0.tar.gz -P /workflow/data/ref_genomes/ +COPY /workflow/scripts/utils/install_R_package.R /conda-envs/ +RUN chmod -R 0777 /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33/lib/R/library && /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33/bin/Rscript /conda-envs/install_R_package.R /workflow/data/ref_genomes/BSgenome.T2T.CHM13.V2_1.0.0.tar.gz diff --git a/github-actions-runner/Dockerfile-2.3.4.dockerfile b/github-actions-runner/Dockerfile-2.3.4.dockerfile new file mode 100644 index 00000000..adc8c06d --- /dev/null +++ b/github-actions-runner/Dockerfile-2.3.4.dockerfile @@ -0,0 +1,307 @@ +FROM condaforge/mambaforge:latest +LABEL io.github.snakemake.containerized="true" +LABEL io.github.snakemake.conda_env_hash="22effd6350726c78ed86abb188186be7228dec306b43048f6071c6359f7ee6b7" + +# Step 1: Retrieve conda environments + +# Conda environment: +# source: https://github.com/friendsofstrandseq/ashleys-qc-pipeline/raw/2.3.3/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 +ADD https://github.com/friendsofstrandseq/ashleys-qc-pipeline/raw/2.3.3/workflow/envs/ashleys_base.yaml /conda-envs/eba7cf011bffb12bcf25d066f6955913/environment.yaml + +# Conda environment: +# source: https://github.com/friendsofstrandseq/ashleys-qc-pipeline/raw/2.3.3/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 +ADD https://github.com/friendsofstrandseq/ashleys-qc-pipeline/raw/2.3.3/workflow/envs/ashleys_rtools.yaml /conda-envs/9b847fc31baae8e01dfb7ce438a56b71/environment.yaml + +# 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/mc_base.yaml +# prefix: /conda-envs/13317d3185b8c4c0305fe98c6a708486 +# name: mc-base +# channels: +# - conda-forge +# - bioconda +# dependencies: +# - pandas +# - intervaltree +# - scipy +# - pysam +# - tqdm +# - perl +# - pypdf2 +# - parmap +# # NEW +# - pyyaml +# - seaborn +# - matplotlib +# # SOLVE se-pe detection +# - samtools +# # ArbiGent Hufsah deps +# - pytables +# - xopen +# # Fix jbrowse tracks generation +# - pybigwig +RUN mkdir -p /conda-envs/13317d3185b8c4c0305fe98c6a708486 +COPY workflow/envs/mc_base.yaml /conda-envs/13317d3185b8c4c0305fe98c6a708486/environment.yaml + +# Conda environment: +# source: workflow/envs/mc_bioinfo_tools.yaml +# prefix: /conda-envs/f251d84cdc9f25d0e14b48e780261d66 +# name: mc-bioinfo-tools +# channels: +# - conda-forge +# - bioconda +# dependencies: +# - bcftools +# - freebayes +# - mosaicatcher +# - samtools +# - tabix +# - whatshap +RUN mkdir -p /conda-envs/f251d84cdc9f25d0e14b48e780261d66 +COPY workflow/envs/mc_bioinfo_tools.yaml /conda-envs/f251d84cdc9f25d0e14b48e780261d66/environment.yaml + +# Conda environment: +# source: workflow/envs/rtools.yaml +# prefix: /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33 +# name: rtools +# channels: +# - bioconda +# - conda-forge +# - r +# - anaconda +# dependencies: +# # # NEW +# - strandphaser +# # ############### +# - bioconductor-biocparallel +# - bioconductor-bsgenome +# - bioconductor-bsgenome.hsapiens.ucsc.hg38 +# - bioconductor-complexheatmap +# # - bioconductor-fastseg +# - bioconductor-genomicalignments +# - bioconductor-genomicranges +# - bioconductor-rsamtools +# # - bioconductor-s4vectors +# - fonts-anaconda +# - r-assertthat +# - r-base +# - r-biocmanager +# - r-cairo +# - r-cowplot +# - r-data.table +# - r-devtools +# - r-doparallel +# - r-dplyr +# - r-foreach +# - r-ggplot2 +# - r-gplots +# - r-gtools +# - r-mc2d +# - r-rcolorbrewer +# - r-reshape2 +# - r-scales +# - r-stringr +# # SV_CALLS_DEV +# # - r-zoo +# - r-r.utils +# - r-ggnewscale +# # HEATMAP +# - r-tidyr +# # ARBIGENT +# - r-reshape +# - r-optparse +# - r-tidyr +# - r-ggbeeswarm +# - r-pheatmap +# # GC_correction +# - r-ggpubr +# - bioconductor-edger +# # SOLVE R lib issue +# - r-stringi=1.7.12 +# # breakpointr +# - bioconductor-breakpointr +RUN mkdir -p /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33 +COPY workflow/envs/rtools.yaml /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33/environment.yaml + +# Conda environment: +# source: workflow/envs/scNOVA/scNOVA_DL.yaml +# prefix: /conda-envs/667f8c581ac0b8e1ef11912ad74bf264 +# name: scNOVA_DL +# channels: +# - conda-forge +# - anaconda +# dependencies: +# - tensorflow=1.15.0 +# - scikit-learn=0.21.3 +# - python=3.7.4 +# - matplotlib=3.1.1 +# - pandas=0.25.3 +# - h5py=2.10.0 +# - numpy +# # scNOVA archive +# - unzip +# # Fix +# - pip: +# - cffi +RUN mkdir -p /conda-envs/667f8c581ac0b8e1ef11912ad74bf264 +COPY workflow/envs/scNOVA/scNOVA_DL.yaml /conda-envs/667f8c581ac0b8e1ef11912ad74bf264/environment.yaml + +# Conda environment: +# source: workflow/envs/scNOVA/scNOVA_R.yaml +# prefix: /conda-envs/193f60d48796dd17eb847ea689b863a9 +# name: scNOVA +# channels: +# - bioconda +# - conda-forge +# - r +# dependencies: +# - bioconductor-deseq2=1.30.0 +# - r-matrixstats=0.58.0 +# - r-pheatmap=1.0.12 +# - r-gplots=3.1.1 +# - r-umap=0.2.7.0 +# - r-rtsne=0.15 +# - r-factoextra=1.0.7 +# - r-pracma=2.3.3 +# - bioconductor-chromvar=1.12.0 +# - r-nabor=0.5.0 +# - bioconductor-motifmatchr=1.12.0 +# - bioconductor-bsgenome.hsapiens.ucsc.hg38=1.4.3 +# - bioconductor-jaspar2016=1.18.0 +# - r-codetools=0.2_18 +# - r-fitdistrplus +# - r-doparallel +# - r-foreach +RUN mkdir -p /conda-envs/193f60d48796dd17eb847ea689b863a9 +COPY workflow/envs/scNOVA/scNOVA_R.yaml /conda-envs/193f60d48796dd17eb847ea689b863a9/environment.yaml + +# Conda environment: +# source: workflow/envs/scNOVA/scNOVA_bioinfo_tools.yaml +# prefix: /conda-envs/ca9641251a8cb0057003875ad776c49f +# name: scNOVA_bioinfo_tools +# channels: +# - conda-forge +# - bioconda +# - anaconda +# dependencies: +# - samtools +# - biobambam +# - bedtools +RUN mkdir -p /conda-envs/ca9641251a8cb0057003875ad776c49f +COPY workflow/envs/scNOVA/scNOVA_bioinfo_tools.yaml /conda-envs/ca9641251a8cb0057003875ad776c49f/environment.yaml + +# Step 2: Generate conda environments + +RUN 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 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/13317d3185b8c4c0305fe98c6a708486 --file /conda-envs/13317d3185b8c4c0305fe98c6a708486/environment.yaml && \ + mamba env create --prefix /conda-envs/f251d84cdc9f25d0e14b48e780261d66 --file /conda-envs/f251d84cdc9f25d0e14b48e780261d66/environment.yaml && \ + mamba env create --prefix /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33 --file /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33/environment.yaml && \ + mamba env create --prefix /conda-envs/667f8c581ac0b8e1ef11912ad74bf264 --file /conda-envs/667f8c581ac0b8e1ef11912ad74bf264/environment.yaml && \ + mamba env create --prefix /conda-envs/193f60d48796dd17eb847ea689b863a9 --file /conda-envs/193f60d48796dd17eb847ea689b863a9/environment.yaml && \ + mamba env create --prefix /conda-envs/ca9641251a8cb0057003875ad776c49f --file /conda-envs/ca9641251a8cb0057003875ad776c49f/environment.yaml && \ + mamba clean --all -y +# CUSTOM PART +RUN wget https://zenodo.org/record/7697400/files/BSgenome.T2T.CHM13.V2_1.0.0.tar.gz -P /workflow/data/ref_genomes/ +COPY /workflow/scripts/utils/install_R_package.R /conda-envs/ +RUN chmod -R 0777 /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33/lib/R/library && /conda-envs/20d80620cbddf1a1f6c1457dd1ad4a33/bin/Rscript /conda-envs/install_R_package.R /workflow/data/ref_genomes/BSgenome.T2T.CHM13.V2_1.0.0.tar.gz diff --git a/workflow/rules/breakpointr.smk b/workflow/rules/breakpointr.smk index a59abebd..a75d4b66 100644 --- a/workflow/rules/breakpointr.smk +++ b/workflow/rules/breakpointr.smk @@ -25,7 +25,7 @@ rule run_breakpointr: "../envs/rtools.yaml" resources: mem_mb=get_mem_mb_heavy, - time=600, + time="10:00:00", params: input_bam=lambda wc: "{}/{}/selected".format(config["data_location"], wc.sample), shell: