Skip to content

Implemented checking of invalid names in experiments #245

Implemented checking of invalid names in experiments

Implemented checking of invalid names in experiments #245

Workflow file for this run

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: ./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"