From a763c9a0766c05b9ae80da5f18b59afe2c02b691 Mon Sep 17 00:00:00 2001 From: Blaise Li <blaise.li__git@nsup.org> Date: Thu, 24 Sep 2020 09:45:09 +0200 Subject: [PATCH] Catch stats numeric error. --- libhts/libhts.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libhts/libhts.py b/libhts/libhts.py index bb4cdda..a68c2d6 100644 --- a/libhts/libhts.py +++ b/libhts/libhts.py @@ -456,7 +456,17 @@ def size_factor_correlations(counts_data, summaries, normalizer): # by_norm = counts_data / size_factors def compute_pearsonr_with_size_factor(row): - return pearsonr(row, size_factors)[0] + try: + return pearsonr(row, size_factors)[0] + except ValueError as err: + if str(err) == "array must not contain infs or NaNs": + msg = ( + f"Cannot compute Pearson correlation with size factors " + f"when normalizing using {normaliser}") + warnings.warn(msg) + return np.nan + else: + raise # return by_norm.apply(compute_pearsonr_with_size_factor, axis=1) return (counts_data / size_factors).apply(compute_pearsonr_with_size_factor, axis=1) -- GitLab