#This code analyzes number of AgDD puncta and aggregate area for each cell in low and high expressing cell lines
#related to Figure 3
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import scipy.stats as stats
import seaborn as sns
mpl.rcParams.update(mpl.rcParamsDefault)
mpl.rcParams['pdf.fonttype'] = 42
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
directory_high = '/Volumes/KLH_SSD_1/agDD_imaging_2021-2023/5.25.22_hela-agDD_high_timecourse_MIPs/'
directory_low = '/Volumes/KLH_SSD_1/agDD_imaging_2021-2023/06.10.22-hela-low-imaging_MIPs/'
image_values_high = pd.read_csv(directory_high + 'Image.csv', low_memory=False)
image_values_high['Group_Index'] = 'high'
image_values_low = pd.read_csv(directory_low + 'Image.csv', low_memory=False)
image_values_low['Group_Index'] = 'low'
image_values = pd.concat([image_values_high,image_values_low])
image_values.head()
# calculate number of AgDD puncta, aggreagate intensity and area per cell
prot_amount = image_values[['FileName_nucleus', 'Group_Index', 'Group_Number','Count_AggDD_obj', 'Count_nucleus_obj', 'Intensity_TotalIntensity_AggDD', 'AreaOccupied_AreaOccupied_AggDD_obj', 'Mean_AggDD_obj_AreaShape_EquivalentDiameter']].copy()
prot_amount['AggDD_area_per_cell'] = prot_amount['AreaOccupied_AreaOccupied_AggDD_obj']/prot_amount['Count_nucleus_obj']
prot_amount['AggDD_intensity_per_cell'] = prot_amount['Intensity_TotalIntensity_AggDD']/prot_amount['Count_nucleus_obj']
prot_amount['AggDD_count_per_cell'] = prot_amount['Count_AggDD_obj']/prot_amount['Count_nucleus_obj']
prot_amount['AggDD_average_size'] = prot_amount['AreaOccupied_AreaOccupied_AggDD_obj']/prot_amount['Count_AggDD_obj']
prot_amount['ratio_of_size_vs_count'] = prot_amount['AggDD_area_per_cell']/prot_amount['AggDD_count_per_cell']
prot_amount = prot_amount[prot_amount['Group_Number']!= 6]
sns.lineplot(data = prot_amount, x = 'Group_Number', y = 'AggDD_count_per_cell', hue = 'Group_Index', palette = 'viridis')
sns.despine()
plt.show()
prot_amount = prot_amount.fillna(0)
sns.lineplot(data = prot_amount, x = 'Group_Number', y = prot_amount['AggDD_average_size']*(0.065**2), hue = 'Group_Index', palette = 'viridis')
plt.ylabel('AggDD average area (µm^2)')
sns.despine()
plt.show()