44
55from decoupler ._docs import docs
66from decoupler ._log import _log
7- from decoupler .mt ._ora import _oddsr , _test1t
7+ from decoupler .mt ._ora import _oddsr
88from decoupler .pp .net import prune
99
1010
1111@docs .dedent
1212def query_set (
1313 features : list ,
1414 net : pd .DataFrame ,
15+ alternative : str = "greater" ,
1516 n_bg : int | float | None = 20_000 ,
1617 ha_corr : int | float = 0.5 ,
1718 tmin : int | float = 5 ,
@@ -25,6 +26,8 @@ def query_set(
2526 features
2627 Set of features
2728 %(net)s
29+ alternative
30+ Defines the alternative hypothesis for fisher exact test. Check ``scipy.stats.fisher_exact``.
2831 %(n_bg)s
2932 %(ha_corr)s
3033 %(tmin)s
@@ -43,7 +46,7 @@ def query_set(
4346
4447 ct = dc.op.collectri()
4548 ft = set(ct[ct["source"] == "SMAD4"]["target"])
46- dc.pp .query_set(features=fset , net=ct)
49+ dc.mt .query_set(features=ft , net=ct)
4750 """
4851 # Validate
4952 assert hasattr (features , "__iter__" ) and not isinstance (features , str | bytes ), (
@@ -75,7 +78,7 @@ def query_set(
7578 else :
7679 d = int (n_bg - a - b - c )
7780 od = _oddsr (a = a , b = b , c = c , d = d , ha_corr = ha_corr , log = True )
78- pv = _test1t ( a = a , b = b , c = c , d = d )
81+ _ , pv = sts . fisher_exact ([[ a , b ], [ c , d ]], alternative = alternative )
7982 df .append ([source , od , pv ])
8083 df = pd .DataFrame (df , columns = ["source" , "stat" , "pval" ])
8184 df ["padj" ] = sts .false_discovery_control (df ["pval" ], method = "bh" )
0 commit comments