Diff of /tests/cli/test_contrib.py [000000] .. [d45a3a]

Switch to side-by-side view

--- a
+++ b/tests/cli/test_contrib.py
@@ -0,0 +1,81 @@
+"""Test bpnet contrib
+"""
+import pytest
+from bpnet.cli.contrib import bpnet_contrib, ContribFile
+import keras.backend as K
+
+
+@pytest.mark.parametrize("method", ['deeplift', 'grad'])
+def test_contrib_bias_model(tmp_path, method, trained_model_w_bias):
+    """Test whether we can compute differnet contribution scores
+    """
+    K.clear_session()
+    fpath = tmp_path / 'imp-score.h5'
+    bpnet_contrib(str(trained_model_w_bias),
+                  str(fpath),
+                  method=method)
+
+    cf = ContribFile(fpath)
+    assert cf.get_contrib()['Task1'].shape[-1] == 4
+
+
+@pytest.mark.parametrize("method", ['deeplift', 'grad'])
+def test_contrib_default_model(tmp_path, method, trained_model):
+    """Test whether we can compute differnet contribution scores
+    """
+    K.clear_session()
+    fpath = tmp_path / 'imp-score.h5'
+    bpnet_contrib(str(trained_model),
+                  str(fpath),
+                  method=method)
+
+    cf = ContribFile(fpath)
+    assert cf.get_contrib()['Task1'].shape[-1] == 4
+
+
+@pytest.mark.parametrize("method", ['grad'])
+def test_contrib_regions(tmp_path, method, trained_model, regions):
+    """Test different scenarios regarding subsetting
+    """
+    K.clear_session()
+    bpnet_contrib(str(trained_model),
+                  str(tmp_path / 'imp-score.h5'),
+                  method=method,
+                  regions=str(regions))
+
+
+@pytest.mark.parametrize("method", ['grad'])
+def test_contrib_dataspec(tmp_path, method, trained_model, dataspec_bias, regions):
+    """Test different scenarios regarding subsetting
+    """
+    K.clear_session()
+    bpnet_contrib(str(trained_model),
+                  str(tmp_path / 'imp-score.h5'),
+                  method=method,
+                  dataspec=str(dataspec_bias),
+                  regions=str(regions))
+
+
+@pytest.mark.parametrize("method", ['grad'])
+def test_contrib_fasta_file(tmp_path, method, trained_model, fasta_file, regions):
+    """Test different scenarios regarding subsetting
+    """
+    K.clear_session()
+    bpnet_contrib(str(trained_model),
+                  str(tmp_path / 'imp-score.h5'),
+                  method=method,
+                  fasta_file=str(fasta_file),
+                  regions=str(regions))
+
+
+@pytest.mark.parametrize("method", ['grad'])
+def test_contrib_dataspec_fasta_file(tmp_path, method, trained_model, dataspec_bias, fasta_file):
+    """Test different scenarios regarding subsetting
+    """
+    K.clear_session()
+    with pytest.raises(ValueError):
+        bpnet_contrib(str(trained_model),
+                      str(tmp_path / 'imp-score.h5'),
+                      method=method,
+                      fasta_file=str(fasta_file),
+                      dataspec=str(dataspec_bias))