cellink.at.compute_acat#
- cellink.at.compute_acat(pvs, tolerance=1e-16, weights=None)#
Aggregate p-values using the Cauchy combination method (ACAT).
This function performs p-value aggregation using the ACAT (Aggregated Cauchy Association Test) method, which is particularly powerful and robust for combining dependent and sparse p-values. It supports missing values (NaNs) and optional weighting.
- Parameters:
pvs (np.ndarray) – A 2D array of shape (n_different_tests, n_tests_to_integrate), where each row contains the p-values to be aggregated into a single meta p-value. Values must be in the range [0, 1]. NaNs are allowed and will be ignored during aggregation.
tolerance (float, optional) – A small threshold to avoid issues with extremely small p-values. Values below
toleranceare capped attoleranceto maintain numerical stability. Default is 1e-16.weights (np.ndarray, optional) – A 1D array of non-negative weights with shape (n_tests_to_integrate,). If provided, it should sum to 1 or will be internally normalized. If None, equal weights are used.
- Return type:
- Returns:
np.ndarray A 1D array of aggregated p-values, one for each row of the input
pvs.
Notes
- The ACAT method transforms each p-value
pusing the tangent function: T = sum_i w_i * tan[(0.5 - p_i) * pi]
- Then the aggregated p-value is computed using the Cauchy distribution:
p_combined = 0.5 - arctan(T) / pi
References
Liu, et al (2019). ACAT: A Fast and Powerful p Value Combination Method for Rare-Variant Analysis in Sequencing Studies The American Journal of Human Genetics, 104(3), 410–421. https://doi.org/10.1016/j.ajhg.2019.01.002