Esempio n. 1
0
    def test_fitted_copy(self):
        m = FittedModel(
            np.array([0, 1]),
            np.array([2, 3]),
            conf_int=np.array([[4, 5], [6, 7]]),
            x_all=[4, 5],
            y_all=(6, 7),
            w_all=[8, 9],
        )

        fm = m.copy()

        assert isinstance(fm, FittedModel)
        assert fm.prepared
        assert fm._gene == m._gene
        assert fm._lineage == m._lineage

        np.testing.assert_array_equal(fm.x_test, m.x_test)
        assert fm.x_test is not m.x_test
        np.testing.assert_array_equal(fm.y_test, m.y_test)
        assert fm.y_test is not m.y_test
        np.testing.assert_array_equal(fm.conf_int, m.conf_int)
        assert fm.conf_int is not m.conf_int

        np.testing.assert_array_equal(fm.x_all, m.x_all)
        assert fm.x_all is not m.x_all
        np.testing.assert_array_equal(fm.y_all, m.y_all)
        assert fm.y_all is not m.y_all
        np.testing.assert_array_equal(fm.w_all, m.w_all)
        assert fm.y_all is not m.w_all
Esempio n. 2
0
    def test_from_model_normal_run(self, adata_cflare: AnnData):
        m = create_model(adata_cflare).prepare(adata_cflare.var_names[0],
                                               "1").fit()
        m.predict()
        m.confidence_interval()

        fm = FittedModel.from_model(m)

        assert fm.prepared
        assert fm._gene == m._gene
        assert fm._lineage == m._lineage

        np.testing.assert_array_equal(fm.x_test, m.x_test)
        assert fm.x_test is not m.x_test
        np.testing.assert_array_equal(fm.y_test, m.y_test)
        assert fm.y_test is not m.y_test
        np.testing.assert_array_equal(fm.conf_int, m.conf_int)
        assert fm.conf_int is not m.conf_int

        np.testing.assert_array_equal(fm.x_all, m.x_all)
        assert fm.x_all is not m.x_all
        np.testing.assert_array_equal(fm.y_all, m.y_all)
        assert fm.y_all is not m.y_all
        np.testing.assert_array_equal(fm.w_all, m.w_all)
        assert fm.y_all is not m.w_all
Esempio n. 3
0
 def test_wrong_conf_int_wrong_shape(self):
     with pytest.raises(ValueError):
         FittedModel(
             np.array([0, 1]),
             np.array([2, 3]),
             conf_int=np.array([[4, 5], [6, 7], [8, 9]]),
         )
Esempio n. 4
0
 def test_wrong_y_all_shape(self):
     with pytest.raises(ValueError):
         FittedModel(
             np.array([[0, 1]]),
             np.array([2, 3]),
             x_all=np.array([[4, 5]]),
             y_all=np.array([6, 8, 7]),
         )
Esempio n. 5
0
    def test_only_partial_x_all(self):
        fm = FittedModel(np.array([0, 1]), np.array([2, 3]), x_all=[4, 5], w_all=[6, 7])

        np.testing.assert_array_equal(fm.x_test, [[0], [1]])
        np.testing.assert_array_equal(fm.y_test, [2, 3])

        assert fm.x_all is None
        assert fm.w_all is None
        assert fm.y_all is None
Esempio n. 6
0
    def test_zero_array(self):
        fm = FittedModel(np.array([]), np.array([]))

        np.testing.assert_array_equal(fm.x_test, np.array([[]]).reshape((0, 1)))
        np.testing.assert_array_equal(fm.y_test, [])

        assert fm.conf_int is None
        assert fm.x_all is None
        assert fm.w_all is None
        assert fm.y_all is None
Esempio n. 7
0
    def test_non_array_input(self):
        fm = FittedModel([0, 1, 2], [3, 4, 5])

        np.testing.assert_array_equal(fm.x_test, [[0], [1], [2]])
        np.testing.assert_array_equal(fm.y_test, [3, 4, 5])

        assert fm.conf_int is None
        assert fm.x_all is None
        assert fm.w_all is None
        assert fm.y_all is None
Esempio n. 8
0
    def test_wrong_conf_int(self):
        fm = FittedModel(
            np.array([0, 1]), np.array([2, 3]), conf_int=np.array([[4, 5], [6, 7]])
        )

        np.testing.assert_array_equal(fm.x_test, [[0], [1]])
        np.testing.assert_array_equal(fm.y_test, [2, 3])
        np.testing.assert_array_equal(fm.conf_int, [[4, 5], [6, 7]])

        assert fm.x_all is None
        assert fm.w_all is None
        assert fm.y_all is None
Esempio n. 9
0
    def test_conf_int_raise_error_missing(self):
        fm = FittedModel([0, 1, 2], [3, 4, 5])
        with pytest.raises(RuntimeError):
            fm.confidence_interval()

        with pytest.raises(RuntimeError):
            fm.default_confidence_interval()
Esempio n. 10
0
    def test_full_initialization(self):
        fm = FittedModel(
            np.array([0, 1]),
            np.array([2, 3]),
            conf_int=np.array([[4, 5], [6, 7]]),
            x_all=[4, 5],
            y_all=(6, 7),
            w_all=[8, 9],
        )

        assert fm.prepared

        np.testing.assert_array_equal(fm.x_test, [[0], [1]])
        np.testing.assert_array_equal(fm.y_test, [2, 3])
        np.testing.assert_array_equal(fm.conf_int, [[4, 5], [6, 7]])

        np.testing.assert_array_equal(fm.x_all, [[4], [5]])
        np.testing.assert_array_equal(fm.y_all, [[6], [7]])
        np.testing.assert_array_equal(fm.w_all, [8, 9])
Esempio n. 11
0
    def test_normal_run(self):
        fm = FittedModel(
            np.array([0, 1]),
            np.array([2, 3]),
            conf_int=np.array([[4, 5], [6, 7]]),
            x_all=[4, 5],
            y_all=(6, 7),
            w_all=[8, 9],
        )

        fm = fm.prepare()
        assert fm is fm

        fm = fm.fit()
        assert fm is fm

        np.testing.assert_array_equal(fm.predict(), [2, 3])
        np.testing.assert_array_equal(fm.confidence_interval(), [[4, 5], [6, 7]])
        np.testing.assert_array_equal(
            fm.default_confidence_interval(), [[4, 5], [6, 7]]
        )
Esempio n. 12
0
 def test_from_model_not_fitted_model(self, adata_cflare: AnnData):
     m = create_model(adata_cflare).prepare(adata_cflare.var_names[0], "1")
     with pytest.raises(ValueError):
         FittedModel.from_model(m)
Esempio n. 13
0
 def from_model_wrong_type(self, adata_cflare):
     m = create_model(adata_cflare)
     with pytest.raises(TypeError):
         FittedModel.from_model(m.model)
Esempio n. 14
0
 def test_wrong_xt_yt_shape(self):
     with pytest.raises(ValueError):
         FittedModel(np.array([1]), np.array([2, 3]))
Esempio n. 15
0
 def test_densify_only_first_axis(self):
     with pytest.raises(ValueError):
         FittedModel(np.array([[[0, 1]]]), np.array([2, 3]))
Esempio n. 16
0
 def test_wrong_conf_int_dim(self):
     with pytest.raises(ValueError):
         FittedModel(np.array([0, 1]), np.array([2, 3]), conf_int=np.array([4, 5]))
Esempio n. 17
0
 def test_wrong_xt_dum(self):
     with pytest.raises(ValueError):
         FittedModel(np.array([[0, 1], [1, 2]]), np.array([2, 3]))