Switch to unified view

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