consenrich 0.4.0b3__tar.gz → 0.7.10rc6__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.

Potentially problematic release.


This version of consenrich might be problematic. Click here for more details.

Files changed (57) hide show
  1. consenrich-0.7.10rc6/MANIFEST.in +4 -0
  2. {consenrich-0.4.0b3/src/consenrich.egg-info → consenrich-0.7.10rc6}/PKG-INFO +12 -5
  3. consenrich-0.7.10rc6/README.md +31 -0
  4. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/pyproject.toml +7 -3
  5. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/setup.py +20 -4
  6. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/cconsenrich.c +25663 -17803
  7. consenrich-0.7.10rc6/src/consenrich/cconsenrich.pyx +967 -0
  8. consenrich-0.7.10rc6/src/consenrich/consenrich.py +1675 -0
  9. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/constants.py +51 -34
  10. consenrich-0.7.10rc6/src/consenrich/core.py +2144 -0
  11. consenrich-0.7.10rc6/src/consenrich/data/hg19.sizes +24 -0
  12. consenrich-0.7.10rc6/src/consenrich/data/mm39.sizes +21 -0
  13. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/detrorm.py +148 -43
  14. consenrich-0.7.10rc6/src/consenrich/matching.py +923 -0
  15. consenrich-0.7.10rc6/src/consenrich/misc_util.py +122 -0
  16. {consenrich-0.4.0b3 → consenrich-0.7.10rc6/src/consenrich.egg-info}/PKG-INFO +12 -5
  17. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich.egg-info/SOURCES.txt +1 -0
  18. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich.egg-info/requires.txt +1 -0
  19. consenrich-0.7.10rc6/tests/__pycache__/test_config.cpython-312-pytest-8.3.5.pyc +0 -0
  20. consenrich-0.7.10rc6/tests/test_config.py +188 -0
  21. consenrich-0.7.10rc6/tests/test_core.py +570 -0
  22. consenrich-0.4.0b3/MANIFEST.in +0 -3
  23. consenrich-0.4.0b3/README.md +0 -25
  24. consenrich-0.4.0b3/src/consenrich/cconsenrich.pyx +0 -472
  25. consenrich-0.4.0b3/src/consenrich/consenrich.py +0 -533
  26. consenrich-0.4.0b3/src/consenrich/core.py +0 -968
  27. consenrich-0.4.0b3/src/consenrich/data/hg19.sizes +0 -24
  28. consenrich-0.4.0b3/src/consenrich/data/mm39.sizes +0 -21
  29. consenrich-0.4.0b3/src/consenrich/matching.py +0 -216
  30. consenrich-0.4.0b3/src/consenrich/misc_util.py +0 -70
  31. consenrich-0.4.0b3/tests/test_core.py +0 -113
  32. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/LICENSE +0 -0
  33. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/setup.cfg +0 -0
  34. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/__init__.py +1 -1
  35. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/ce10.sizes +0 -0
  36. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/ce10_blacklist.bed +0 -0
  37. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/ce10_sparse.bed +0 -0
  38. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/ce11.sizes +0 -0
  39. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/ce11_blacklist.bed +0 -0
  40. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/ce11_sparse.bed +0 -0
  41. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/dm6.sizes +0 -0
  42. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/dm6_blacklist.bed +0 -0
  43. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/dm6_sparse.bed +0 -0
  44. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/hg19_blacklist.bed +0 -0
  45. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/hg19_sparse.bed +0 -0
  46. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/hg38.sizes +0 -0
  47. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/hg38_blacklist.bed +0 -0
  48. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/hg38_sparse.bed +0 -0
  49. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/mm10.sizes +0 -0
  50. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/mm10_blacklist.bed +0 -0
  51. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/mm10_sparse.bed +0 -0
  52. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/mm39_blacklist.bed +0 -0
  53. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich/data/mm39_sparse.bed +0 -0
  54. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich.egg-info/dependency_links.txt +0 -0
  55. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich.egg-info/entry_points.txt +0 -0
  56. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich.egg-info/not-zip-safe +0 -0
  57. {consenrich-0.4.0b3 → consenrich-0.7.10rc6}/src/consenrich.egg-info/top_level.txt +0 -0
