-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
77 lines (59 loc) · 2.34 KB
/
Makefile
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
SHELL = bash
PYFILES = $(shell ls yeat/*.py yeat/*/*.py)
## #===== development tasks =====#
## help: print this help message and exit
help: Makefile
@sed -n 's/^## //p' Makefile
## test: run only short-running automated tests
test:
pytest --cov=yeat -m short
## testlong: run only long-running automated tests
testlong:
pytest --cov=yeat -m long
## testillumina:run only Illumina short-read automated tests
testillumina:
pytest --cov=yeat -m illumina
## testhifi: run only PacBio HiFi-read automated tests
testhifi:
pytest --cov=yeat -m hifi
## testnano: run only Oxford Nanopore-read automated tests
testnano:
pytest --cov=yeat -m nano
## testhybrid: run only Hybrid automated tests
testhybrid:
pytest --cov=yeat -m hybrid
## testbandage: run only Bandage required automated tests
testbandage:
pytest --cov=yeat -m bandage
## testlinux: run only Linux required automated tests
testlinux:
pytest --cov=yeat -m linux
## testgrid: run only grid required automated tests
testgrid:
pytest --cov=yeat -m grid --basetemp=tmp
## testall: run all tests but Bandage, Linux, and grid required tests
testall:
pytest --cov=yeat -m 'not bandage and not linux and not grid'
## hifidata: download PacBio HiFi-read test data for test suite
hifidata:
curl -L -o yeat/tests/data/ecoli.fastq https://sra-pub-src-1.s3.amazonaws.com/SRR10971019/m54316_180808_005743.fastq.1
gzip yeat/tests/data/ecoli.fastq
## nanodata: download Oxford Nanopore-read test data for test suite
nanodata:
curl -L -o yeat/tests/data/ecolk12mg1655_R10_3_guppy_345_HAC.fastq.gz https://figshare.com/ndownloader/files/21623145
## metadata: download PacBio HiFi-read metagenomics test data for test suite
metadata:
curl -L -o yeat/tests/data/zymoD6331std-ecoli-ten-percent.fq.gz https://zenodo.org/record/5908204/files/zymoD6331std-ecoli-ten-percent.fq.gz?download=1
## style: check code style vs Black
style:
black --line-length=99 --check $(PYFILES)
## format: autoformat Python code
format:
black --line-length=99 $(PYFILES)
## hooks: deploy git pre-commit hooks for development
hooks:
echo "#!/usr/bin/env bash" > .git/hooks/pre-commit
echo "set -eo pipefail" >> .git/hooks/pre-commit
echo "make format" >> .git/hooks/pre-commit
echo 'git add $$(ls setup.py yeat/*.py yeat/*/*.py)' >> .git/hooks/pre-commit
chmod 755 .git/hooks/pre-commit