Skip to content

Commit

Permalink
changing assert statements to check arrays
Browse files Browse the repository at this point in the history
  • Loading branch information
ajitjohnson committed Apr 25, 2024
1 parent d66259a commit 3bd0e30
Show file tree
Hide file tree
Showing 17 changed files with 66 additions and 20 deletions.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added scimap/tests/expected_test_values/test_umap.npz
Binary file not shown.
14 changes: 10 additions & 4 deletions scimap/tests/test_pp.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ def test_rescale (adata):
from scimap.preprocessing.rescale import rescale
manual_gate = pd.read_csv(os.getcwd() + '/scimap/tests/scimapExampleData/manual_gates.csv')
adata = rescale (adata, gate=manual_gate)
assert round(adata.X[0][0], 2) == 0.12
# load expected data
loaded_data = np.load( os.getcwd() + '/scimap/tests/expected_test_values/test_rescale.npz')['data']
assert np.allclose(loaded_data, adata.X), "The arrays do not match."

np.testing.assert_allclose(adata.X[0][0], 0.11828568543672713)


# combat
def test_combat (adata):
from scimap.preprocessing.combat import combat
Expand All @@ -62,4 +62,10 @@ def test_combat (adata):
adata = combat (adata, batch='ROI', layer='log', label='combat_log_layer')
assert adata.layers['combat_log_layer'].shape == (11201, 9)
adata = combat (adata, batch='ROI', replaceOriginal=True)
assert round(adata.X[0][0], 2) == 0.12
# load expected data
loaded_data = np.load( os.getcwd() + '/scimap/tests/expected_test_values/test_combat.npz')['data']
assert np.allclose(loaded_data, adata.X), "The arrays do not match."




72 changes: 56 additions & 16 deletions scimap/tests/test_tl.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@
import os
import anndata as ad
import pandas as pd
import numpy as np
import pickle

# def save_pickle(obj, filename): pickle.dump(obj, open(filename, 'wb'))
#save_pickle(list(adata.obs['spatial_similarity_search_ROI2']), '/Users/aj/Dropbox (Partners HealthCare)/nirmal lab/softwares/scimap/scimap/tests/expected_test_values/test_spatial_similarity_search.pkl')
load_pickle = lambda filename: pickle.load(open(filename, 'rb'))

# load data
@pytest.fixture
Expand All @@ -25,36 +31,47 @@ def test_phenotype (adata):
# Load phenotype and test phenotyping
phenotype = pd.read_csv(os. getcwd() + '/scimap/tests/scimapExampleData/phenotype_workflow.csv')
adata = phenotype_cells (adata, phenotype=phenotype, gate = 0.5, label="phenotype")
assert adata.obs['phenotype'].iloc[0] == 'Immune'
# load expected data
loaded_data = load_pickle(os.getcwd() + '/scimap/tests/expected_test_values/test_phenotype.pkl')
assert loaded_data == list(adata.obs['phenotype']), "The lists do not match."


#cluster
def test_cluster (adata):
from scimap.tools.cluster import cluster
adata = cluster (adata, method = 'kmeans', k= 5, use_raw = True)
assert adata.obs['kmeans'].value_counts().iloc[4] == 81
# load expected data
loaded_data = load_pickle(os.getcwd() + '/scimap/tests/expected_test_values/test_cluster.pkl')
assert loaded_data == list(adata.obs['kmeans']), "The lists do not match."


#umap
def test_umap (adata):
from scimap.tools.umap import umap
adata = umap(adata, label='umap_test')
assert adata.obsm['umap_test'].shape == (11201, 2)
# load expected data
loaded_data = np.load( os.getcwd() + '/scimap/tests/expected_test_values/test_umap.npz')['data']
assert np.allclose(loaded_data, adata.obsm['umap_test']), "The arrays do not match."
#assert adata.obsm['umap_test'].shape == (11201, 2)


#foldchange
def test_foldchange (adata):
from scimap.tools.foldchange import foldchange
adata = foldchange(adata, from_group = 'ROI1', imageid='ROI')
assert round(adata.uns['foldchange_fc']['Immune'], 2).values[0] == 1.87
# load expected data
loaded_data = np.load( os.getcwd() + '/scimap/tests/expected_test_values/test_foldchange.npz')['data']
assert np.allclose(loaded_data, adata.uns['foldchange_fc'].to_numpy() ), "The arrays do not match."


