countmut 0.2.4__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {countmut-0.2.4/countmut.egg-info → countmut-0.3.0}/PKG-INFO +1 -1
- countmut-0.3.0/backend/Makefile +50 -0
- {countmut-0.2.4 → countmut-0.3.0}/backend/countmut_core.c +505 -218
- {countmut-0.2.4 → countmut-0.3.0}/backend/countmut_core.h +0 -15
- {countmut-0.2.4 → countmut-0.3.0}/backend/countmut_core_main.c +5 -51
- {countmut-0.2.4 → countmut-0.3.0}/backend/countmut_expr.c +326 -1
- {countmut-0.2.4 → countmut-0.3.0}/backend/countmut_expr.h +7 -1
- countmut-0.3.0/countmut/_core/countmut_core +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut/backend.py +2 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut/cli.py +14 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut/model.py +1 -0
- {countmut-0.2.4 → countmut-0.3.0/countmut.egg-info}/PKG-INFO +1 -1
- {countmut-0.2.4 → countmut-0.3.0}/countmut.egg-info/SOURCES.txt +0 -10
- {countmut-0.2.4 → countmut-0.3.0}/pyproject.toml +1 -1
- {countmut-0.2.4 → countmut-0.3.0}/tests/test_router.py +2 -1
- countmut-0.2.4/backend/Makefile +0 -34
- countmut-0.2.4/backend/bgzf.c +0 -714
- countmut-0.2.4/backend/bgzf.h +0 -211
- countmut-0.2.4/backend/faidx.c +0 -445
- countmut-0.2.4/backend/faidx.h +0 -113
- countmut-0.2.4/backend/hts.c +0 -948
- countmut-0.2.4/backend/hts.h +0 -179
- countmut-0.2.4/backend/razf.c +0 -857
- countmut-0.2.4/backend/razf.h +0 -134
- countmut-0.2.4/backend/sam.c +0 -1279
- countmut-0.2.4/backend/sam.h +0 -230
- countmut-0.2.4/countmut/_core/countmut_core +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/LICENSE +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/MANIFEST.in +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/README.md +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/backend/bedidx.c +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/backend/ketopt.h +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/backend/khash.h +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/backend/kseq.h +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/backend/ksort.h +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/backend/kstdint.h +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/backend/kstring.h +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut/__init__.py +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut/bam_tags.py +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut/core.py +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut/utils.py +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut.egg-info/dependency_links.txt +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut.egg-info/entry_points.txt +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut.egg-info/requires.txt +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/countmut.egg-info/top_level.txt +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/setup.cfg +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/tests/test_cli.py +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/tests/test_core.py +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/tests/test_correctness.py +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/tests/test_unified.py +0 -0
- {countmut-0.2.4 → countmut-0.3.0}/tests/test_utils.py +0 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Makefile for the countmut C core (links the full htslib vendored as a git
|
|
2
|
+
# submodule, for BAM/CRAM support).
|
|
3
|
+
#
|
|
4
|
+
# Builds `countmut_core`, a binary that does all the counting. Requires Lua 5.4.
|
|
5
|
+
# The full htslib is built from the vendored submodule (../htslib) and linked.
|
|
6
|
+
CC ?= cc
|
|
7
|
+
LUA_CFLAGS := $(shell pkg-config --cflags lua5.4 2>/dev/null)
|
|
8
|
+
ifeq ($(LUA_CFLAGS),)
|
|
9
|
+
LUA_CFLAGS := $(shell pkg-config --cflags lua5.3 2>/dev/null)
|
|
10
|
+
endif
|
|
11
|
+
ifeq ($(LUA_CFLAGS),)
|
|
12
|
+
LUA_CFLAGS := -I/usr/include/lua5.4
|
|
13
|
+
endif
|
|
14
|
+
LUA_LIBS := $(shell pkg-config --libs lua5.4 2>/dev/null)
|
|
15
|
+
ifeq ($(LUA_LIBS),)
|
|
16
|
+
LUA_LIBS := $(shell pkg-config --libs lua5.3 2>/dev/null)
|
|
17
|
+
endif
|
|
18
|
+
ifeq ($(LUA_LIBS),)
|
|
19
|
+
LUA_LIBS := -llua5.4
|
|
20
|
+
endif
|
|
21
|
+
# Full htslib vendored as a git submodule (../htslib). Override with HTSLIB_DIR.
|
|
22
|
+
HTSLIB_DIR ?= ../htslib
|
|
23
|
+
CFLAGS ?= -O3 -Wall -Wno-unused-result -pthread $(LUA_CFLAGS) -I$(HTSLIB_DIR) -I$(HTSLIB_DIR)/htslib
|
|
24
|
+
OBJS = bedidx.o countmut_expr.o countmut_core.o countmut_core_main.o
|
|
25
|
+
# Statically link htslib (libhts.a) so the binary is self-contained (no runtime
|
|
26
|
+
# libhts.so dependency) -- the PyPI wheel bundles the binary and it must run
|
|
27
|
+
# without a separate htslib install. libhts.a pulls in its own deps.
|
|
28
|
+
LIBS = $(HTSLIB_DIR)/libhts.a -lpthread -lz -lm -lbz2 -llzma -lcurl -lcrypto -ldeflate $(LUA_LIBS)
|
|
29
|
+
PROG = countmut_core
|
|
30
|
+
|
|
31
|
+
.PHONY: all clean asan htslib
|
|
32
|
+
|
|
33
|
+
all: htslib $(PROG)
|
|
34
|
+
|
|
35
|
+
htslib:
|
|
36
|
+
$(MAKE) -C $(HTSLIB_DIR)
|
|
37
|
+
|
|
38
|
+
$(PROG): $(OBJS)
|
|
39
|
+
$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
|
|
40
|
+
|
|
41
|
+
# AddressSanitizer build for leak/UB auditing
|
|
42
|
+
asan:
|
|
43
|
+
$(MAKE) clean
|
|
44
|
+
$(MAKE) CFLAGS="-O1 -g -Wall -fsanitize=address -fno-omit-frame-pointer $(LUA_CFLAGS) -I$(HTSLIB_DIR) -I$(HTSLIB_DIR)/htslib" LIBS="-L$(HTSLIB_DIR) -lhts -lpthread -lz -lm -fsanitize=address $(LUA_LIBS)" $(PROG)
|
|
45
|
+
|
|
46
|
+
.c.o:
|
|
47
|
+
$(CC) $(CFLAGS) -c $< -o $@
|
|
48
|
+
|
|
49
|
+
clean:
|
|
50
|
+
rm -f $(PROG) *.o
|