zhanghao-njmu / SCP

An end-to-end Single-Cell Pipeline designed to facilitate comprehensive analysis and exploration of single-cell data.
https://zhanghao-njmu.github.io/SCP/
GNU General Public License v3.0
364 stars 80 forks source link

Negative P-Values RunDynamicFeatures() #243

Open imev2023 opened 3 months ago

imev2023 commented 3 months ago

We are running RunDynamicFeatures() and and trying to interpret the genes returned which meet the thresholds set within the function: "#> X features from Lineage1 passed the threshold (exp_ncells>20 & r.sq>0.2 & dev.expl>0.2 & padjust<0.05)."

Checking the source code, we found that these results are obtained by running:

mod <- mgcv::gam(y ~ s(x, bs = "cs") + offset(log(l_libsize)), family = family_use, data = data.frame(y = Y_ordered[feature_nm, ], x = t_ordered, l_libsize = l_libsize) ).

Accessing this result via object@tools$DynamicFeatures_Lineage1, for example, returns some features with negative p- and p-adjust values (examples attached). Does anyone know how to interpret such a result?

image