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.
Files changed (51) hide show
  1. {countmut-0.2.4/countmut.egg-info → countmut-0.3.0}/PKG-INFO +1 -1
  2. countmut-0.3.0/backend/Makefile +50 -0
  3. {countmut-0.2.4 → countmut-0.3.0}/backend/countmut_core.c +505 -218
  4. {countmut-0.2.4 → countmut-0.3.0}/backend/countmut_core.h +0 -15
  5. {countmut-0.2.4 → countmut-0.3.0}/backend/countmut_core_main.c +5 -51
  6. {countmut-0.2.4 → countmut-0.3.0}/backend/countmut_expr.c +326 -1
  7. {countmut-0.2.4 → countmut-0.3.0}/backend/countmut_expr.h +7 -1
  8. countmut-0.3.0/countmut/_core/countmut_core +0 -0
  9. {countmut-0.2.4 → countmut-0.3.0}/countmut/backend.py +2 -0
  10. {countmut-0.2.4 → countmut-0.3.0}/countmut/cli.py +14 -0
  11. {countmut-0.2.4 → countmut-0.3.0}/countmut/model.py +1 -0
  12. {countmut-0.2.4 → countmut-0.3.0/countmut.egg-info}/PKG-INFO +1 -1
  13. {countmut-0.2.4 → countmut-0.3.0}/countmut.egg-info/SOURCES.txt +0 -10
  14. {countmut-0.2.4 → countmut-0.3.0}/pyproject.toml +1 -1
  15. {countmut-0.2.4 → countmut-0.3.0}/tests/test_router.py +2 -1
  16. countmut-0.2.4/backend/Makefile +0 -34
  17. countmut-0.2.4/backend/bgzf.c +0 -714
  18. countmut-0.2.4/backend/bgzf.h +0 -211
  19. countmut-0.2.4/backend/faidx.c +0 -445
  20. countmut-0.2.4/backend/faidx.h +0 -113
  21. countmut-0.2.4/backend/hts.c +0 -948
  22. countmut-0.2.4/backend/hts.h +0 -179
  23. countmut-0.2.4/backend/razf.c +0 -857
  24. countmut-0.2.4/backend/razf.h +0 -134
  25. countmut-0.2.4/backend/sam.c +0 -1279
  26. countmut-0.2.4/backend/sam.h +0 -230
  27. countmut-0.2.4/countmut/_core/countmut_core +0 -0
  28. {countmut-0.2.4 → countmut-0.3.0}/LICENSE +0 -0
  29. {countmut-0.2.4 → countmut-0.3.0}/MANIFEST.in +0 -0
  30. {countmut-0.2.4 → countmut-0.3.0}/README.md +0 -0
  31. {countmut-0.2.4 → countmut-0.3.0}/backend/bedidx.c +0 -0
  32. {countmut-0.2.4 → countmut-0.3.0}/backend/ketopt.h +0 -0
  33. {countmut-0.2.4 → countmut-0.3.0}/backend/khash.h +0 -0
  34. {countmut-0.2.4 → countmut-0.3.0}/backend/kseq.h +0 -0
  35. {countmut-0.2.4 → countmut-0.3.0}/backend/ksort.h +0 -0
  36. {countmut-0.2.4 → countmut-0.3.0}/backend/kstdint.h +0 -0
  37. {countmut-0.2.4 → countmut-0.3.0}/backend/kstring.h +0 -0
  38. {countmut-0.2.4 → countmut-0.3.0}/countmut/__init__.py +0 -0
  39. {countmut-0.2.4 → countmut-0.3.0}/countmut/bam_tags.py +0 -0
  40. {countmut-0.2.4 → countmut-0.3.0}/countmut/core.py +0 -0
  41. {countmut-0.2.4 → countmut-0.3.0}/countmut/utils.py +0 -0
  42. {countmut-0.2.4 → countmut-0.3.0}/countmut.egg-info/dependency_links.txt +0 -0
  43. {countmut-0.2.4 → countmut-0.3.0}/countmut.egg-info/entry_points.txt +0 -0
  44. {countmut-0.2.4 → countmut-0.3.0}/countmut.egg-info/requires.txt +0 -0
  45. {countmut-0.2.4 → countmut-0.3.0}/countmut.egg-info/top_level.txt +0 -0
  46. {countmut-0.2.4 → countmut-0.3.0}/setup.cfg +0 -0
  47. {countmut-0.2.4 → countmut-0.3.0}/tests/test_cli.py +0 -0
  48. {countmut-0.2.4 → countmut-0.3.0}/tests/test_core.py +0 -0
  49. {countmut-0.2.4 → countmut-0.3.0}/tests/test_correctness.py +0 -0
  50. {countmut-0.2.4 → countmut-0.3.0}/tests/test_unified.py +0 -0
  51. {countmut-0.2.4 → countmut-0.3.0}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: countmut
3
- Version: 0.2.4
3
+ Version: 0.3.0
4
4
  Summary: Unified ultra-fast strand-aware mutation counter (C backend + samtools-style -e/-p filters)
5
5
  Author-email: Ye Chang <yech1990@gmail.com>
6
6
  License-Expression: MIT
@@ -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