@@ -0,0 +1,4 @@
1
+ include README.md
2
+ recursive-include src/consenrich *.pyx *.c
3
+ recursive-include src/consenrich/data *.bed *.sizes
4
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: consenrich
3
- Version: 0.4.0b3
3
+ Version: 0.7.10rc6
4
4
  Summary: Genome-wide estimation of signals hidden in noisy multi-sample HTS datasets
5
5
  Author-email: "Nolan H. Hamilton" <nolan.hamilton@unc.edu>
6
6
  Requires-Python: >=3.11
@@ -14,6 +14,7 @@ Requires-Dist: pysam>=0.23.3
14
14
  Requires-Dist: pybedtools>=0.11.2
15
15
  Requires-Dist: PyYAML>=6.0.2
16
16
  Requires-Dist: PyWavelets>=1.9.0
17
+ Requires-Dist: matplotlib
17
18
  Provides-Extra: dev
18
19
  Requires-Dist: pytest; extra == "dev"
19
20
  Requires-Dist: mypy; extra == "dev"
@@ -34,14 +35,20 @@ Dynamic: requires-python
34
35
 
35
36
  # Consenrich
36
37
 
37
- Consenrich is an adaptive linear filter for genome-wide estimation of signals hidden in
38
- noisy multi-sample HTS datasets. Consenrich supports a variety of functional genomics assays including ATAC-seq, DNase-seq, ChIP-seq, CUT&RUN, etc.
38
+ Consenrich is an adaptive linear state estimator that yields genome-wide, uncertainty-calibrated signal tracks from noisy multi-sample cohorts' epigenetic HTS data.
39
39
 
40
- ![Simplified Schematic of Consenrich.](docs/images/noise.png)
40
+ <p align="center">
41
+ <img src="docs/images/noise.png" alt="Simplified Schematic of Consenrich." width="600">
42
+ </p>
43
+
44
+
45
+ Special emphasis is placed on computational efficiency, model interpretability, and practical utility for downstream tasks that require well-resolved genome-wide signal estimates and uncertainty quantification across samples, such as:
46
+
47
+ * Consensus detection of open chromatin regions, TF binding, histone modification, etc.
48
+ * Candidate prioritization for differential analyses, functional validation, integrative modeling, etc.
41
49
 
