risk-network 0.0.9b29__tar.gz → 0.0.9b30__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 (48) hide show
  1. {risk_network-0.0.9b29/risk_network.egg-info → risk_network-0.0.9b30}/PKG-INFO +1 -1
  2. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/__init__.py +1 -1
  3. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/stats/stat_tests.py +40 -22
  4. {risk_network-0.0.9b29 → risk_network-0.0.9b30/risk_network.egg-info}/PKG-INFO +1 -1
  5. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/LICENSE +0 -0
  6. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/MANIFEST.in +0 -0
  7. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/README.md +0 -0
  8. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/pyproject.toml +0 -0
  9. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/annotations/__init__.py +0 -0
  10. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/annotations/annotations.py +0 -0
  11. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/annotations/io.py +0 -0
  12. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/constants.py +0 -0
  13. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/log/__init__.py +0 -0
  14. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/log/console.py +0 -0
  15. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/log/parameters.py +0 -0
  16. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/neighborhoods/__init__.py +0 -0
  17. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/neighborhoods/api.py +0 -0
  18. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/neighborhoods/community.py +0 -0
  19. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/neighborhoods/domains.py +0 -0
  20. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/neighborhoods/neighborhoods.py +0 -0
  21. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/__init__.py +0 -0
  22. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/geometry.py +0 -0
  23. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/graph/__init__.py +0 -0
  24. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/graph/api.py +0 -0
  25. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/graph/graph.py +0 -0
  26. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/graph/summary.py +0 -0
  27. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/io.py +0 -0
  28. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/plotter/__init__.py +0 -0
  29. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/plotter/api.py +0 -0
  30. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/plotter/canvas.py +0 -0
  31. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/plotter/contour.py +0 -0
  32. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/plotter/labels.py +0 -0
  33. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/plotter/network.py +0 -0
  34. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/plotter/plotter.py +0 -0
  35. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/plotter/utils/colors.py +0 -0
  36. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/network/plotter/utils/layout.py +0 -0
  37. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/risk.py +0 -0
  38. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/stats/__init__.py +0 -0
  39. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/stats/permutation/__init__.py +0 -0
  40. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/stats/permutation/permutation.py +0 -0
  41. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/stats/permutation/test_functions.py +0 -0
  42. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk/stats/significance.py +0 -0
  43. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk_network.egg-info/SOURCES.txt +0 -0
  44. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk_network.egg-info/dependency_links.txt +0 -0
  45. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk_network.egg-info/requires.txt +0 -0
  46. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/risk_network.egg-info/top_level.txt +0 -0
  47. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/setup.cfg +0 -0
  48. {risk_network-0.0.9b29 → risk_network-0.0.9b30}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: risk-network
3
- Version: 0.0.9b29
3
+ Version: 0.0.9b30
4
4
  Summary: A Python package for biological network analysis
5
5
  Author: Ira Horecka
6
6
  Author-email: Ira Horecka <ira89@icloud.com>
@@ -7,4 +7,4 @@ RISK: Regional Inference of Significant Kinships
7
7
 
8
8
  from risk.risk import RISK
9
9
 
10
- __version__ = "0.0.9-beta.29"
10
+ __version__ = "0.0.9-beta.30"
@@ -152,31 +152,49 @@ def compute_hypergeom_test(
152
152
 
153
153
  # Sparse matrix multiplication for observed counts
154
154
  annotated_in_neighborhood = neighborhoods.T @ annotations # Result is sparse
155
-
156
- def compute_pvals_for_column(col_idx: int):
157
- """Compute depletion and enrichment p-values for a single annotation column."""
158
- observed_counts = annotated_in_neighborhood[:, col_idx].toarray().flatten()
159
- ann_total = annotation_sums[col_idx]
160
- # Compute depletion and enrichment p-values
161
- depletion_pvals = hypergeom.cdf(
162
- observed_counts, background_population, ann_total, neighborhood_sums
163
- )
164
- enrichment_pvals = hypergeom.sf(
165
- observed_counts - 1, background_population, ann_total, neighborhood_sums
166
- )
167
- return col_idx, depletion_pvals, enrichment_pvals
168
-
169
- # Use ThreadPoolExecutor to process columns in parallel
170
- num_columns = annotations.shape[1]
171
- depletion_pvals = np.empty((annotated_in_neighborhood.shape[0], num_columns), dtype=np.float64)
172
- enrichment_pvals = np.empty((annotated_in_neighborhood.shape[0], num_columns), dtype=np.float64)
155
+ # Determine the axis with fewer vectors
156
+ axis_to_process = 0 if annotations.shape[0] < annotations.shape[1] else 1
157
+
158
+ # Initialize p-value arrays
159
+ depletion_pvals = np.empty(annotated_in_neighborhood.shape, dtype=np.float64)
160
+ enrichment_pvals = np.empty(annotated_in_neighborhood.shape, dtype=np.float64)
161
+
162
+ def compute_pvals_for_index(idx: int):
163
+ """Compute p-values for a given index."""
164
+ if axis_to_process == 0: # Process rows
165
+ observed_counts = annotated_in_neighborhood[idx, :].toarray().flatten()
166
+ neigh_total = neighborhood_sums[idx]
167
+ return (
168
+ idx,
169
+ hypergeom.cdf(observed_counts, background_population, annotation_sums, neigh_total),
170
+ hypergeom.sf(
171
+ observed_counts - 1, background_population, annotation_sums, neigh_total
172
+ ),
173
+ )
174
+ else: # Process columns
175
+ observed_counts = annotated_in_neighborhood[:, idx].toarray().flatten()
176
+ ann_total = annotation_sums[idx]
177
+ return (
178
+ idx,
179
+ hypergeom.cdf(observed_counts, background_population, ann_total, neighborhood_sums),
180
+ hypergeom.sf(
181
+ observed_counts - 1, background_population, ann_total, neighborhood_sums
182
+ ),
183
+ )
184
+
185
+ # Use ThreadPoolExecutor to process indices in parallel
186
+ num_indices = annotations.shape[axis_to_process]
173
187
  with ThreadPoolExecutor() as executor:
174
- results = executor.map(compute_pvals_for_column, range(num_columns))
188
+ results = executor.map(compute_pvals_for_index, range(num_indices))
175
189
 
176
190
  # Collect results
177
- for col_idx, dep_pval, enr_pval in results:
178
- depletion_pvals[:, col_idx] = dep_pval
179
- enrichment_pvals[:, col_idx] = enr_pval
191
+ for idx, dep_pval, enr_pval in results:
192
+ if axis_to_process == 0: # Rows
193
+ depletion_pvals[idx, :] = dep_pval
194
+ enrichment_pvals[idx, :] = enr_pval
195
+ else: # Columns
196
+ depletion_pvals[:, idx] = dep_pval
197
+ enrichment_pvals[:, idx] = enr_pval
180
198
 
181
199
  return {"depletion_pvals": depletion_pvals, "enrichment_pvals": enrichment_pvals}
182
200
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: risk-network
3
- Version: 0.0.9b29
3
+ Version: 0.0.9b30
4
4
  Summary: A Python package for biological network analysis
5
5
  Author: Ira Horecka
6
6
  Author-email: Ira Horecka <ira89@icloud.com>
File without changes