[ea0fd6]: / tests / deseq2 / test_addMLE.py

Download this file

29 lines (21 with data), 1.2 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import unittest
import numpy as np
from inmoose.deseq2 import DESeq, makeExampleDESeqDataSet, nbinomWaldTest
from inmoose.utils import Factor
class Test(unittest.TestCase):
def test_addMLE(self):
"""test that adding MLE works as expected"""
dds = makeExampleDESeqDataSet(n=200, m=12, betaSD=1, seed=42)
dds.obs["condition"] = Factor(np.repeat(["A", "B", "C"], 4))
dds.design = "~condition"
dds = DESeq(dds, betaPrior=True)
ddsNP = nbinomWaldTest(dds.copy(), betaPrior=False)
res1 = dds.results(contrast=["condition", "C", "A"], addMLE=True)
res2 = ddsNP.results(contrast=["condition", "C", "A"])
self.assertTrue(np.allclose(res1.lfcMLE, res2.log2FoldChange, equal_nan=True))
res1 = dds.results(contrast=["condition", "A", "B"], addMLE=True)
res2 = ddsNP.results(contrast=["condition", "A", "B"])
self.assertTrue(np.allclose(res1.lfcMLE, res2.log2FoldChange, equal_nan=True))
res1 = dds.results(contrast=["condition", "C", "B"], addMLE=True)
res2 = ddsNP.results(contrast=["condition", "C", "B"])
self.assertTrue(np.allclose(res1.lfcMLE, res2.log2FoldChange, equal_nan=True))