diff --git a/.github/workflows/advanced.yaml b/.github/workflows/advanced.yaml new file mode 100644 index 00000000..decbe086 --- /dev/null +++ b/.github/workflows/advanced.yaml @@ -0,0 +1,185 @@ +name: MosaiCatcher advanced modules checks + +on: + workflow_dispatch: + inputs: + logLevel: + description: "Log level" + required: true + default: "warning" + type: choice + options: + - info + - warning + - debug + schedule: + - cron: "0 0 * * 0" + +jobs: + Testing-with-MultiQC: + runs-on: ubuntu-latest + needs: + - Formatting + - Linting + - Testing-basic-v7 + - Testing-basic-with-ashleys + steps: + - name: Checkout repository with submodules + uses: actions/checkout@v4 + with: + submodules: recursive + # lfs: true + + - name: Git Submodule Update + run: | + git pull --recurse-submodules + git submodule update --remote --recursive + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Add Conda to system path + run: echo "$CONDA/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: conda install -c conda-forge mamba + + - name: Setup Snakemake + run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 + + - name: List options of workflow + run: | + snakemake --cores 1 --config list_commands=True --verbose --debug + + - name: Run workflow + run: | + snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml --config MultiQC=True ashleys_pipeline=True \ + --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile + + Testing-with-ms-norm: + runs-on: ubuntu-latest + needs: + - Formatting + - Linting + - Testing-basic-v7 + - Testing-basic-with-ashleys + steps: + - name: Checkout repository with submodules + uses: actions/checkout@v4 + with: + submodules: recursive + # lfs: true + + - name: Git Submodule Update + run: | + git pull --recurse-submodules + git submodule update --remote --recursive + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Add Conda to system path + run: echo "$CONDA/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: conda install -c conda-forge mamba + + - name: Setup Snakemake + run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 + + - name: List options of workflow + run: | + snakemake --cores 1 --config list_commands=True --verbose --debug + + - name: Run workflow + run: | + snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml --config multistep_normalisation=True ashleys_pipeline=True \ + --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile + + Testing-with-breakpointR-only: + runs-on: ubuntu-latest + needs: + - Formatting + - Linting + - Testing-basic-v7 + - Testing-basic-with-ashleys + steps: + - name: Checkout repository with submodules + uses: actions/checkout@v4 + with: + submodules: recursive + # lfs: true + + - name: Git Submodule Update + run: | + git pull --recurse-submodules + git submodule update --remote --recursive + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Add Conda to system path + run: echo "$CONDA/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: conda install -c conda-forge mamba + + - name: Setup Snakemake + run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 + + - name: List options of workflow + run: | + snakemake --cores 1 --config list_commands=True --verbose --debug + + - name: Run workflow + run: | + snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml --config breakpointR=True breakpointR_only=True \ + --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile + + Testing-with-whatshap-only: + runs-on: ubuntu-latest + needs: + - Formatting + - Linting + - Testing-basic-v7 + - Testing-basic-with-ashleys + steps: + - name: Checkout repository with submodules + uses: actions/checkout@v4 + with: + submodules: recursive + # lfs: true + + - name: Git Submodule Update + run: | + git pull --recurse-submodules + git submodule update --remote --recursive + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Add Conda to system path + run: echo "$CONDA/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: conda install -c conda-forge mamba + + - name: Setup Snakemake + run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 + + - name: List options of workflow + run: | + snakemake --cores 1 --config list_commands=True --verbose --debug + + - name: Run workflow + run: | + snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml --config whatshap_only=True \ + --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile diff --git a/.github/workflows/assemblies.yaml b/.github/workflows/assemblies.yaml index 0f142752..2195ae16 100644 --- a/.github/workflows/assemblies.yaml +++ b/.github/workflows/assemblies.yaml @@ -1,9 +1,17 @@ name: MosaiCatcher assemblies checks on: - push: - branches: - - "**" + workflow_dispatch: + inputs: + logLevel: + description: "Log level" + required: true + default: "warning" + type: choice + options: + - info + - warning + - debug schedule: - cron: "0 0 * * 0" diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 3d0d546c..3bb74370 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -24,7 +24,7 @@ jobs: Linting: runs-on: ubuntu-latest steps: - - name: Checkout repository with submodules + - name: Checkout repository without submodules uses: actions/checkout@v4 # with: # submodules: "recursive" # Ensures all submodules are checked out @@ -65,14 +65,10 @@ 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 - - # - name: Pull LFS objects in submodules - # run: git submodule foreach --recursive 'git pull origin main' # Update references - name: Git Submodule Update @@ -121,7 +117,7 @@ jobs: # - Formatting # - Linting steps: - - name: Checkout repository with submodules and LFS + - name: Checkout repository with submodules uses: actions/checkout@v4 with: submodules: recursive @@ -166,171 +162,3 @@ jobs: run: | snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml --config ashleys_pipeline=True \ --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile - - Testing-with-MultiQC: - runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys - steps: - - name: Checkout repository with submodules and LFS - uses: actions/checkout@v4 - with: - submodules: recursive - # lfs: true - - - name: Git Submodule Update - run: | - git pull --recurse-submodules - git submodule update --remote --recursive - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Add Conda to system path - run: echo "$CONDA/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: conda install -c conda-forge mamba - - - name: Setup Snakemake - run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 - - - name: List options of workflow - run: | - snakemake --cores 1 --config list_commands=True --verbose --debug - - - name: Run workflow - run: | - snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml --config MultiQC=True ashleys_pipeline=True \ - --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile - - Testing-with-ms-norm: - runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys - steps: - - name: Checkout repository with submodules and LFS - uses: actions/checkout@v4 - with: - submodules: recursive - # lfs: true - - - name: Git Submodule Update - run: | - git pull --recurse-submodules - git submodule update --remote --recursive - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Add Conda to system path - run: echo "$CONDA/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: conda install -c conda-forge mamba - - - name: Setup Snakemake - run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 - - - name: List options of workflow - run: | - snakemake --cores 1 --config list_commands=True --verbose --debug - - - name: Run workflow - run: | - snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml --config multistep_normalisation=True ashleys_pipeline=True \ - --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile - - Testing-with-breakpointR-only: - runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys - steps: - - name: Checkout repository with submodules and LFS - uses: actions/checkout@v4 - with: - submodules: recursive - # lfs: true - - - name: Git Submodule Update - run: | - git pull --recurse-submodules - git submodule update --remote --recursive - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Add Conda to system path - run: echo "$CONDA/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: conda install -c conda-forge mamba - - - name: Setup Snakemake - run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 - - - name: List options of workflow - run: | - snakemake --cores 1 --config list_commands=True --verbose --debug - - - name: Run workflow - run: | - snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml --config breakpointR=True breakpointR_only=True \ - --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile - - Testing-with-whatshap-only: - runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys - steps: - - name: Checkout repository with submodules and LFS - uses: actions/checkout@v4 - with: - submodules: recursive - # lfs: true - - - name: Git Submodule Update - run: | - git pull --recurse-submodules - git submodule update --remote --recursive - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Add Conda to system path - run: echo "$CONDA/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: conda install -c conda-forge mamba - - - name: Setup Snakemake - run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 - - - name: List options of workflow - run: | - snakemake --cores 1 --config list_commands=True --verbose --debug - - - name: Run workflow - run: | - snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml --config whatshap_only=True \ - --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile diff --git a/.github/workflows/release_please.yaml b/.github/workflows/release_please.yaml index 4339008c..bfd0e4d1 100644 --- a/.github/workflows/release_please.yaml +++ b/.github/workflows/release_please.yaml @@ -1,15 +1,17 @@ name: "Create tag & release" -# on: -# push: -# branches: -# - master - on: - pull_request: - types: [closed] - branches: - - master + workflow_dispatch: + inputs: + logLevel: + description: "Log level" + required: true + default: "warning" + type: choice + options: + - info + - warning + - debug jobs: tagged-release: diff --git a/config/config.yaml b/config/config.yaml index 846efcac..7ee98478 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -3,10 +3,10 @@ # -------------------------------------------------------- # MosaiCatcher version -version: 2.3.2 +version: 2.3.3 # Ashleys-QC pipeline version -ashleys_pipeline_version: 2.3.2 +ashleys_pipeline_version: 2.3.3 # Email for notifications about the pipeline's status email: "" @@ -46,6 +46,7 @@ MultiQC: False # Enable or disable ashleys-qc automatic classification bypass_ashleys: False +# Whether to use paired-end data or not paired_end: True # -------------------------------------------------------- diff --git a/config/config_metadata.yaml b/config/config_metadata.yaml index 4cf2e5b9..87fee593 100644 --- a/config/config_metadata.yaml +++ b/config/config_metadata.yaml @@ -22,6 +22,13 @@ MultiQC: required: False default: False category: "Quality Control" +paired_end: + desc: "Enable / Disable paired-end data" + type: bool + required: False + default: True + lint_check: True + category: "Quality Control" multistep_normalisation: desc: "Enable / Disable multistep normalisation" type: bool diff --git a/workflow/Snakefile b/workflow/Snakefile index fb019a0c..38093a48 100644 --- a/workflow/Snakefile +++ b/workflow/Snakefile @@ -23,8 +23,8 @@ if config["ashleys_pipeline"] is True: github( "friendsofstrandseq/ashleys-qc-pipeline", path="workflow/Snakefile", - # tag=str(config["ashleys_pipeline_version"]), - branch="dev", + tag=str(config["ashleys_pipeline_version"]), + # branch="dev", ) config: config