42
50
  [**See the Documentation**](https://nolan-h-hamilton.github.io/Consenrich/) for usage examples, installation details, configuration options, and an API reference.
43
51
 
44
- ---
45
52
 
46
53
  ## Manuscript Preprint and Citation
47
54
 
@@ -0,0 +1,31 @@
1
+ # Consenrich
2
+
3
+ Consenrich is an adaptive linear state estimator that yields genome-wide, uncertainty-calibrated signal tracks from noisy multi-sample cohorts' epigenetic HTS data.
4
+
5
+ <p align="center">
6
+ <img src="docs/images/noise.png" alt="Simplified Schematic of Consenrich." width="600">
7
+ </p>
8
+
9
+
10
+ Special emphasis is placed on computational efficiency, model interpretability, and practical utility for downstream tasks that require well-resolved genome-wide signal estimates and uncertainty quantification across samples, such as:
11
+
12
+ * Consensus detection of open chromatin regions, TF binding, histone modification, etc.
13
+ * Candidate prioritization for differential analyses, functional validation, integrative modeling, etc.
14
+
15
+ [**See the Documentation**](https://nolan-h-hamilton.github.io/Consenrich/) for usage examples, installation details, configuration options, and an API reference.
16
+
17
+
18
+ ## Manuscript Preprint and Citation
19
+
20
+ **BibTeX Citation**
21
+
22
+ ```bibtex
23
+ @article {Hamilton2025,
24
+ author = {Hamilton, Nolan H and Huang, Yu-Chen E and McMichael, Benjamin D and Love, Michael I and Furey, Terrence S},
25
+ title = {Genome-Wide Uncertainty-Moderated Extraction of Signal Annotations from Multi-Sample Functional Genomics Data},
26
+ year = {2025},
27
+ doi = {10.1101/2025.02.05.636702},
28
+ publisher = {Cold Spring Harbor Laboratory},
29
+ journal = {bioRxiv}
30
+ }
31
+ ```
@@ -10,7 +10,7 @@ build-backend = "setuptools.build_meta"
10
10
 
11
11
  [project]
12
12
  name = "consenrich"
13
- version = "0.4.0b3"
13
+ version = "0.7.10rc6"
14
14
  description = "Genome-wide estimation of signals hidden in noisy multi-sample HTS datasets"
15
15
  authors = [{ name="Nolan H. Hamilton", email="nolan.hamilton@unc.edu" }]
16
16
  readme = "README.md"
@@ -24,7 +24,8 @@ dependencies = [
24
24
  "pysam>=0.23.3",
25
25
  "pybedtools>=0.11.2",
26
26
  "PyYAML>=6.0.2",
27
- "PyWavelets>=1.9.0"
27
+ "PyWavelets>=1.9.0",
28
+ "matplotlib",
28
29
  ]
29
30
 
30
31
  [project.optional-dependencies]
@@ -44,11 +45,14 @@ docs = [
44
45
  package-dir = {"" = "src"}
45
46
  include-package-data = true
46
47
 
48
+ [tool.setuptools.package-data]
49
+ consenrich = ["src/consenrich/data/**"]
50
+
47
51
  [project.scripts]
48
52
  consenrich = "consenrich.consenrich:main"
49
53
 
50
54
  [tool.cibuildwheel]
51
- build = " cp311-* cp312-* cp313-*"
55
+ build = "cp311-* cp312-* cp313-*"
52
56
  skip = "*-musllinux_*"
53
57
 
54
58
 
@@ -4,16 +4,21 @@ from Cython.Build import cythonize
4
4
  import pysam
5
5
  import numpy
6
6
 
7
+
7
8
  def get_includes():
8
9
  class Includes:
9
10
  def __iter__(self):
10
11
  import pysam
11
12
  import numpy
12
- return iter(pysam.get_include()+[numpy.get_include()])
13
+
14
+ return iter(pysam.get_include() + [numpy.get_include()])
15
+
13
16
  def __getitem__(self, i):
14
17
  return list(self)[i]
18
+
15
19
  return Includes()
16
20
 
21
+
17
22
  extensions = [
18
23
  Extension(
19
24
  "consenrich.cconsenrich",
@@ -25,19 +30,30 @@ extensions = [
25
30
  "-fno-trapping-math",
26
31
  "-fno-math-errno",
27
32
  "-mtune=generic",
33
+ "-fopenmp",
28
34
  ],
35
+ extra_link_args=["-fopenmp"],
29
36
  )
30
37
  ]
31
38
 
32
39
  setup(
33
40
  name="consenrich",
34
- version="0.4.0b3",
41
+ version="0.7.10rc6",
35
42
  packages=find_packages(where="src"),
36
43
  include_package_data=True,
37
44
  package_dir={"": "src"},
38
45
  ext_modules=cythonize(extensions, language_level="3"),
39
- install_requires=["cython>=3.0", "numpy>=2.1", "pandas>=2.3", "scipy>=1.15",
40
- "pysam>=0.23.3", "pybedtools>=0.11.2", "PyYAML>=6.0.2", "PyWavelets>=1.9.0"],
46
+ install_requires=[
47
+ "cython>=3.0",
48
+ "numpy>=2.1",
49
+ "pandas>=2.3",
50
+ "scipy>=1.15",
51
+ "pysam>=0.23.3",
52
+ "pybedtools>=0.11.2",
53
+ "PyYAML>=6.0.2",
54
+ "PyWavelets>=1.9.0",
55
+ "matplotlib",
56
+ ],
41
57
  python_requires=">=3.11",
42
58
  zip_safe=False,
43
59
  )