scPTR / tests /test_variance.py
bryan7264's picture
Add files using upload-large-folder tool
9d901ad verified
Raw
History Blame Contribute Delete
737 Bytes
"""Tests for variance decomposition."""
import numpy as np
import pytest
def test_variance_decomposition(preprocessed_adata):
import scptr
scptr.tl.estimate_beta(preprocessed_adata)
scptr.tl.estimate_gamma(preprocessed_adata)
scptr.tl.variance_decomposition(preprocessed_adata)
assert "tf_score" in preprocessed_adata.var.columns
assert "ptf_score" in preprocessed_adata.var.columns
tf = preprocessed_adata.var["tf_score"].values
ptf = preprocessed_adata.var["ptf_score"].values
# TF + PTF should sum to ~1
np.testing.assert_allclose(tf + ptf, 1.0, atol=1e-5)
# Scores should be in [0, 1]
assert np.all(tf >= 0) and np.all(tf <= 1)
assert np.all(ptf >= 0) and np.all(ptf <= 1)