Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
81 lines (64 loc) · 2.43 KB
/
Copy pathMakefile
File metadata and controls
81 lines (64 loc) · 2.43 KB
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
# TiterBench — convenience targets
# Run from repo root: make <target>
PYTHON := .venv/bin/python
CLI := $(PYTHON) -m backend.cli
.PHONY: help server test test-unit test-e2e test-all \
workspace-list workspace-create \
screen-demo generate-demo install setup \
download-models download-models-all download-models-optional
help:
@echo ""
@echo " TiterBench make targets"
@echo ""
@echo " make server — start the web server (http://127.0.0.1:8000)"
@echo " make test-unit — fast unit tests (<10s)"
@echo " make test-e2e — virtual screen + pipeline E2E tests"
@echo " make test-all — all tests"
@echo " make workspace-list — list workspaces"
@echo " make workspace-create — create a new workspace"
@echo " make screen-demo — virtual screen on demo engine (strain, top 5)"
@echo " make generate-demo — EA DNA generation on demo engine (top 5 variants)"
@echo " make install — create venv + install requirements"
@echo ""
@echo " Full CLI help:"
@echo " $(CLI) --help"
@echo ""
install:
python3 -m venv .venv
.venv/bin/pip install -q -r requirements.txt
setup: install download-models
$(PYTHON) scripts/train_demo_models.py
@echo ""
@echo " TiterBench setup complete. Run: make server"
download-models:
@echo "Downloading required models (ESM-2 only, ~30 MB)…"
$(PYTHON) scripts/download_models.py --required
download-models-optional:
@echo "Downloading required + optional models (~250 MB, excl Evo-2)…"
$(PYTHON) scripts/download_models.py --optional
download-models-all:
@echo "Downloading ALL models including Evo-2 7B (~15 GB, needs HF token)…"
$(PYTHON) scripts/download_models.py --all
models-list:
$(PYTHON) scripts/download_models.py --list
server:
bash run.sh
test-unit:
$(PYTHON) -m pytest tests/test_features.py tests/test_ensemble.py tests/test_finetune.py \
tests/test_utils.py tests/test_workspace.py \
tests/test_virtual_screen.py tests/test_dna_generate.py -v
test-e2e:
$(PYTHON) tests/e2e_virtual_screen.py
$(PYTHON) tests/e2e_astaxanthin_pipeline.py
test-all:
$(CLI) test all
workspace-list:
$(CLI) workspace list
workspace-create:
$(CLI) workspace create
screen-demo:
$(CLI) screen --kind strain --n 200 --top-k 5
generate-demo:
$(CLI) generate \
--seqs ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCG \
--n 100 --generations 15 --top-k 5