diff --git a/infer_subc/utils/stats.py b/infer_subc/utils/stats.py
index 84f71d3..26d842b 100644
--- a/infer_subc/utils/stats.py
+++ b/infer_subc/utils/stats.py
@@ -4,6 +4,7 @@
from skimage.measure import regionprops_table, regionprops, mesh_surface_area, marching_cubes, label
from skimage.morphology import binary_erosion
from skimage.measure._regionprops import _props_to_dict
+from skimage.segmentation import watershed
from typing import Tuple, Any, Union
import itertools
@@ -17,7 +18,27 @@
from infer_subc.core.img import apply_mask
-
+def _contact(orgs:str,
+ organelle_segs: dict[str:np.ndarray],
+ splitter: str="_") -> tuple[np.ndarray, np.ndarray]:
+ ##########################################
+ ## CREATE CONTACT
+ ##########################################
+ site = np.ones_like(organelle_segs[orgs.split(splitter)[0]])
+ for org in orgs.split(splitter):
+ site = site*(organelle_segs[org]>0)
+
+ ##########################################
+ ## DETERMINE REDUNDANT CONTACTS
+ ##########################################
+ HOc = site.copy()
+ for org, val in organelle_segs.items():
+ if (org not in orgs.split(splitter)) and np.any(site*val):
+ HOc = HOc*(np.invert(watershed(image=(np.invert(site)),
+ markers=(site*val),
+ mask=site,
+ connectivity=np.ones((3, 3, 3), bool))>0))
+ return site, HOc
def _my_props_to_dict(
rp, label_image, intensity_image=None, properties=("label", "area", "centroid", "bbox"), extra_properties=None, spacing: Union[tuple, None] = None):
@@ -398,93 +419,51 @@ def standard_deviation_intensity(region, intensities):
return props_table
-
-def get_contact_metrics_3D(a: np.ndarray,
- a_name: str,
- b: np.ndarray,
- b_name:str,
- mask: np.ndarray,
+def get_empty_contact_dist_tabs(mask: np.ndarray,
+ name: str,
+ dist_centering_obj: np.ndarray,
scale: Union[tuple, None]=None,
- include_dist:bool=False,
- dist_centering_obj: Union[np.ndarray, None]=None,
- dist_num_bins: Union[int, None]=None,
- dist_zernike_degrees: Union[int, None]=None,
+ dist_zernike_degrees: Union[int,None] = None,
dist_center_on: Union[bool, None]=None,
- dist_keep_center_as_bin: Union[bool, None]=None):
- """
- collect volumentric measurements of organelle `a` intersect organelle `b`
-
- Parameters
- ------------
- a: np.ndarray
- 3D (ZYX) np.ndarray of one set of objects that will be assessed as part of a "contact"
- a_name: str
- the name or nickname of object a; this will be used for record keeping purposed in the output dataframe
- b: np.ndarray
- 3D (ZYX) np.ndarray of one set of objects that will be assessed as part of a "contact"
- b_name: str
- the name or nickname of object b; this will be used for record keeping purposed in the output dataframe
- mask: np.ndarray
- 3D (ZYX) binary mask of the area to measure contacts from
- include_dist:bool=False
- *optional*
- True = include the XY and Z distribution measurements of the contact sites within the masked region
- (utilizing the functions get_XY_distribution() and get_Z_distribution() from Infer-subc)
- False = do not include distirbution measurements
- dist_centering_obj: Union[np.ndarray, None]=None
- ONLY NEEDED IF include_dist=True; if None, the center of the mask will be used
- 3D (ZYX) np.ndarray containing the object to use for centering the XY distribution mask
- dist_num_bins: Union[int, None]=None
- ONLY NEEDED IF include_dist=True; if None, the default is 5
- dist_zernike_degrees: Unions[int, None]=None,
- ONLY NEEDED IF include_dist=True; if None, the zernike share measurements will not be included in the distribution
- the number of zernike degrees to include for the zernike shape descriptors
- dist_center_on: Union[bool, None]=None
- ONLY NEEDED IF include_dist=True; if None, the default is False
- True = distribute the bins from the center of the centering object
- False = distribute the bins from the edge of the centering object
- dist_keep_center_as_bin: Union[bool, None]=None
- ONLY NEEDED IF include_dist=True; if None, the default is True
- True = include the centering object area when creating the bins
- False = do not include the centering object area when creating the bins
-
-
- Regionprops measurements:
- ------------------------
- ['label',
- 'centroid',
- 'bbox',
- 'area',
- 'equivalent_diameter',
- 'extent',
- 'feret_diameter_max',
- 'euler_number',
- 'convex_area',
- 'solidity',
- 'axis_major_length',
- 'axis_minor_length']
-
- Additional measurements:
- ----------------------
- ['surface_area']
-
-
- Returns
- -------------
- pandas dataframe of containing regionprops measurements (columns) for each overlap region between a and b (rows)
-
- """
+ dist_keep_center_as_bin: Union[bool, None]=None,
+ dist_num_bins: Union[int, None]=None):
+ XY_contact_dist, XY_bins, XY_wedges = get_XY_distribution(mask=mask,
+ obj=np.zeros_like(mask),
+ obj_name=name,
+ centering_obj=dist_centering_obj,
+ scale=scale,
+ center_on=dist_center_on,
+ keep_center_as_bin=dist_keep_center_as_bin,
+ num_bins=dist_num_bins,
+ zernike_degrees=dist_zernike_degrees)
+
+ Z_contact_dist = get_Z_distribution(mask=mask,
+ obj=np.zeros_like(mask),
+ obj_name=name,
+ center_obj=dist_centering_obj,
+ scale=scale)
+
+ return pd.merge(XY_contact_dist, Z_contact_dist, on=["object", "scale"])
+
+def get_contact_metrics_3D(orgs: str,
+ organelle_segs: dict[str:np.ndarray],
+ mask: np.ndarray,
+ splitter: str="_",
+ scale: Union[tuple, None]=None,
+ include_dist:bool=False,
+ dist_centering_obj: Union[np.ndarray, None]=None,
+ dist_num_bins: Union[int, None]=None,
+ dist_zernike_degrees: Union[int, None]=None,
+ dist_center_on: Union[bool, None]=None,
+ dist_keep_center_as_bin: Union[bool, None]=None) -> list:
+ ##########################################
+ ## PREPARING CONTACT METRICS
+ ##########################################
+ site, HOc = _contact(orgs, organelle_segs, splitter)
+ dist_tabs =[]
+ labels = label(apply_mask(site, mask)).astype("int") #Isolate to only contact sites found within the cell of interest
+ para_labels = apply_mask((HOc>0), mask).astype("int") * labels #copy labels found in labels to para_labels
- #########################
- ## CREATE OVERLAP REGIONS
- #########################
- a = _assert_uint16_labels(a)
- b = _assert_uint16_labels(b)
-
- a_int_b = np.logical_and(a > 0, b > 0)
-
- labels = label(apply_mask(a_int_b, mask)).astype("int")
-
##########################################
## CREATE LIST OF REGIONPROPS MEASUREMENTS
##########################################
@@ -511,78 +490,264 @@ def get_contact_metrics_3D(a: np.ndarray,
surface_area_tab = pd.DataFrame(surface_area_from_props(labels, props, scale))
######################################################
- ## LIST WHICH ORGANELLES ARE INVOLVED IN THE CONTACTS
- ######################################################
- label_a = []
- index_ab = []
- label_b = []
- for index, lab in enumerate(props["label"]):
- # this seems less elegant than you might wish, given that regionprops returns a slice,
- # but we need to expand the slice out by one voxel in each direction, or surface area freaks out
- volume = labels[props["slice"][index]]
- la = a[props["slice"][index]]
- lb = b[props["slice"][index]]
- volume = volume == lab
- la = la[volume]
- lb = lb[volume]
-
- all_as = np.unique(la[la>0]).tolist()
- all_bs = np.unique(lb[lb>0]).tolist()
- if len(all_as) != 1:
- print(f"we have an error. as-> {all_as}")
- if len(all_bs) != 1:
- print(f"we have an error. bs-> {all_bs}")
-
- label_a.append(f"{all_as[0]}" )
- label_b.append(f"{all_bs[0]}" )
- index_ab.append(f"{all_as[0]}_{all_bs[0]}")
-
-
+ ## LIST WHICH ORGANELLES ARE INVOLVED IN THE CONTACT
+ ######################################################
+ cont_inv = [] #initializes a variable to be used for creating the values for the contacts in the dictionary
+ # This variable is a list of the labels of each organelle involved in one contact site between those organelles
+ involved = orgs.split(splitter) #creates list of all involved organelles in the contact
+ indexes = dict.fromkeys(involved, []) #A dictionary of indexes of site involved in the contact
+ indexes[orgs] = [] # str = "contact" or "organelle", may have multiple different organelles
+ # list = contact or organelle number in image corresponding to the same contact in the other keys
+ # a 2-way contact will have 3 keys, a 3-way contact will have 4 keys, etc
+ redundancy = []
+ for index, l in enumerate(props["label"]):
+ cont_inv.clear() #clears cont_inv variable of any labels from past contact site for new contact site
+ present = para_labels[props["slice"][index]]
+ present = present==l
+ redundant = not np.any(present)
+ redundancy.append(redundant)
+ for org in involved: #iterates across list of involved organelles
+ volume = labels[props["slice"][index]]
+ lorg = organelle_segs[org][props["slice"][index]]
+ volume = volume==l
+ lorg = lorg[volume]
+ all_inv = np.unique(lorg[lorg>0]).tolist()
+ if len(all_inv) != 1: #ensures only one label is involved in the contact site
+ print(f"we have an error. as-> {all_inv}") #informs the console of any errors and the reasoing for it
+ indexes[org].append(f"{all_inv[0]}") #adds the label of the organelle involved in the contact to the organelle's key's list
+ cont_inv.append(f"{all_inv[0]}") #adds the label of the organelle involved in the contact to the list of involved organelle labels
+ indexes[orgs].append('_'.join(cont_inv)) #adds the combination of all the organelle's labels involved in the contact to the contact key's list
######################################################
## CREATE COMBINED DATAFRAME OF THE QUANTIFICATION
######################################################
props_table = pd.DataFrame(props)
props_table.drop(columns=['slice', 'label'], inplace=True)
- props_table.insert(0, 'label',value=index_ab)
- props_table.insert(0, "object", f"{a_name}X{b_name}")
+ props_table.insert(0, 'label',value=indexes[orgs])
+ props_table.insert(0, "object", orgs)
props_table.rename(columns={"area": "volume"}, inplace=True)
props_table.insert(11, "surface_area", surface_area_tab)
- props_table.insert(13, "SA_to_volume_ratio", props_table["surface_area"].div(props_table["volume"]))
-
+ props_table.insert(13, "SA_to_volume_ratio",
+ props_table["surface_area"].div(props_table["volume"]))
+ props_table["redundant"] = redundancy
+
if scale is not None:
round_scale = (round(scale[0], 4), round(scale[1], 4), round(scale[2], 4))
props_table.insert(loc=2, column="scale", value=f"{round_scale}")
else:
props_table.insert(loc=2, column="scale", value=f"{tuple(np.ones(labels.ndim))}")
-
######################################################
## optional: DISTRIBUTION OF CONTACTS MEASUREMENTS
######################################################
- if include_dist is True:
+ if include_dist:
XY_contact_dist, XY_bins, XY_wedges = get_XY_distribution(mask=mask,
- obj=a_int_b,
- obj_name=f"{a_name}X{b_name}",
+ obj=site,
+ obj_name=orgs,
centering_obj=dist_centering_obj,
scale=scale,
center_on=dist_center_on,
keep_center_as_bin=dist_keep_center_as_bin,
num_bins=dist_num_bins,
zernike_degrees=dist_zernike_degrees)
-
+
Z_contact_dist = get_Z_distribution(mask=mask,
- obj=a_int_b,
- obj_name=f"{a_name}X{b_name}",
+ obj=site,
+ obj_name=orgs,
center_obj=dist_centering_obj,
scale=scale)
-
contact_dist_tab = pd.merge(XY_contact_dist, Z_contact_dist, on=["object", "scale"])
-
- return props_table, contact_dist_tab
+ dist_tabs.append(contact_dist_tab)
+ indexes.clear()
+ if include_dist:
+ return props_table, dist_tabs
else:
return props_table
+# def get_contact_metrics_3D(a: np.ndarray,
+# a_name: str,
+# b: np.ndarray,
+# b_name:str,
+# mask: np.ndarray,
+# scale: Union[tuple, None]=None,
+# include_dist:bool=False,
+# dist_centering_obj: Union[np.ndarray, None]=None,
+# dist_num_bins: Union[int, None]=None,
+# dist_zernike_degrees: Union[int, None]=None,
+# dist_center_on: Union[bool, None]=None,
+# dist_keep_center_as_bin: Union[bool, None]=None):
+# """
+# collect volumentric measurements of organelle `a` intersect organelle `b`
+
+# Parameters
+# ------------
+# a: np.ndarray
+# 3D (ZYX) np.ndarray of one set of objects that will be assessed as part of a "contact"
+# a_name: str
+# the name or nickname of object a; this will be used for record keeping purposed in the output dataframe
+# b: np.ndarray
+# 3D (ZYX) np.ndarray of one set of objects that will be assessed as part of a "contact"
+# b_name: str
+# the name or nickname of object b; this will be used for record keeping purposed in the output dataframe
+# mask: np.ndarray
+# 3D (ZYX) binary mask of the area to measure contacts from
+# include_dist:bool=False
+# *optional*
+# True = include the XY and Z distribution measurements of the contact sites within the masked region
+# (utilizing the functions get_XY_distribution() and get_Z_distribution() from Infer-subc)
+# False = do not include distirbution measurements
+# dist_centering_obj: Union[np.ndarray, None]=None
+# ONLY NEEDED IF include_dist=True; if None, the center of the mask will be used
+# 3D (ZYX) np.ndarray containing the object to use for centering the XY distribution mask
+# dist_num_bins: Union[int, None]=None
+# ONLY NEEDED IF include_dist=True; if None, the default is 5
+# dist_zernike_degrees: Unions[int, None]=None,
+# ONLY NEEDED IF include_dist=True; if None, the zernike share measurements will not be included in the distribution
+# the number of zernike degrees to include for the zernike shape descriptors
+# dist_center_on: Union[bool, None]=None
+# ONLY NEEDED IF include_dist=True; if None, the default is False
+# True = distribute the bins from the center of the centering object
+# False = distribute the bins from the edge of the centering object
+# dist_keep_center_as_bin: Union[bool, None]=None
+# ONLY NEEDED IF include_dist=True; if None, the default is True
+# True = include the centering object area when creating the bins
+# False = do not include the centering object area when creating the bins
+
+
+# Regionprops measurements:
+# ------------------------
+# ['label',
+# 'centroid',
+# 'bbox',
+# 'area',
+# 'equivalent_diameter',
+# 'extent',
+# 'feret_diameter_max',
+# 'euler_number',
+# 'convex_area',
+# 'solidity',
+# 'axis_major_length',
+# 'axis_minor_length']
+
+# Additional measurements:
+# ----------------------
+# ['surface_area']
+
+
+# Returns
+# -------------
+# pandas dataframe of containing regionprops measurements (columns) for each overlap region between a and b (rows)
+
+# """
+
+# #########################
+# ## CREATE OVERLAP REGIONS
+# #########################
+# a = _assert_uint16_labels(a)
+# b = _assert_uint16_labels(b)
+
+# a_int_b = np.logical_and(a > 0, b > 0)
+
+# labels = label(apply_mask(a_int_b, mask)).astype("int")
+
+# ##########################################
+# ## CREATE LIST OF REGIONPROPS MEASUREMENTS
+# ##########################################
+# # start with LABEL
+# properties = ["label"]
+
+# # add position
+# properties = properties + ["centroid", "bbox"]
+
+# # add area
+# properties = properties + ["area", "equivalent_diameter"] # "num_pixels",
+
+# # add shape measurements
+# properties = properties + ["extent", "euler_number", "solidity", "axis_major_length", "slice"] # "feret_diameter_max", "axis_minor_length",
+
+# ##################
+# ## RUN REGIONPROPS
+# ##################
+# props = regionprops_table(labels, intensity_image=None, properties=properties, extra_properties=None, spacing=scale)
+
+# ##################################################################
+# ## RUN SURFACE AREA FUNCTION SEPARATELY AND APPEND THE PROPS_TABLE
+# ##################################################################
+# surface_area_tab = pd.DataFrame(surface_area_from_props(labels, props, scale))
+
+# ######################################################
+# ## LIST WHICH ORGANELLES ARE INVOLVED IN THE CONTACTS
+# ######################################################
+# label_a = []
+# index_ab = []
+# label_b = []
+# for index, lab in enumerate(props["label"]):
+# # this seems less elegant than you might wish, given that regionprops returns a slice,
+# # but we need to expand the slice out by one voxel in each direction, or surface area freaks out
+# volume = labels[props["slice"][index]]
+# la = a[props["slice"][index]]
+# lb = b[props["slice"][index]]
+# volume = volume == lab
+# la = la[volume]
+# lb = lb[volume]
+
+# all_as = np.unique(la[la>0]).tolist()
+# all_bs = np.unique(lb[lb>0]).tolist()
+# if len(all_as) != 1:
+# print(f"we have an error. as-> {all_as}")
+# if len(all_bs) != 1:
+# print(f"we have an error. bs-> {all_bs}")
+
+# label_a.append(f"{all_as[0]}" )
+# label_b.append(f"{all_bs[0]}" )
+# index_ab.append(f"{all_as[0]}_{all_bs[0]}")
+
+
+# ######################################################
+# ## CREATE COMBINED DATAFRAME OF THE QUANTIFICATION
+# ######################################################
+# props_table = pd.DataFrame(props)
+# props_table.drop(columns=['slice', 'label'], inplace=True)
+# props_table.insert(0, 'label',value=index_ab)
+# props_table.insert(0, "object", f"{a_name}X{b_name}")
+# props_table.rename(columns={"area": "volume"}, inplace=True)
+
+# props_table.insert(11, "surface_area", surface_area_tab)
+# props_table.insert(13, "SA_to_volume_ratio", props_table["surface_area"].div(props_table["volume"]))
+
+# if scale is not None:
+# round_scale = (round(scale[0], 4), round(scale[1], 4), round(scale[2], 4))
+# props_table.insert(loc=2, column="scale", value=f"{round_scale}")
+# else:
+# props_table.insert(loc=2, column="scale", value=f"{tuple(np.ones(labels.ndim))}")
+
+
+# ######################################################
+# ## optional: DISTRIBUTION OF CONTACTS MEASUREMENTS
+# ######################################################
+# if include_dist is True:
+# XY_contact_dist, XY_bins, XY_wedges = get_XY_distribution(mask=mask,
+# obj=a_int_b,
+# obj_name=f"{a_name}X{b_name}",
+# centering_obj=dist_centering_obj,
+# scale=scale,
+# center_on=dist_center_on,
+# keep_center_as_bin=dist_keep_center_as_bin,
+# num_bins=dist_num_bins,
+# zernike_degrees=dist_zernike_degrees)
+
+# Z_contact_dist = get_Z_distribution(mask=mask,
+# obj=a_int_b,
+# obj_name=f"{a_name}X{b_name}",
+# center_obj=dist_centering_obj,
+# scale=scale)
+
+# contact_dist_tab = pd.merge(XY_contact_dist, Z_contact_dist, on=["object", "scale"])
+
+# return props_table, contact_dist_tab
+# else:
+# return props_table
+
# def get_aXb_stats_3D(a, b, mask, use_shell_a=False):
# """
# collect volumentric stats of `a` intersect `b`
diff --git a/infer_subc/utils/stats_helpers.py b/infer_subc/utils/stats_helpers.py
index cca1500..e75da3d 100644
--- a/infer_subc/utils/stats_helpers.py
+++ b/infer_subc/utils/stats_helpers.py
@@ -4,6 +4,9 @@
import itertools
import time
+from skimage.measure import label
+from skimage.segmentation import watershed
+
from infer_subc.core.img import apply_mask
import pandas as pd
@@ -14,14 +17,104 @@
get_XY_distribution,
get_Z_distribution,
_assert_uint16_labels,
- get_region_morphology_3D)
+ get_region_morphology_3D,
+ get_empty_contact_dist_tabs)
from infer_subc.utils.batch import list_image_files, find_segmentation_tiff_files
from infer_subc.core.file_io import read_czi_image, read_tiff_image
from infer_subc.constants import organelle_to_colname, NUC_CH, GOLGI_CH, PEROX_CH
-
+def make_dict(obj_names: list[str], #Intakes list of object names
+ obj_segs: list[np.ndarray]): #Intakes list of object segmentations
+ objs_labeled = {} #Initialize dictionary
+ for idx, name in enumerate(obj_names): #Loop across each organelle name
+ if name == 'ER': #Proceed only for ER
+ objs_labeled[name]=(obj_segs[idx]>0).astype(np.uint16) #Ensures ER is labeled only as one object & sets it as key for its object segmentation
+ else: #Proceed for other organelles
+ objs_labeled[name]=obj_segs[idx] #Set the organelle name as the key for the corresponding object segmentation
+ return objs_labeled #Return a dictionary of segmented objects with keys as the organelle name
+
+def inkeys(dic: dict[str], #Takes in dictionary to search through
+ s:str, #Takes in string being searched for
+ splitter:str="_") -> bool: #Takes in character strings are split by, defaults to "_"
+ a = sorted(s.split(splitter)) #Normalizes the way the string is written
+ for key in dic.keys(): #Iterates through each key in dictionary
+ if (a == sorted(key.split(splitter))): #Checks if key has same vals as string
+ return True #Returns true if any key is same as string
+ return False #Returns false if no keys are same as string
+
+def contacting(segs: dict[str],
+ iterated:dict[str],
+ splitter:str="_") -> dict:
+ conts = {}
+ for a in iterated: #Iterates through preexisting dictionary of contact sites
+ for b in segs: #Iterates through labeled organelles list (b)
+ if(np.any(((iterated[a]>0)*(segs[b]>0))>0) and not (a==b) and not #Proceeds if there is a contact between the lower order contact and the other organelle
+ ((b+splitter in a)or(splitter+b in a)or(splitter+b+splitter in a)) and #Proceeds if organelle is not already in lower order contact set
+ (not inkeys(conts,(a+splitter+b),splitter=splitter))): #Proceeds if contact between organelle and lower ordercontact set is not already made
+ conts[(a+splitter+b)]=label((iterated[a]*segs[b])>0) #Adds new labeled contact
+ return conts #Returns contacts
+
+def multi_contact(org_segs:dict[str:np.ndarray],
+ organelles:list[str],
+ splitter:str="_",
+ redundancy:bool=True) -> dict:
+ contacts=contacting(org_segs, org_segs, splitter=splitter) #Dictionary for ALL contacts, starts with 2nd Order #Returns with dictionary of all levels of
+
+ iterated={} #Iterated Dictionary
+ contact={} #Contact Dictionary
+ if not redundancy: #Only initialize if looking for non-redundant contacts
+ HO_conts={} #Highest order contact dictionary
+
+ for n in (range(len(organelles)-1)):
+ iterated.clear() #Clears iterated dictionary
+ contact.clear() #Clears contact dictionary
+ num=n+3 #Number of contacts in lower order number
+
+ ##########################
+ # Finding nLO Contacts
+ ##########################
+ for key in contacts: #Iterates over every key in contacts
+ if (len(key.split(splitter)) == (num-1)): #Selects for last set of contacts
+ iterated[key]=contacts[key] #Adds each key from last set of contacts to iterated
+
+ ###########################
+ # Making the n-Way Contact
+ ###########################
+ for c in iterated: #Iterates through preexisting dictionary of contact sites
+ for d in org_segs: #Iterates through labeled organelles list (b)
+ if(np.any((iterated[c]*org_segs[d])>0) and not
+ ((d+splitter in c)or(splitter+d in c)or(splitter+d+splitter in c)) and #Proceeds if organelle is not already in previous contact set
+ (not inkeys(contact,(c+splitter+d),splitter=splitter))): #Proceeds if contact between organelle and previous contact set is not already made
+ contact[(c+splitter+d)]=label((iterated[c]*org_segs[d])>0) #Adds new binary contact
+
+ ################################################
+ # Adding n-Way contacts to contacts Dictionary
+ ################################################
+ for key in contact: #Iterates across the new contact sites
+ contacts[key]=(contact[key]) #Labels & assigns higher order contact to
+
+ ################################################
+ # Dictionary of Non-Redundant Contacts
+ ################################################
+ if not redundancy:
+ while len(iterated) != 0:
+ key = list(iterated.keys())[0]
+ ara = iterated[key]>0
+ HO_conts[key] = ara
+ for ki in contact.keys():
+ if (set(ki.split(splitter)).issuperset(key.split(splitter))):
+ HO_conts[key] = HO_conts[key]*(np.invert(watershed(image=(np.invert(ara)), #Watershed with the map of the nLO image
+ markers=contact[ki], #Watershed with the markers of the nO's superstr
+ mask=ara, #Watershed unable to proceed beyond the nLO image
+ connectivity=np.ones((3, 3, 3), bool))>0)) #Watershed with 3D connectivity
+ del iterated[key]
+ if not redundancy:
+ return contacts, HO_conts
+ else:
+ return contacts
+
def make_all_metrics_tables(source_file: str,
list_obj_names: List[str],
list_obj_segs: List[np.ndarray],
@@ -35,7 +128,8 @@ def make_all_metrics_tables(source_file: str,
dist_keep_center_as_bin: bool=True,
dist_zernike_degrees: Union[int, None]=None,
scale: Union[tuple,None] = None,
- include_contact_dist:bool=True):
+ include_contact_dist:bool=True,
+ splitter:str="_"):
"""
Measure the composition, morphology, distribution, and contacts of multiple organelles in a cell
@@ -91,12 +185,58 @@ def make_all_metrics_tables(source_file: str,
# segmentation image for all masking steps below
mask = list_region_segs[list_region_names.index(mask)]
+ # containers to collect per organelle information
+ org_tabs = []
+ dist_tabs = []
+ XY_bins = []
+ XY_wedges = []
+
+ centering = list_region_segs[list_region_names.index(dist_centering_obj)]
+
+ #############################
+ # Measure Organelle Contacts
+ #############################
+ distance_tabs = []
+ contacts_tabs = []
+ all_pos =[]
+ labeled_dict = make_dict(list_obj_names, list_obj_segs)
+ if len(list_obj_names) >= 2:
+ for n in list(map(lambda x:x+2, (range(len(list_obj_names)-1)))):
+ all_pos += itertools.combinations(list_obj_names, n)
+ possib = [splitter.join(cont) for cont in all_pos]
+ if include_contact_dist:
+ for conts in possib:
+ print(conts)
+ cont_tab, dist_tab = get_contact_metrics_3D(orgs=conts,
+ organelle_segs=labeled_dict,
+ mask=mask,
+ splitter=splitter,
+ scale=scale,
+ include_dist=include_contact_dist,
+ dist_centering_obj=centering,
+ dist_num_bins=dist_num_bins,
+ dist_zernike_degrees=dist_zernike_degrees,
+ dist_center_on=dist_center_on,
+ dist_keep_center_as_bin=dist_keep_center_as_bin)
+ for tabs in dist_tab:
+ distance_tabs.append(tabs)
+ contacts_tabs.append(cont_tab)
+ else:
+ for conts in all_pos:
+ cont_tab = get_contact_metrics_3D(orgs=conts,
+ organelle_segs=labeled_dict,
+ mask=mask,
+ splitter=splitter,
+ scale=scale,
+ include_dist=include_contact_dist)
+ contacts_tabs.append(cont_tab)
+
######################
# measure cell regions
######################
# create np.ndarray of intensity images
raw_image = np.stack(list_intensity_img)
-
+
# container for region data
region_tabs = []
for r, r_name in enumerate(list_region_names):
@@ -112,11 +252,6 @@ def make_all_metrics_tables(source_file: str,
##############################################################
# loop through all organelles to collect measurements for each
##############################################################
- # containers to collect per organelle information
- org_tabs = []
- dist_tabs = []
- XY_bins = []
- XY_wedges = []
for j, target in enumerate(list_obj_names):
# organelle intensity image
@@ -130,7 +265,7 @@ def make_all_metrics_tables(source_file: str,
org_obj = list_obj_segs[j]
##########################################################
- # measure organelle morphology & number of objs contacting
+ # measure organelle morphology
##########################################################
org_metrics = get_org_morphology_3D(segmentation_img=org_obj,
seg_name=target,
@@ -138,52 +273,11 @@ def make_all_metrics_tables(source_file: str,
mask=mask,
scale=scale)
- ### org_metrics.insert(loc=0,column='cell',value=1)
- # ^^^ saving this thought for later when someone might have more than one cell per image.
- # Not sure how they analysis process would fit in our pipelines as they exist now.
- # Maybe here, iterating though the index of the masks above all of this and using that index as the cell number?
-
- # TODO: find a better way to quantify the number and area of contacts per organelle
- # I think it can be done during summarizing based on the label and object values in the contact sheet
- # for i, nmi in enumerate(list_obj_names):
- # if i != j:
- # if target == 'ER':
- # b = (list_obj_segs[i] > 0).astype(np.uint16)
- # else:
- # b = list_obj_segs[i]
-
- # ov = []
- # b_labs = []
- # labs = []
- # for idx, lab in enumerate(org_metrics["label"]):
- # xyz = tuple(rp[idx].coords.T)
- # cmp_org = b[xyz]
-
- # # total area (in voxels or real world units) where these two orgs overlap within the cell
- # if scale != None:
- # overlap = sum(cmp_org > 0)*scale[0]*scale[1]*scale[2]
- # else:
- # # total number of overlapping pixels
- # overlap = sum(cmp_org > 0)
- # # overlap?
-
- # # which b organelles are involved in that overlap
- # labs_b = cmp_org[cmp_org > 0]
- # b_js = np.unique(labs_b).tolist()
-
- # # if overlap > 0:
- # labs.append(lab) # labs.append(lab)
- # ov.append(overlap)
- # b_labs.append(b_js)
- # org_metrics[f"{nmi}_overlap"] = ov
- # org_metrics[f"{nmi}_labels"] = b_labs
-
org_tabs.append(org_metrics)
################################
# measure organelle distribution
################################
- centering = list_region_segs[list_region_names.index(dist_centering_obj)]
XY_org_distribution, XY_bin_masks, XY_wedge_masks = get_XY_distribution(mask=mask,
centering_obj=centering,
obj=org_obj,
@@ -204,64 +298,14 @@ def make_all_metrics_tables(source_file: str,
dist_tabs.append(org_distribution_metrics)
XY_bins.append(XY_bin_masks)
XY_wedges.append(XY_wedge_masks)
-
- #######################################
- # collect non-redundant contact metrics
- #######################################
- # list the non-redundant organelle pairs
- contact_combos = list(itertools.combinations(list_obj_names, 2))
-
- # container to keep contact data in
- contact_tabs = []
-
- # loop through each pair and measure contacts
- for pair in contact_combos:
- # pair names
- a_name = pair[0]
- b_name = pair[1]
-
- # segmentations to measure
- if a_name == 'ER':
- # ensure ER is only one object
- a = (list_obj_segs[list_obj_names.index(a_name)] > 0).astype(np.uint16)
- else:
- a = list_obj_segs[list_obj_names.index(a_name)]
-
- if b_name == 'ER':
- # ensure ER is only one object
- b = (list_obj_segs[list_obj_names.index(b_name)] > 0).astype(np.uint16)
- else:
- b = list_obj_segs[list_obj_names.index(b_name)]
-
-
- if include_contact_dist == True:
- contact_tab, contact_dist_tab = get_contact_metrics_3D(a, a_name,
- b, b_name,
- mask,
- scale,
- include_dist=include_contact_dist,
- dist_centering_obj=centering,
- dist_num_bins=dist_num_bins,
- dist_zernike_degrees=dist_zernike_degrees,
- dist_center_on=dist_center_on,
- dist_keep_center_as_bin=dist_keep_center_as_bin)
- dist_tabs.append(contact_dist_tab)
- else:
- contact_tab = get_contact_metrics_3D(a, a_name,
- b, b_name,
- mask,
- scale,
- include_dist=include_contact_dist)
- contact_tabs.append(contact_tab)
-
-
###########################################
# combine all tabs into one table per type:
###########################################
final_org_tab = pd.concat(org_tabs, ignore_index=True)
final_org_tab.insert(loc=0,column='image_name',value=source_file.stem)
- final_contact_tab = pd.concat(contact_tabs, ignore_index=True)
+ final_contact_tab = pd.concat(contacts_tabs, ignore_index=True)
+ final_contact_tab['redundant'] = final_contact_tab['redundant'].astype(bool)
final_contact_tab.insert(loc=0,column='image_name',value=source_file.stem)
combined_dist_tab = pd.concat(dist_tabs, ignore_index=True)
diff --git a/notebooks/02_organelle_contact_analysis.ipynb b/notebooks/02_organelle_contact_analysis.ipynb
new file mode 100644
index 0000000..9db6e03
--- /dev/null
+++ b/notebooks/02_organelle_contact_analysis.ipynb
@@ -0,0 +1,4907 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# ORGANELLE CONTACT ANALYSIS\n",
+ "\n",
+ "-------\n",
+ "\n",
+ "## OBJECTIVE:\n",
+ "In this notebook, the logic for determining locations of contacts between 2 or more organelles is outlined. Additionally, the logic for quantifying organelle contact composition (how much of each contact is present) and morphology (contact site size and shape) is outlined as well. Here, we begin with a walkthrough of how the workflow completes 2-way contacts, then proceed to more complex n-way contacts. "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## SUMMARY OF WORKFLOW STEPS:\n",
+ " - Inputs\n",
+ " - Get and Load image and its segmentations\n",
+ " - Save segmentations to a dictionary\n",
+ " - Create overlap regions dictionary\n",
+ " - Run Analysis \n",
+ " - Regionprops\n",
+ " - Distribution"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## IMPORTS:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import warnings\n",
+ "import numpy as np\n",
+ "from typing import Any, List, Union\n",
+ "import pandas as pd\n",
+ "from IPython.display import display\n",
+ "from pathlib import Path\n",
+ "import os, sys\n",
+ "import itertools \n",
+ "\n",
+ "from skimage.measure import regionprops_table, label\n",
+ "from skimage.segmentation import watershed\n",
+ "\n",
+ "from infer_subc.core.file_io import read_czi_image, read_tiff_image\n",
+ "from infer_subc.core.img import apply_mask\n",
+ "from infer_subc.utils.batch import list_image_files, find_segmentation_tiff_files\n",
+ "from infer_subc.utils.stats import surface_area_from_props, get_XY_distribution, get_Z_distribution, _assert_uint16_labels\n",
+ "from infer_subc.utils.stats_helpers import inkeys\n",
+ "\n",
+ "from infer_subc.constants import (TEST_IMG_N,\n",
+ " NUC_CH ,\n",
+ " LYSO_CH ,\n",
+ " MITO_CH ,\n",
+ " GOLGI_CH ,\n",
+ " PEROX_CH ,\n",
+ " ER_CH ,\n",
+ " LD_CH ,\n",
+ " RESIDUAL_CH )\n",
+ "\n",
+ "#For Convexhull Errors\n",
+ "warnings.simplefilter(\"ignore\", UserWarning)\n",
+ "warnings.simplefilter(\"ignore\", RuntimeWarning)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## INPUTS:\n",
+ "Load image and segmentations and save segmentations to a dictionary. Using these segmentations, overlaps between 2 or more segmentations are performed and added to their own dictionary."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### User Inputs"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##### Image Path\n",
+ "Here, the user should edit any of the values to correctly access the folder containing the __RAW__ image files. The naming of this file will then be used later to collect the corresponding segmentation files."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "test_img_n = 0\n",
+ "\n",
+ "data_root_path = Path(os.path.expanduser(\"~\")) / \"Documents/Python Scripts/Infer-subc-2D\"\n",
+ "\n",
+ "in_data_path = data_root_path / \"raw/shannon\"\n",
+ "seg_path = data_root_path/\"out\"\n",
+ "seg_suffix = \"-\"\n",
+ "im_type = \".tiff\"\n",
+ "\n",
+ "img_file_list = list_image_files(in_data_path,im_type)\n",
+ "test_img_name = img_file_list[test_img_n]\n",
+ "\n",
+ "out_data_path = data_root_path / \"out\"\n",
+ "if not Path.exists(out_data_path):\n",
+ " Path.mkdir(out_data_path)\n",
+ " print(f\"making {out_data_path}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "img_data,meta_dict = read_czi_image(test_img_name)\n",
+ "\n",
+ "channel_names = meta_dict['name']\n",
+ "img = meta_dict['metadata']['aicsimage']\n",
+ "scale = meta_dict['scale']\n",
+ "channel_axis = meta_dict['channel_axis']"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "##### Function Inputs\n",
+ "These are inputs that will be entered into the main function by the user. These should be changed to properly represent the user's image."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "org_names = ['LD', 'ER', 'golgi', 'lyso', 'mito', 'perox']\n",
+ "masks_file_name= ['nuc', 'cell']\n",
+ "mask = 'cell'\n",
+ "splitter = \"_\"\n",
+ "include_contact_dist = True\n",
+ "dist_centering_obj = 'nuc'\n",
+ "dist_center_on = False\n",
+ "dist_keep_center_as_bin = True\n",
+ "dist_num_bins = 5\n",
+ "dist_zernike_degrees=None"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Collecting All Organelle Segmentations and Region/Mask Segmentations\n",
+ "These inputs are NOT meant to be changed. These will be used by the program to collect the segmentations based off of the inputs from above and used furtherdown in the pipeline."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "org_segs = [read_tiff_image(find_segmentation_tiff_files(test_img_name, (org_names + masks_file_name), seg_path, seg_suffix)[org]) for org in org_names]\n",
+ "region_segs=[read_tiff_image(find_segmentation_tiff_files(test_img_name, (org_names + masks_file_name), seg_path, seg_suffix)[masks_file_name[0]]), read_tiff_image(find_segmentation_tiff_files(test_img_name, (org_names + masks_file_name), seg_path, seg_suffix)[masks_file_name[1]])]\n",
+ "mask = region_segs[masks_file_name.index(mask)]\n",
+ "center_obj = region_segs[masks_file_name.index(dist_centering_obj)]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Make Dictionaries\n",
+ "These inputs are NOT meant to be changed and are not user facing.\n",
+ "\n",
+ "Here we will convert the input list of __organelle segmentations__ and the input list of __organelle names__ into a ***labeled*** dictionary. \n",
+ "\n",
+ "The ***labeled*** format treats the locations of the organelles in the image as positive integers with each different organelle within the organelle type having a different integer value assigned to it; meanwhile, the space without the organelle is assigned 0s. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "organelle_segs = {} #Initialize dictionary\n",
+ "for idx, name in enumerate(org_names): #Loop across each organelle name\n",
+ " if name == 'ER': #Proceed only for ER\n",
+ " organelle_segs[name]=(org_segs[idx]>0).astype(np.uint16) #Ensures ER is labeled only as one object & sets it as key for its object segmentation\n",
+ " else: #Proceed for other organelles\n",
+ " organelle_segs[name]=org_segs[idx] #Set the organelle name as the key for the corresponding object segmentation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## 2-Way Contact Workflow\n",
+ "First, we will run through how the workflow determines 2-Way contacts. In the final take of this function, all contacts, including n-way contacts will be analyzed.\n",
+ "\n",
+ "### Inputs\n",
+ "\n",
+ "#### Choose a 2-Way Contact\n",
+ "Due to this function being designed around only functioning for a single contact site given by a string, __users should input__ the desired 2-Way contact to analyze here. \n",
+ "\n",
+ "The format for the contact site string is as follows:\n",
+ "
\n",
+ "`organelle 1` + `splitter` + `organelle 2`\n",
+ "\n",
+ "For example, if the desired contact site is between the _endoplasmic reticulum_ and _peroxisomes_, and in the above block of code the _endoplasmic reticulum_ is set equal to _`ER`_, the _splitter_ is listed as _`_`_, and _peroxisomes_ are set equal to _`perox`_ in the above block of code, the contact site string would be as follows:\n",
+ "
\n",
+ "`ER_perox`\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "orgs = \"ER_perox\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Make 2-Way Contacts \n",
+ "Here we are creating a contact site between the selected organelles. The method for creating pairwise contacts like this will be expanded upon to make nth order contacts. These inputs are NOT meant to be changed and are not user facing."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "site = organelle_segs[orgs.split(splitter)[0]] * organelle_segs[orgs.split(splitter)[1]]"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### RUN ANALYSIS:\n",
+ "Here the data from the above inputs are analyzed to find everything we can about the contacts from regionprops measurements to the original organelles and their numbers' involved in the contacts to even the distribution of the contacts."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Find Contacts Involved in Higher Order (3-Way) Contacts\n",
+ "Here, higher order contacts of the 2-Way contact sites are found. In the case of 2-way contacts, the ones looked at are 3-Way contacts. These are overlapping regions between the 2-way contact site and a organelle not involved in the original contact. This data is then used to determine which 2-Way contacts are also involved in 3-Way or even higher order contacts. \n",
+ "\n",
+ "To find these higher order contacts, we iterate across each of the organelles we have segmentations for. Then, for each organelle we have segmentations for, if they are not present in the original 2-Way contact, we find the contacts between the 2-Way contact and the organelle and use the image to watershed onto the 2-Way contact image. Using the watershed, we take the area that has been filled and remove it from the Higher Order Contact version of the 2-Way contact's site variable."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "HOc = site.copy()\n",
+ "for org, val in organelle_segs.items():\n",
+ " if (org not in orgs.split(splitter)) and np.any(site*val):\n",
+ " HOc = HOc*(np.invert(watershed(image=(np.invert(site)),\n",
+ " markers=(site*val),\n",
+ " mask=site,\n",
+ " connectivity=np.ones((3, 3, 3), bool))>0))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Isolate Images To Within the Cell\n",
+ "Here, we ensure that we are only taking measurements from within the cellmask. This means applying the mask to both the 2-Way contact image and the version of the 2-Way contact image that only contains non-redundant contact sites."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "labels = label(apply_mask(site, mask)).astype(\"int\") #Isolate to only contact sites found within the cell of interest\n",
+ "para_labels = apply_mask((HOc>0), mask).astype(\"int\") * labels #copy labels found in labels to para_labels"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Create List of Regionprops Measurements And Run Regionprops\n",
+ "Here, a table is created using the regionprops measurements for the contact site."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "##########################################\n",
+ "## CREATE LIST OF REGIONPROPS MEASUREMENTS\n",
+ "##########################################\n",
+ "# start with LABEL\n",
+ "properties = [\"label\"]\n",
+ "\n",
+ "# add position\n",
+ "properties = properties + [\"centroid\", \"bbox\"]\n",
+ "\n",
+ "# add area\n",
+ "properties = properties + [\"area\", \"equivalent_diameter\"] # \"num_pixels\", \n",
+ "\n",
+ "# add shape measurements\n",
+ "properties = properties + [\"extent\", \"euler_number\", \"solidity\", \"axis_major_length\", \"slice\"] # \"feret_diameter_max\", \"axis_minor_length\", \n",
+ "\n",
+ "##################\n",
+ "## RUN REGIONPROPS\n",
+ "##################\n",
+ "props = regionprops_table(labels, intensity_image=None, properties=properties, extra_properties=None, spacing=scale)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Add Surface Area Columns to Data Table\n",
+ "This function adds the surface area of the contact. Viewing the two involved organelles as circles in a venn-diagram and the contact as the overlapping area, the surface area is the part of each circle's surface that is inside of the other circle."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "surface_area_tab = pd.DataFrame(surface_area_from_props(labels, props, scale))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Determine Organelles Involved in Contact, Organelle's Labels, and Redundancy\n",
+ "This section of code enables the determination of which organelle label of each organelle involved in the contact is present in the contact. For example, if peroxisome # 6 was involved in a contact with the ER, the contact would be listed as \"ER_perox\" and the label for the contact would be listed as 1_6. \n",
+ "\n",
+ "Additionally, this section of code also determines whether or not the contact is involved in a higher order contact, and lists it as redundant if it is. This means, that any contact that is of the highest order is listed as non-redundant. This does not remove redundant contacts from analysis--it only provides additional context to the data."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "cont_inv = [] \n",
+ "involved = orgs.split(splitter) \n",
+ "indexes = dict.fromkeys(involved, []) \n",
+ "indexes[orgs] = [] \n",
+ "redundancy = []\n",
+ "label_a = []\n",
+ "index_ab = []\n",
+ "label_b = []\n",
+ "a = _assert_uint16_labels(organelle_segs[orgs.split(splitter)[0]])\n",
+ "b = _assert_uint16_labels(organelle_segs[orgs.split(splitter)[1]])\n",
+ "for index, lab in enumerate(props[\"label\"]):\n",
+ " present = para_labels[props[\"slice\"][index]] #examines contact site to find if it is present in a higher order contact or not\n",
+ " present = present==lab\n",
+ " redundant = not np.any(present)\n",
+ " redundancy.append(redundant)\n",
+ " volume = labels[props[\"slice\"][index]]\n",
+ " la = a[props[\"slice\"][index]]\n",
+ " lb = b[props[\"slice\"][index]]\n",
+ " volume = volume == lab\n",
+ " la = la[volume]\n",
+ " lb = lb[volume]\n",
+ "\n",
+ " all_as = np.unique(la[la>0]).tolist()\n",
+ " all_bs = np.unique(lb[lb>0]).tolist()\n",
+ " if len(all_as) != 1:\n",
+ " print(f\"we have an error. as-> {all_as}\")\n",
+ " if len(all_bs) != 1:\n",
+ " print(f\"we have an error. bs-> {all_bs}\")\n",
+ "\n",
+ " label_a.append(f\"{all_as[0]}\" )\n",
+ " label_b.append(f\"{all_bs[0]}\" )\n",
+ " index_ab.append(f\"{all_as[0]}{splitter}{all_bs[0]}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Combine the Datatables\n",
+ "Here, all of the individual datatables created to examine the contacts data present are combined into one data table for export."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "props_table = pd.DataFrame(props)\n",
+ "props_table.drop(columns=['slice', 'label'], inplace=True)\n",
+ "props_table.insert(0, 'label',value=index_ab)\n",
+ "props_table.insert(0, \"object\", orgs)\n",
+ "props_table.rename(columns={\"area\": \"volume\"}, inplace=True)\n",
+ "\n",
+ "props_table.insert(11, \"surface_area\", surface_area_tab)\n",
+ "props_table.insert(13, \"SA_to_volume_ratio\", props_table[\"surface_area\"].div(props_table[\"volume\"]))\n",
+ "\n",
+ "if scale is not None:\n",
+ " round_scale = (round(scale[0], 4), round(scale[1], 4), round(scale[2], 4))\n",
+ " props_table.insert(loc=2, column=\"scale\", value=f\"{round_scale}\")\n",
+ "else: \n",
+ " props_table.insert(loc=2, column=\"scale\", value=f\"{tuple(np.ones(labels.ndim))}\") \n",
+ "props_table[\"redundant\"] = list(map(bool, redundancy))\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Here, we can view the results of the analysis performed for the contacts thus far."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n", + " | object | \n", + "label | \n", + "scale | \n", + "centroid-0 | \n", + "centroid-1 | \n", + "centroid-2 | \n", + "bbox-0 | \n", + "bbox-1 | \n", + "bbox-2 | \n", + "bbox-3 | \n", + "... | \n", + "bbox-5 | \n", + "surface_area | \n", + "volume | \n", + "SA_to_volume_ratio | \n", + "equivalent_diameter | \n", + "extent | \n", + "euler_number | \n", + "solidity | \n", + "axis_major_length | \n", + "redundant | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", + "ER_perox | \n", + "1_2 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.879257 | \n", + "9.864230 | \n", + "51.759533 | \n", + "4 | \n", + "121 | \n", + "645 | \n", + "6 | \n", + "... | \n", + "651 | \n", + "2.008898 | \n", + "0.068232 | \n", + "29.442013 | \n", + "0.506987 | \n", + "0.361111 | \n", + "1 | \n", + "0.684211 | \n", + "0.923434 | \n", + "True | \n", + "
1 | \n", + "ER_perox | \n", + "1_3 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.642376 | \n", + "11.450870 | \n", + "53.466094 | \n", + "4 | \n", + "142 | \n", + "667 | \n", + "5 | \n", + "... | \n", + "671 | \n", + "0.999441 | \n", + "0.034116 | \n", + "29.295237 | \n", + "0.402396 | \n", + "0.812500 | \n", + "1 | \n", + "inf | \n", + "0.432237 | \n", + "True | \n", + "
2 | \n", + "ER_perox | \n", + "1_1 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.642376 | \n", + "23.611014 | \n", + "16.513497 | \n", + "4 | \n", + "293 | \n", + "205 | \n", + "5 | \n", + "... | \n", + "209 | \n", + "1.089312 | \n", + "0.023619 | \n", + "46.120381 | \n", + "0.355976 | \n", + "0.450000 | \n", + "1 | \n", + "inf | \n", + "0.508868 | \n", + "True | \n", + "
3 | \n", + "ER_perox | \n", + "1_4 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "2.015643 | \n", + "33.853921 | \n", + "87.371169 | \n", + "4 | \n", + "420 | \n", + "1091 | \n", + "6 | \n", + "... | \n", + "1097 | \n", + "2.128817 | \n", + "0.057735 | \n", + "36.872165 | \n", + "0.479528 | \n", + "0.229167 | \n", + "1 | \n", + "0.478261 | \n", + "0.741311 | \n", + "True | \n", + "
4 | \n", + "ER_perox | \n", + "1_5 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.750835 | \n", + "39.502869 | \n", + "39.118218 | \n", + "4 | \n", + "491 | \n", + "486 | \n", + "6 | \n", + "... | \n", + "494 | \n", + "2.454542 | \n", + "0.139089 | \n", + "17.647274 | \n", + "0.642833 | \n", + "0.473214 | \n", + "1 | \n", + "0.803030 | \n", + "0.836116 | \n", + "True | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
667 | \n", + "ER_perox | \n", + "1_420 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "11.086038 | \n", + "93.458043 | \n", + "81.146205 | \n", + "27 | \n", + "1169 | \n", + "1015 | \n", + "28 | \n", + "... | \n", + "1016 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.000000 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "True | \n", + "
668 | \n", + "ER_perox | \n", + "1_415 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "11.496632 | \n", + "84.104244 | \n", + "77.308749 | \n", + "28 | \n", + "1052 | \n", + "967 | \n", + "29 | \n", + "... | \n", + "968 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.000000 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "True | \n", + "
669 | \n", + "ER_perox | \n", + "1_419 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "11.496632 | \n", + "90.300137 | \n", + "84.783794 | \n", + "28 | \n", + "1129 | \n", + "1060 | \n", + "29 | \n", + "... | \n", + "1062 | \n", + "0.374885 | \n", + "0.005249 | \n", + "71.425050 | \n", + "0.215617 | \n", + "0.500000 | \n", + "1 | \n", + "inf | \n", + "0.252815 | \n", + "True | \n", + "
670 | \n", + "ER_perox | \n", + "1_419 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "11.496632 | \n", + "90.500004 | \n", + "84.823767 | \n", + "28 | \n", + "1132 | \n", + "1061 | \n", + "29 | \n", + "... | \n", + "1062 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.000000 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "True | \n", + "
671 | \n", + "ER_perox | \n", + "1_421 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "11.907226 | \n", + "88.874415 | \n", + "77.535265 | \n", + "29 | \n", + "1111 | \n", + "968 | \n", + "30 | \n", + "... | \n", + "972 | \n", + "0.755318 | \n", + "0.015746 | \n", + "47.969105 | \n", + "0.310973 | \n", + "0.500000 | \n", + "1 | \n", + "inf | \n", + "0.441430 | \n", + "True | \n", + "
672 rows × 21 columns
\n", + "\n", + " | image_name | \n", + "object | \n", + "scale | \n", + "XY_n_bins | \n", + "XY_bins | \n", + "XY_mask_vox_cnt_perbin | \n", + "XY_obj_vox_cnt_perbin | \n", + "XY_center_vox_cnt_perbin | \n", + "XY_n_pix_perbin | \n", + "XY_portion_pix_perbin | \n", + "... | \n", + "XY_area_wedges_perbin | \n", + "Z_n_slices | \n", + "Z_slices | \n", + "Z_mask_vox_cnt | \n", + "Z_obj_vox_cnt | \n", + "Z_center_vox_cnt | \n", + "Z_height | \n", + "Z_mask_volume | \n", + "Z_obj_volume | \n", + "Z_center_volume | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[2289, 1678, 2253, 4150, 6018] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 262, 1810, 3662, 2945, 1494, 1013... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.6875720800544991, 4.750... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
1 rows × 46 columns
\n", + "\n", + " | object | \n", + "label | \n", + "scale | \n", + "centroid-0 | \n", + "centroid-1 | \n", + "centroid-2 | \n", + "bbox-0 | \n", + "bbox-1 | \n", + "bbox-2 | \n", + "bbox-3 | \n", + "... | \n", + "bbox-5 | \n", + "surface_area | \n", + "volume | \n", + "SA_to_volume_ratio | \n", + "equivalent_diameter | \n", + "extent | \n", + "euler_number | \n", + "solidity | \n", + "axis_major_length | \n", + "redundant | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", + "ER_perox_mito | \n", + "1_1_2 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.642376 | \n", + "23.477769 | \n", + "16.495731 | \n", + "4 | \n", + "293 | \n", + "206 | \n", + "5 | \n", + "... | \n", + "208 | \n", + "0.421324 | \n", + "0.007873 | \n", + "53.515276 | \n", + "0.246820 | \n", + "0.75 | \n", + "1 | \n", + "inf | \n", + "0.206422 | \n", + "False | \n", + "
1 | \n", + "ER_perox_mito | \n", + "1_5_21 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.642376 | \n", + "39.293951 | \n", + "39.293951 | \n", + "4 | \n", + "491 | \n", + "491 | \n", + "5 | \n", + "... | \n", + "493 | \n", + "0.374885 | \n", + "0.005249 | \n", + "71.425050 | \n", + "0.215617 | \n", + "0.50 | \n", + "1 | \n", + "inf | \n", + "0.252815 | \n", + "False | \n", + "
2 | \n", + "ER_perox_mito | \n", + "1_5_21 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.642376 | \n", + "39.693686 | \n", + "38.974163 | \n", + "4 | \n", + "496 | \n", + "487 | \n", + "5 | \n", + "... | \n", + "489 | \n", + "0.374885 | \n", + "0.005249 | \n", + "71.425050 | \n", + "0.215617 | \n", + "0.50 | \n", + "1 | \n", + "inf | \n", + "0.252815 | \n", + "False | \n", + "
3 | \n", + "ER_perox_mito | \n", + "1_6_24 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.642376 | \n", + "40.453182 | \n", + "39.333924 | \n", + "4 | \n", + "506 | \n", + "492 | \n", + "5 | \n", + "... | \n", + "493 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.00 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "False | \n", + "
4 | \n", + "ER_perox_mito | \n", + "1_8_29 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.916105 | \n", + "45.862929 | \n", + "62.358660 | \n", + "4 | \n", + "573 | \n", + "780 | \n", + "6 | \n", + "... | \n", + "781 | \n", + "0.473719 | \n", + "0.007873 | \n", + "60.170340 | \n", + "0.246820 | \n", + "0.75 | \n", + "1 | \n", + "inf | \n", + "0.869819 | \n", + "False | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
255 | \n", + "ER_perox_mito | \n", + "1_228_742 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "8.211880 | \n", + "89.940375 | \n", + "74.350710 | \n", + "20 | \n", + "1125 | \n", + "930 | \n", + "21 | \n", + "... | \n", + "931 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.00 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "False | \n", + "
256 | \n", + "ER_perox_mito | \n", + "1_366_747 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "8.622474 | \n", + "82.265463 | \n", + "73.871028 | \n", + "21 | \n", + "1029 | \n", + "924 | \n", + "22 | \n", + "... | \n", + "925 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.00 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "False | \n", + "
257 | \n", + "ER_perox_mito | \n", + "1_392_619 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "8.622474 | \n", + "88.861091 | \n", + "75.749783 | \n", + "21 | \n", + "1111 | \n", + "947 | \n", + "22 | \n", + "... | \n", + "949 | \n", + "0.374885 | \n", + "0.005249 | \n", + "71.425050 | \n", + "0.215617 | \n", + "0.50 | \n", + "1 | \n", + "inf | \n", + "0.252815 | \n", + "False | \n", + "
258 | \n", + "ER_perox_mito | \n", + "1_398_735 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "9.033068 | \n", + "82.825092 | \n", + "74.110869 | \n", + "22 | \n", + "1036 | \n", + "927 | \n", + "23 | \n", + "... | \n", + "928 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.00 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "False | \n", + "
259 | \n", + "ER_perox_mito | \n", + "1_391_754 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "9.033068 | \n", + "88.661223 | \n", + "73.671160 | \n", + "22 | \n", + "1109 | \n", + "921 | \n", + "23 | \n", + "... | \n", + "923 | \n", + "0.321211 | \n", + "0.005249 | \n", + "61.198904 | \n", + "0.215617 | \n", + "1.00 | \n", + "1 | \n", + "inf | \n", + "0.178767 | \n", + "False | \n", + "
260 rows × 21 columns
\n", + "\n", + " | image_name | \n", + "object | \n", + "scale | \n", + "XY_n_bins | \n", + "XY_bins | \n", + "XY_mask_vox_cnt_perbin | \n", + "XY_obj_vox_cnt_perbin | \n", + "XY_center_vox_cnt_perbin | \n", + "XY_n_pix_perbin | \n", + "XY_portion_pix_perbin | \n", + "... | \n", + "XY_area_wedges_perbin | \n", + "Z_n_slices | \n", + "Z_slices | \n", + "Z_mask_vox_cnt | \n", + "Z_obj_vox_cnt | \n", + "Z_center_vox_cnt | \n", + "Z_height | \n", + "Z_mask_volume | \n", + "Z_obj_volume | \n", + "Z_center_volume | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_perox_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[216, 103, 122, 184, 492] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 18, 136, 286, 272, 101, 43, 67, 4... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.04723777649229383, 0.35... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
1 rows × 46 columns
\n", + "\n", + " | image_name | \n", + "object | \n", + "label | \n", + "scale | \n", + "centroid-0 | \n", + "centroid-1 | \n", + "centroid-2 | \n", + "bbox-0 | \n", + "bbox-1 | \n", + "bbox-2 | \n", + "... | \n", + "bbox-5 | \n", + "surface_area | \n", + "volume | \n", + "SA_to_volume_ratio | \n", + "equivalent_diameter | \n", + "extent | \n", + "euler_number | \n", + "solidity | \n", + "axis_major_length | \n", + "redundant | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER | \n", + "3_1 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.642376 | \n", + "40.213341 | \n", + "40.350393 | \n", + "4 | \n", + "502 | \n", + "504 | \n", + "... | \n", + "507 | \n", + "0.680771 | \n", + "0.018370 | \n", + "37.058370 | \n", + "0.327370 | \n", + "0.777778 | \n", + "1 | \n", + "inf | \n", + "0.270270 | \n", + "False | \n", + "
1 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER | \n", + "4_1 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.642376 | \n", + "44.477181 | \n", + "60.200091 | \n", + "4 | \n", + "556 | \n", + "752 | \n", + "... | \n", + "755 | \n", + "0.508653 | \n", + "0.007873 | \n", + "64.607620 | \n", + "0.246820 | \n", + "0.500000 | \n", + "1 | \n", + "inf | \n", + "0.328671 | \n", + "False | \n", + "
2 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER | \n", + "5_1 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "1.642376 | \n", + "59.000886 | \n", + "63.158130 | \n", + "4 | \n", + "738 | \n", + "790 | \n", + "... | \n", + "791 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.000000 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "True | \n", + "
3 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER | \n", + "7_1 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "2.015643 | \n", + "74.779517 | \n", + "68.689009 | \n", + "4 | \n", + "934 | \n", + "858 | \n", + "... | \n", + "861 | \n", + "0.973331 | \n", + "0.028868 | \n", + "33.717169 | \n", + "0.380601 | \n", + "0.458333 | \n", + "1 | \n", + "0.916667 | \n", + "0.563715 | \n", + "True | \n", + "
4 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER | \n", + "11_1 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "2.052970 | \n", + "54.534514 | \n", + "62.236075 | \n", + "5 | \n", + "680 | \n", + "777 | \n", + "... | \n", + "781 | \n", + "1.078681 | \n", + "0.039365 | \n", + "27.402157 | \n", + "0.422056 | \n", + "0.750000 | \n", + "1 | \n", + "inf | \n", + "0.412845 | \n", + "True | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
4755 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_lyso_mito_perox | \n", + "1_34_220_24 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "2.052970 | \n", + "74.270763 | \n", + "69.154155 | \n", + "5 | \n", + "928 | \n", + "865 | \n", + "... | \n", + "866 | \n", + "0.454980 | \n", + "0.007873 | \n", + "57.790189 | \n", + "0.246820 | \n", + "1.000000 | \n", + "1 | \n", + "inf | \n", + "0.291925 | \n", + "False | \n", + "
4756 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_lyso_mito_perox | \n", + "1_39_144_83 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "2.052970 | \n", + "91.579289 | \n", + "78.907689 | \n", + "5 | \n", + "1145 | \n", + "987 | \n", + "... | \n", + "988 | \n", + "0.321211 | \n", + "0.005249 | \n", + "61.198904 | \n", + "0.215617 | \n", + "1.000000 | \n", + "1 | \n", + "inf | \n", + "0.178767 | \n", + "False | \n", + "
4757 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_lyso_mito_perox | \n", + "1_61_28_104 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "2.463564 | \n", + "50.526504 | \n", + "58.920939 | \n", + "6 | \n", + "632 | \n", + "737 | \n", + "... | \n", + "738 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.000000 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "False | \n", + "
4758 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_lyso_mito_perox | \n", + "1_14_222_112 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "2.463564 | \n", + "84.264138 | \n", + "74.670498 | \n", + "6 | \n", + "1054 | \n", + "934 | \n", + "... | \n", + "935 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.000000 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "False | \n", + "
4759 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_lyso_mito_perox | \n", + "1_120_222_64 | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "2.874158 | \n", + "80.906364 | \n", + "74.030922 | \n", + "7 | \n", + "1012 | \n", + "926 | \n", + "... | \n", + "927 | \n", + "0.187442 | \n", + "0.002624 | \n", + "71.425050 | \n", + "0.171135 | \n", + "1.000000 | \n", + "1 | \n", + "inf | \n", + "0.000000 | \n", + "False | \n", + "
4760 rows × 22 columns
\n", + "\n", + " | image_name | \n", + "object | \n", + "scale | \n", + "XY_n_bins | \n", + "XY_bins | \n", + "XY_mask_vox_cnt_perbin | \n", + "XY_obj_vox_cnt_perbin | \n", + "XY_center_vox_cnt_perbin | \n", + "XY_n_pix_perbin | \n", + "XY_portion_pix_perbin | \n", + "... | \n", + "XY_area_wedges_perbin | \n", + "Z_n_slices | \n", + "Z_slices | \n", + "Z_mask_vox_cnt | \n", + "Z_obj_vox_cnt | \n", + "Z_center_vox_cnt | \n", + "Z_height | \n", + "Z_mask_volume | \n", + "Z_obj_volume | \n", + "Z_center_volume | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 18, 12, 107, 39] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 12, 25, 89, 11, 0, 18, 0, 0, 0, 0... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.031491850994862555, 0.0... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
1 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_golgi | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
2 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_lyso | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 5, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0131216045811... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
3 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 1, 6] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.015745925497431278, 0.0... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
4 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 72, 3] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 3, 66, 6, 0, 0, 0, 0, 0, 0, 0,... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.007872962748715639... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
5 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_golgi | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[2923, 3707, 6738, 3031, 2443] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 105, 625, 1176, 1713, 2457, 2246,... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.2755536962050474, 1.640... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
6 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_lyso | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[5345, 9459, 7920, 7906, 13009] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 61, 1005, 3962, 4425, 4262, 3638, 36... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.16008357589055133, 2.6374425... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
7 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[11962, 11282, 13843, 15879, 66503] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 1, 485, 4853, 11044, 13001, 13133, 1234... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0026243209162385463, 1.2727956443... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
8 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[2289, 1678, 2253, 4150, 6018] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 262, 1810, 3662, 2945, 1494, 1013... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.6875720800544991, 4.750... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
9 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "golgi_lyso | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[1841, 2940, 2481, 3411, 3790] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 183, 1056, 1660, 1360, 1228, 1120... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.48025072767165394, 2.77... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
10 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "golgi_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[106, 252, 308, 334, 287] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 2, 32, 78, 107, 213, 147, 112, 64... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0052486418324770925, 0.... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
11 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "golgi_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[14, 25, 35, 53, 36] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 18, 42, 51, 17, 1, 13, 0, 2, 0... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.04723777649229383,... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
12 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "lyso_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[600, 1012, 878, 914, 1844] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 17, 113, 442, 610, 627, 534, 419, 39... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.04461345557605528, 0.2965482... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
13 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "lyso_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[115, 44, 125, 324, 271] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 134, 297, 149, 9, 12, 23, 15, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.3516590027759652, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
14 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[356, 230, 382, 556, 872] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 23, 208, 473, 502, 231, 110, 116,... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.06035938107348657, 0.54... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
15 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_golgi | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
16 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_lyso | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
17 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 1, 1] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0026243209162385463, 0.... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
18 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 30, 3] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 3, 24, 6, 0, 0, 0, 0, 0, 0, 0,... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.007872962748715639... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
19 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_golgi_lyso | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
20 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_golgi_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
21 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_golgi_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
22 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_lyso_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
23 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_lyso_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
24 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
25 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_golgi_lyso | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[1284, 1694, 1718, 1543, 2297] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 105, 609, 992, 755, 833, 891, 691... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.2755536962050474, 1.598... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
26 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_golgi_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[72, 157, 192, 167, 217] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 2, 28, 57, 50, 138, 98, 89, 55, 4... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0052486418324770925, 0.... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
27 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_golgi_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[2, 1, 12, 14, 14] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 4, 3, 23, 4, 1, 3, 0, 0, 0, 2,... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.010497283664954185... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
28 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_lyso_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[462, 773, 653, 631, 1393] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 12, 64, 300, 485, 495, 391, 367, 361... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.031491850994862555, 0.167956... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
29 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_lyso_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[41, 14, 58, 58, 78] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 32, 103, 37, 3, 12, 15, 10, 3,... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.08397826931963348,... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
30 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[216, 103, 122, 184, 492] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 18, 136, 286, 272, 101, 43, 67, 4... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.04723777649229383, 0.35... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
31 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "golgi_lyso_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[61, 172, 118, 214, 261] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 2, 29, 78, 58, 124, 70, 98, 44, 5... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0052486418324770925, 0.... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
32 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "golgi_lyso_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[14, 15, 8, 37, 23] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 15, 42, 25, 0, 1, 6, 0, 2, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0393648137435782, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
33 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "golgi_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 1, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00262432... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
34 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "lyso_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[2, 0, 1, 3, 34] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 18, 19, 3, 0, 0, 0, 0, 0, 0, 0... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.04723777649229383,... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
35 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_golgi_lyso | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
36 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_golgi_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
37 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_golgi_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
38 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_lyso_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
39 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_lyso_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
40 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
41 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_golgi_lyso_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
42 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_golgi_lyso_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
43 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_golgi_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
44 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_lyso_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
45 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_golgi_lyso_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[51, 109, 85, 84, 192] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 2, 25, 57, 21, 66, 53, 80, 37, 29... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0052486418324770925, 0.... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
46 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_golgi_lyso_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[2, 1, 3, 4, 4] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 1, 3, 5, 0, 1, 3, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.002624320916238546... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
47 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_golgi_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 1, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.00262432... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
48 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_lyso_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[2, 0, 1, 1, 4] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 5, 2, 1, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.013121604581192731... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
49 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "golgi_lyso_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
50 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_golgi_lyso_mito | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
51 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_golgi_lyso_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
52 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_golgi_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
53 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_lyso_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
54 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_golgi_lyso_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
55 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "ER_golgi_lyso_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
56 | \n", + "20230727_C2-121_conditioned_well 2_cell 1_50uM... | \n", + "LD_ER_golgi_lyso_mito_perox | \n", + "(0.4106, 0.0799, 0.0799) | \n", + "5 | \n", + "[1, 2, 3, 4, 5] | \n", + "[391573, 150534, 182433, 203736, 1795494] | \n", + "[0, 0, 0, 0, 0] | \n", + "[159863, 0, 0, 0, 0] | \n", + "[13444.0, 6063.0, 8888.0, 13027.0, 380856.0] | \n", + "[0.031836846816552127, 0.01435784009586102, 0.... | \n", + "... | \n", + "[[8.794735385184001, 8.813909953611, 7.9574458... | \n", + "39 | \n", + "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,... | \n", + "[9, 139, 35897, 119787, 165147, 205238, 238961... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ... | \n", + "[0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 2171, 3992, 6... | \n", + "16.013166 | \n", + "[0.023618888246146916, 0.36478060735715795, 94... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, ... | \n", + "
57 rows × 46 columns
\n", + "