MOSCA has default parameters! #248
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous Integration | |
on: | |
push: | |
branches: | |
- development | |
- master # master test only useful for badges | |
pull_request: | |
branches: | |
- development | |
- master # master test only useful for badges | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Build and push | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
file: ./cicd/Dockerfile_CI | |
tags: mosca:latest | |
outputs: type=docker,dest=/tmp/mosca.tar | |
- name: Create named volume | |
run: docker volume create named_volume | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: mosca | |
path: /tmp/mosca.tar | |
preprocess: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: mosca | |
path: /tmp | |
- name: Load Docker image | |
run: | | |
docker load --input /tmp/mosca.tar | |
docker image ls -a | |
- name: run preprocess | |
run: | | |
docker run mosca /bin/bash -c "rm -r MOSCARDO/output_rules/Preprocess; | |
snakemake --cores all -R --until preprocess -s MOSCA/workflow/Snakefile --configfile MOSCARDO/configs/rules_config.json --use-conda" | |
assembly: | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: mosca | |
path: /tmp | |
- name: Load Docker image | |
run: | | |
docker load --input /tmp/mosca.tar | |
docker image ls -a | |
- name: run assembly | |
run: | | |
docker run mosca /bin/bash -c "rm -r MOSCARDO/output_rules/Assembly; gunzip -r MOSCARDO/output_rules; | |
touch MOSCARDO/output_rules/Preprocess/Trimmomatic/quality_trimmed_mg_forward_paired.fq; | |
touch MOSCARDO/output_rules/Preprocess/Trimmomatic/quality_trimmed_mg_reverse_paired.fq; | |
snakemake --cores all -R --until assembly -s MOSCA/workflow/Snakefile --configfile MOSCARDO/configs/rules_config.json --use-conda" | |
binning: | |
runs-on: ubuntu-latest | |
needs: build | |
if: false # Blocked for now, since GHA don't provide enough memory to run this step ( 7Gb < 32Gb ) | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: mosca | |
path: /tmp | |
- name: Load Docker image | |
run: | | |
docker load --input /tmp/mosca.tar | |
docker image ls -a | |
- name: run binning | |
run: | | |
docker run mosca /bin/bash -c "gunzip -r MOSCARDO/output_rules; | |
touch MOSCARDO/output_rules/Preprocess/Trimmomatic/quality_trimmed_mg_forward_paired.fq; | |
touch MOSCARDO/output_rules/Preprocess/Trimmomatic/quality_trimmed_mg_reverse_paired.fq; | |
touch MOSCARDO/output_rules/Preprocess/sample_forward.fastq MOSCARDO/output_rules/Preprocess/sample_reverse.fastq; | |
touch MOSCARDO/output_rules/Assembly/sample/contigs.fasta MOSCARDO/output_rules/Assembly/sample/scaffolds.fasta; | |
snakemake --cores all -R --until binning -s MOSCA/workflow/Snakefile --configfile MOSCARDO/configs/rules_config.json --use-conda --ignore-incomplete" | |
mgmt-workflow: | |
runs-on: ubuntu-latest | |
needs: build | |
if: github.ref == 'refs/heads/development' # this step works on development, but for master if fails with "no space on device" | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: mosca | |
path: /tmp | |
- name: Load Docker image | |
run: | | |
docker load --input /tmp/mosca.tar | |
docker image ls -a | |
- name: MGMT workflow | |
run: docker run mosca /bin/bash -c "rm -r MOSCARDO/output_rules; mosca -c MOSCARDO/configs/mgmt_config.json" | |
mgmp-workflow: | |
runs-on: ubuntu-latest | |
needs: build | |
if: false # Blocked for now, since GHA don't provide enough disk space to run this step | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: mosca | |
path: /tmp | |
- name: Load Docker image | |
run: | | |
docker load --input /tmp/mosca.tar | |
docker image ls -a | |
- name: Create named volume | |
run: docker volume create named_volume | |
- name: MGMP workflow | |
run: > | |
docker run -v named_volume:/data -v /var/run/docker.sock:/var/run/docker.sock mosca /bin/bash | |
-c "rm -r MOSCARDO/output_rules; gunzip -v MOSCARDO/input/*/mp*.RAW.gz; | |
mosca -c MOSCARDO/configs/mgmp_config.json" |