Skip to content

Commit

Permalink
Rename averaging functions to avoid ambiguity
Browse files Browse the repository at this point in the history
  • Loading branch information
alex-l-kong committed Feb 3, 2023
1 parent e6cfb28 commit 1e038ef
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 32 deletions.
38 changes: 19 additions & 19 deletions ark/phenotyping/cell_cluster_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
from ark.phenotyping import cluster_helpers


def compute_cell_cluster_expr_avg(cell_cluster_data, cell_som_cluster_cols,
cell_cluster_col, keep_count=False):
def compute_cell_som_cluster_cols_avg(cell_cluster_data, cell_som_cluster_cols,
cell_cluster_col, keep_count=False):
"""For each cell SOM cluster, compute the average expression of all `cell_som_cluster_cols`
Args:
Expand Down Expand Up @@ -66,11 +66,11 @@ def compute_cell_cluster_expr_avg(cell_cluster_data, cell_som_cluster_cols,
return mean_count_totals


def compute_cell_cluster_channel_avg(fovs, channels, base_dir,
weighted_cell_channel_name,
cell_cluster_data,
cell_cluster_col='cell_meta_cluster'):
"""Computes the average marker expression for each cell cluster
def compute_cell_cluster_weighted_channel_avg(fovs, channels, base_dir,
weighted_cell_channel_name,
cell_cluster_data,
cell_cluster_col='cell_meta_cluster'):
"""Computes the average weighted marker expression for each cell cluster
Args:
fovs (list):
Expand Down Expand Up @@ -518,14 +518,14 @@ def generate_som_avg_files(base_dir, cell_som_input_data, cell_som_cluster_cols,

# compute the average column expression values per cell SOM cluster
print("Computing the average value of each training column specified per cell SOM cluster")
cell_som_cluster_avgs = compute_cell_cluster_expr_avg(
cell_som_cluster_avgs = compute_cell_som_cluster_cols_avg(
cell_som_input_data,
cell_som_cluster_cols,
'cell_som_cluster',
keep_count=True
)

# save the average pixel SOM/meta counts per cell SOM cluster
# save the average expression values of cell_som_cluster_cols per cell SOM cluster
cell_som_cluster_avgs.to_csv(
som_expr_col_avg_path,
index=False
Expand Down Expand Up @@ -641,16 +641,16 @@ def generate_meta_avg_files(base_dir, cell_cc, cell_som_cluster_cols,
print("Already generated average expression file for cell meta clusters, skipping")
return

# compute the average pixel SOM/meta counts per cell meta cluster
# compute the average value of each expression column per cell meta cluster
print("Computing the average value of each training column specified per cell meta cluster")
cell_meta_cluster_avgs = compute_cell_cluster_expr_avg(
cell_meta_cluster_avgs = compute_cell_som_cluster_cols_avg(
cell_som_input_data,
cell_som_cluster_cols,
'cell_meta_cluster',
keep_count=True
)

# save the average pixel SOM/meta counts per cell meta cluster
# save the average expression values of cell_som_cluster_cols per cell meta cluster
cell_meta_cluster_avgs.to_csv(
meta_expr_col_avg_path,
index=False
Expand Down Expand Up @@ -723,7 +723,7 @@ def generate_wc_avg_files(fovs, channels, base_dir, cell_cc, cell_som_input_data
return

print("Compute average weighted channel expression across cell SOM clusters")
cell_som_cluster_channel_avg = compute_cell_cluster_channel_avg(
cell_som_cluster_channel_avg = compute_cell_cluster_weighted_channel_avg(
fovs,
channels,
base_dir,
Expand All @@ -749,7 +749,7 @@ def generate_wc_avg_files(fovs, channels, base_dir, cell_cc, cell_som_input_data

# compute the weighted channel average expression per cell meta cluster
print("Compute average weighted channel expression across cell meta clusters")
cell_meta_cluster_channel_avg = compute_cell_cluster_channel_avg(
cell_meta_cluster_channel_avg = compute_cell_cluster_weighted_channel_avg(
fovs,
channels,
base_dir,
Expand Down Expand Up @@ -906,10 +906,10 @@ def generate_remap_avg_count_files(base_dir, cell_som_input_data,
].drop_duplicates().values
)

# re-compute the average number of pixel SOM/meta clusters per cell meta cluster
# re-compute the average value of each expression column per meta cluster
# add renamed meta cluster in
print("Re-compute pixel SOM/meta cluster count per cell meta cluster")
cell_meta_cluster_avgs = compute_cell_cluster_expr_avg(
print("Re-compute average value of each training column specified per cell meta cluster")
cell_meta_cluster_avgs = compute_cell_som_cluster_cols_avg(
cell_som_input_data,
cell_som_cluster_cols,
'cell_meta_cluster',
Expand All @@ -919,7 +919,7 @@ def generate_remap_avg_count_files(base_dir, cell_som_input_data,
cell_meta_cluster_avgs['cell_meta_cluster_rename'] = \
cell_meta_cluster_avgs['cell_meta_cluster'].map(cell_renamed_meta_dict)

# re-save the average number of pixel SOM/meta clusters per cell meta cluster
# re-save the average expression value of all cell SOM columns specified per cell meta cluster
cell_meta_cluster_avgs.to_csv(
meta_expr_col_avg_path,
index=False
Expand Down Expand Up @@ -1016,7 +1016,7 @@ def generate_remap_avg_wc_files(fovs, channels, base_dir, cell_som_input_data,
# re-compute the weighted channel average expression per cell meta cluster
# add renamed meta cluster in
print("Re-compute average weighted channel expression across cell meta clusters")
cell_meta_cluster_channel_avg = compute_cell_cluster_channel_avg(
cell_meta_cluster_channel_avg = compute_cell_cluster_weighted_channel_avg(
fovs,
channels,
base_dir,
Expand Down
26 changes: 13 additions & 13 deletions ark/phenotyping/cell_cluster_utils_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@
parametrize = pytest.mark.parametrize


def test_compute_cell_cluster_expr_avg():
def test_compute_cell_som_cluster_cols_avg():
# define the cluster columns
pixel_som_clusters = ['pixel_som_cluster_%d' % i for i in np.arange(3)]
pixel_meta_clusters = ['pixel_meta_cluster_rename_%s' % str(i) for i in np.arange(3)]

with tempfile.TemporaryDirectory() as temp_dir:
# error check: bad cell_cluster_col specified
with pytest.raises(ValueError):
cell_cluster_utils.compute_cell_cluster_expr_avg(
cell_cluster_utils.compute_cell_som_cluster_cols_avg(
pd.DataFrame(), 'pixel_meta_cluster', 'bad_cluster_col', False
)

Expand Down Expand Up @@ -57,7 +57,7 @@ def test_compute_cell_cluster_expr_avg():
if keep_count:
drop_cols.append('count')

cell_cluster_avg = cell_cluster_utils.compute_cell_cluster_expr_avg(
cell_cluster_avg = cell_cluster_utils.compute_cell_som_cluster_cols_avg(
cluster_data, cluster_col_arr[i], 'cell_som_cluster', keep_count=keep_count
)

Expand All @@ -83,7 +83,7 @@ def test_compute_cell_cluster_expr_avg():
if keep_count:
drop_cols.append('count')

cell_cluster_avg = cell_cluster_utils.compute_cell_cluster_expr_avg(
cell_cluster_avg = cell_cluster_utils.compute_cell_som_cluster_cols_avg(
cluster_data, cluster_col_arr[i], 'cell_meta_cluster', keep_count=keep_count
)

Expand All @@ -104,14 +104,14 @@ def test_compute_cell_cluster_expr_avg():
assert np.all(cell_cluster_avg['count'].values == 200)


def test_compute_cell_cluster_channel_avg():
def test_compute_cell_cluster_weighted_channel_avg():
fovs = ['fov1', 'fov2']
chans = ['chan1', 'chan2', 'chan3']

with tempfile.TemporaryDirectory() as temp_dir:
# error check: no channel average file provided
with pytest.raises(FileNotFoundError):
cell_cluster_utils.compute_cell_cluster_channel_avg(
cell_cluster_utils.compute_cell_cluster_weighted_channel_avg(
fovs, chans, temp_dir, 'bad_cell_table', pd.DataFrame(), 'bad_cluster_col'
)

Expand Down Expand Up @@ -157,13 +157,13 @@ def test_compute_cell_cluster_channel_avg():

# error check: bad cell_cluster_col provided
with pytest.raises(ValueError):
cell_cluster_utils.compute_cell_cluster_channel_avg(
cell_cluster_utils.compute_cell_cluster_weighted_channel_avg(
fovs, chans, temp_dir, 'weighted_cell_channel.feather',
consensus_data, cell_cluster_col='bad_cluster_col'
)

# test averages for cell SOM clusters
cell_channel_avg = cell_cluster_utils.compute_cell_cluster_channel_avg(
cell_channel_avg = cell_cluster_utils.compute_cell_cluster_weighted_channel_avg(
# fovs, chans, temp_dir, weighted_cell_table,
fovs, chans, temp_dir, 'weighted_cell_channel.feather',
consensus_data, cell_cluster_col='cell_som_cluster'
Expand All @@ -176,7 +176,7 @@ def test_compute_cell_cluster_channel_avg():
assert cell_channel_avg.drop(columns='cell_som_cluster').shape == (5, 3)

# test averages for cell meta clusters
cell_channel_avg = cell_cluster_utils.compute_cell_cluster_channel_avg(
cell_channel_avg = cell_cluster_utils.compute_cell_cluster_weighted_channel_avg(
# fovs, chans, temp_dir, weighted_cell_table,
fovs, chans, temp_dir, 'weighted_cell_channel.feather',
consensus_data, cell_cluster_col='cell_meta_cluster'
Expand Down Expand Up @@ -680,8 +680,8 @@ def test_cell_consensus_cluster(pixel_cluster_prefix):
cluster_data['segmentation_label'] = np.tile(np.arange(1, 501), reps=2)
cluster_data['cell_som_cluster'] = np.repeat(np.arange(100), 10)

# compute average counts of each pixel SOM/meta cluster across all cell SOM clusters
cluster_avg = cell_cluster_utils.compute_cell_cluster_expr_avg(
# compute average values of all cluster_cols for cell SOM clusters
cluster_avg = cell_cluster_utils.compute_cell_som_cluster_cols_avg(
cluster_data, cell_som_cluster_cols=cluster_cols,
cell_cluster_col='cell_som_cluster'
)
Expand Down Expand Up @@ -733,8 +733,8 @@ def test_generate_meta_avg_files(capsys):
cluster_data['cell_som_cluster'] = np.repeat(np.arange(100), 10)
cluster_data['cell_meta_cluster'] = np.repeat(np.arange(20), 50)

# compute average counts of each pixel SOM/meta cluster across all cell SOM clusters
cluster_avg = cell_cluster_utils.compute_cell_cluster_expr_avg(
# compute average values of all cluster_cols for cell SOM clusters
cluster_avg = cell_cluster_utils.compute_cell_som_cluster_cols_avg(
cluster_data, cell_som_cluster_cols=cluster_cols,
cell_cluster_col='cell_som_cluster'
)
Expand Down

0 comments on commit 1e038ef

Please sign in to comment.