-
Notifications
You must be signed in to change notification settings - Fork 9
91 lines (88 loc) · 3.17 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
name: CI
on:
workflow_dispatch:
branches:
- main
- develop
push:
paths-ignore:
- 'README.md'
- 'LICENSE'
branches:
- main
pull_request:
paths-ignore:
- 'README.md'
- 'LICENSE'
branches:
- main
env:
TMPDIR: /tmp
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v2
- uses: s-weigand/setup-conda@v1
- name: Install the conda environment
run: conda env update -n base -f environment.yml
# First dry-run on full workflow
- name: Dry run
run: snakemake --use-conda -j 4 --configfile .test/config/dry-run.yaml -n
# Test cutadapt (10k reads/sample)
- name: Cutadapt
run: |
snakemake --use-conda -j 4 --configfile .test/config/cutadapt.yaml -p --notemp qc
# Test all other preprocessing software except cutadapt (10k reads/sample)
- name: Preprocess
run: |
rm -rf results report.html
snakemake --use-conda -j 4 --configfile .test/config/preprocess.yaml -p qc
# Run kraken for sample1 (paired-end) and sample4 (single-end) (10k reads/sample)
- name: Kraken
run: |
snakemake --use-conda -j 4 --configfile .test/config/kraken.yaml -p results/kraken/sample1_1_pe.kreport results/kraken/sample4_1_se.kreport
rm -rf results examples/data/sample*
# Test annotations + normalizations with metaspades (100k reads/sample)
- name: Annotation
run: |
bash .test/scripts/prep_eggnog.sh
bash .test/scripts/prep_taxonomy.sh
mkdir -p results/annotation/emapper-test
cp .test/data/emapper-out.tsv results/annotation/emapper-test/emapper-test.emapper.annotations
snakemake --config sample_list=.test/config/emapper-test.tsv --use-conda -j 2 --configfile .test/config/annotate.yaml -p results/annotation/emapper-test/{kos,modules,pathways,enzymes}.parsed.tsv
snakemake --use-conda -j 2 --configfile .test/config/annotate.yaml -p annotate
rm -r results/assembly examples/data/sample*
# Test Metabat2 with Megahit (200k reads/sample)
- name: Metabat
run: |
snakemake --use-conda -j 4 --configfile .test/config/metabat.yaml -p bin assemble
test_linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: s-weigand/setup-conda@v1
- name: Install the conda environment
run: conda env update -n base -f environment.yml
- name: Set up checkm database
uses: actions/cache@v2
env:
cache-name: checkm-db
with:
path: resources/checkm
key: ${{ runner.os }}-${{ env.cache-name }}
restore-keys: |
${{ runner.os }}-${{ env.cache-name }}
${{ runner.os }}-
# Run kraken and produce final output reports (linux only) (10k reads/sample)
- name: Kraken
run: |
snakemake --use-conda -j 4 --configfile .test/config/kraken.yaml --notemp -p classify
rm -r examples/data/sample* results
# Run binning including also checkm (200k reads/sample)
- name: Binning
run: |
snakemake --use-conda -j 4 --configfile .test/config/binning.yaml -p assemble bin