#spatial_distance
def test_spatial_distance (adata):
from scimap.tools.spatial_distance import spatial_distance
adata = spatial_distance (adata)
assert round(adata.uns['spatial_distance']['Immune'].iloc[0], 2) == 521.27

# load expected data
loaded_data = np.load( os.getcwd() + '/scimap/tests/expected_test_values/test_spatial_distance.npz')['data']
assert np.allclose(loaded_data, adata.uns['spatial_distance'].to_numpy()), "The arrays do not match."


#spatial_interaction
def test_spatial_interaction (adata):
from scimap.tools.spatial_interaction import spatial_interaction
Expand All @@ -67,45 +84,68 @@ def test_spatial_interaction (adata):
def test_spatial_count (adata):
from scimap.tools.spatial_count import spatial_count
adata = spatial_count (adata, phenotype='phenotype',method='knn',radius=5)
assert adata.uns['spatial_count'] is not None
# load expected data
loaded_data = np.load( os.getcwd() + '/scimap/tests/expected_test_values/test_spatial_count.npz')['data']
assert np.allclose(loaded_data, adata.uns['spatial_count'].to_numpy()), "The arrays do not match."

# test spatial cluster
from scimap.tools.spatial_cluster import spatial_cluster
adata = spatial_cluster(adata, df_name='spatial_count')
assert adata.obs['spatial_kmeans'].value_counts().iloc[3] == 1213

# load expected data
loaded_data = load_pickle(os.getcwd() + '/scimap/tests/expected_test_values/test_spatial_cluster.pkl')
assert loaded_data == list(adata.obs['spatial_kmeans']), "The lists do not match."


#spatial_lda
def test_spatial_lda (adata):
from scimap.tools.spatial_lda import spatial_lda
adata = spatial_lda (adata, num_motifs=10, radius=30)
assert round(adata.uns['spatial_lda']['Motif_0'].iloc[0], 3) == 0.05
assert adata.uns['spatial_lda'] is not None


#spatial_expression
def test_spatial_expression (adata):
from scimap.tools.spatial_expression import spatial_expression
adata = spatial_expression (adata, method='radius', radius=30, use_raw=True, label='spatial_expression')
assert round(adata.uns['spatial_expression']['ECAD'].sum(),0) == 81404.0
# load expected data
loaded_data = np.load( os.getcwd() + '/scimap/tests/expected_test_values/test_spatial_expression.npz')['data']
assert np.allclose(loaded_data, adata.uns['spatial_expression'].to_numpy()), "The arrays do not match."


#spatial_pscore
def test_spatial_pscore (adata):
from scimap.tools.spatial_pscore import spatial_pscore
adata = spatial_pscore (adata, proximity= ['Immune', 'ECAD+'])
assert adata.uns['spatial_pscore']['Immune_ECAD+'].values[0] == 2095
# load expected data
loaded_data = np.load( os.getcwd() + '/scimap/tests/expected_test_values/test_spatial_pscore.npz')['data']
assert np.allclose(loaded_data, adata.uns['spatial_pscore'].to_numpy()), "The arrays do not match."


#spatial_aggregate
def test_spatial_aggregate (adata):
from scimap.tools.spatial_aggregate import spatial_aggregate
adata = spatial_aggregate (adata, purity = 60, phenotype='phenotype', method='knn', radius=10)
assert adata.obs['spatial_aggregate'].value_counts()['Immune'] == 3439

# load expected data
loaded_data = load_pickle(os.getcwd() + '/scimap/tests/expected_test_values/test_spatial_aggregate.pkl')
assert loaded_data == list(adata.obs['spatial_aggregate']), "The lists do not match."


#spatial_similarity_search
def test_spatial_similarity_search (adata):
from scimap.tools.spatial_similarity_search import spatial_similarity_search
adata = spatial_similarity_search (adata, ROI_column='ROI', similarity_threshold=0.6, method='knn', radius=10)
assert adata.obs['spatial_similarity_search_ROI2'].value_counts()['similar_to_ROI'] == 4786
# load expected data
loaded_data = load_pickle(os.getcwd() + '/scimap/tests/expected_test_values/test_spatial_similarity_search.pkl')
assert loaded_data == list(adata.obs['spatial_similarity_search_ROI2']), "The lists do not match."












Binary file modified testFigures/heatmap.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 3bd0e30

Please sign in to comment.