In [149]:
drive_path = 'c:/'
import numpy as np
import pandas as pd
import os
import sys
import matplotlib.pyplot as plt
from scipy.stats import ks_2samp
from scipy.stats import anderson_ksamp
from scipy.stats import kruskal
from scipy.stats import variation
%matplotlib
import seaborn as sns
In [150]:
read_data=pd.read_csv('C:\Users\Annie\Documents\Data\Ca_Imaging\Analysis\Odor_Panel\Composite_MaxDF_NoP.csv')
columns=['Mouse','THA', 'MS 0.01', 'BLANK', 'AP', 'MS 0.1', 'MS 0.05',
'IAA 0.05', 'IAA 0.01', 'PA', 'IAA 0.1', 'Hexanone', 'Hexanal 0.1',
'Hexanal 0.01', 'Hexanal 0.05', 'EB']
odorlist=['THA', 'MS 0.01', 'BLANK', 'AP', 'MS 0.1', 'MS 0.05',
'IAA 0.05', 'IAA 0.01', 'PA', 'IAA 0.1', 'Hexanone', 'Hexanal 0.1',
'Hexanal 0.01', 'Hexanal 0.05', 'EB']
comp=read_data[columns]
comp_sorted=comp.reindex_axis(comp.mean().sort_values().index, axis=1)
comp_labels=pd.DataFrame(comp.Mouse)
tmp=[comp_labels,comp_sorted]
composite_full=pd.concat(tmp,axis=1)
cfull=pd.melt(composite_full,"Mouse",var_name="Odor")
normalized=(composite_full[odorlist].subtract(composite_full['THA'],axis=0)).div(composite_full['THA'],axis=0)
# normalized=(composite_full[odorlist]).div(composite_full['THA'],axis=0)
norm_full=pd.concat([comp_labels,normalized],axis=1)
In [151]:
norm_full
Out[151]:
In [152]:
norm_full['Mouse']=norm_full['Mouse'].apply(lambda x:x.split('_')[0])
nfull=pd.melt(norm_full,"Mouse",var_name="Odor")
nfull['Mouse'] = nfull['Mouse'].apply(lambda x: x.split('_')[0])
In [153]:
norm_full
Out[153]:
In [148]:
colors={'160321':'r', '160421':'r', '160502':'r', '160503':'r', '160420':'r', '160310':'r',
'160517':'b', '160525':'b', '160620':'b', '160621':'b', '160622':'b', '160626':'b',
'160330':'g', '160328':'g', '160428':'g', '160429':'g', '160325':'g', '160401':'g'}
In [142]:
cctrl=nfull[nfull.Mouse.isin(['160310','160321','160421','160502','160503','160420'])]
hexfull=nfull[nfull.Mouse.isin(['160517', '160525', '160620', '160621', '160622', '160626'])]
msfull=nfull[nfull.Mouse.isin(['160330', '160328', '160428', '160429', '160325','160401'])]
In [143]:
cfc=norm_full[norm_full.Mouse.isin(['160310','160321','160421','160502','160503','160420'])]
cfh=norm_full[norm_full.Mouse.isin(['160517', '160525', '160620', '160621', '160622', '160626'])]
cfm=norm_full[norm_full.Mouse.isin(['160330', '160328', '160428', '160429', '160325','160401'])]
In [154]:
(0-0)/0
In [49]:
#Plot everything by mouse
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.boxplot(x='Odor',y='value',hue='Mouse',palette=colors,data=nfull)
ax.legend_.remove()
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('By Mouse', fontsize=55);
plt.xlabel('Odor', fontsize=48);
In [50]:
#Plot control by mouse
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.boxplot('Odor','value',hue='Mouse',data=cctrl)
ax.legend_.remove()
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('By Mouse - Control', fontsize=55);
plt.xlabel('Odor', fontsize=48);
In [51]:
#Plot everything by mouse - Hexanal
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.boxplot('Odor','value',hue='Mouse',data=hexfull)
ax.legend_.remove()
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('By Mouse - Hexanal', fontsize=55);
plt.xlabel('Odor', fontsize=48);
In [53]:
#Plot everything by mouse - Mint
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.boxplot('Odor','value',hue='Mouse',data=msfull)
ax.legend_.remove()
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('By Mouse - Mint', fontsize=55);
plt.xlabel('Odor', fontsize=48);
In [110]:
cdf=[]
for x in cfc.Mouse.unique():
cdf.append(cfc[cfc.Mouse=='%s'%x][odorlist].mean(0,skipna=True))
Out[110]:
In [54]:
cdf=[]
for x in cfc.Mouse.unique():
cdf.append(cfc[cfc.Mouse=='%s'%x][odorlist].mean(0,skipna=True))
cmeandf=pd.concat([pd.DataFrame(cfc.Mouse.unique()),pd.DataFrame(cdf)],axis=1)
cmeandf.columns=cfc.columns
cmeanmelt=pd.melt(cmeandf,"Mouse",var_name="Odor")
mdf=[]
for x in cfm.Mouse.unique():
mdf.append(cfm[cfm.Mouse=='%s'%x][odorlist].mean(0,skipna=True))
mmeandf=pd.concat([pd.DataFrame(cfm.Mouse.unique()),pd.DataFrame(mdf)],axis=1)
mmeandf.columns=cfm.columns
hdf=[]
for x in cfh.Mouse.unique():
hdf.append(cfh[cfh.Mouse=='%s'%x][odorlist].mean(0,skipna=True))
hmeandf=pd.concat([pd.DataFrame(cfh.Mouse.unique()),pd.DataFrame(hdf)],axis=1)
hmeandf.columns=cfh.columns
full_mean=pd.melt(pd.concat([cmeandf,mmeandf,hmeandf],ignore_index=True),'Mouse',var_name='Odor')
In [103]:
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.pointplot('Odor','value',hue='Mouse',palette=colors,data=full_mean)
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('Mean, By Mouse', fontsize=55);
plt.xlabel('Odor', fontsize=48);
In [56]:
cdf=[]
for x in cfc.Mouse.unique():
cdf.append(cfc[cfc.Mouse=='%s'%x][odorlist].median(0,skipna=True))
cmeddf=pd.concat([pd.DataFrame(cfc.Mouse.unique()),pd.DataFrame(cdf)],axis=1)
cmeddf.columns=cfc.columns
cmedmelt=pd.melt(cmeandf,"Mouse",var_name="Odor")
mdf=[]
for x in cfm.Mouse.unique():
mdf.append(cfm[cfm.Mouse=='%s'%x][odorlist].median(0,skipna=True))
mmeddf=pd.concat([pd.DataFrame(cfm.Mouse.unique()),pd.DataFrame(mdf)],axis=1)
mmeddf.columns=cfm.columns
hdf=[]
for x in cfh.Mouse.unique():
hdf.append(cfh[cfh.Mouse=='%s'%x][odorlist].median(0,skipna=True))
hmeddf=pd.concat([pd.DataFrame(cfh.Mouse.unique()),pd.DataFrame(hdf)],axis=1)
hmeddf.columns=cfh.columns
full_med=pd.melt(pd.concat([cmeddf,mmeddf,hmeddf],ignore_index=True),'Mouse',var_name='Odor')
In [57]:
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.pointplot('Odor','value',hue='Mouse',palette=colors,data=full_med)
sns.despine()
plt.ylabel('Peak DF/F', fontsize=48);
plt.title('Median, By Mouse', fontsize=55);
plt.xlabel('Odor', fontsize=48);
In [96]:
#Individual Animal COV
cdf=[]
for x in cfc.Mouse.unique():
cdf.append(cfc[cfc.Mouse=='%s'%x][odorlist].std(0,skipna=True))
cstddf=pd.concat([pd.DataFrame(cfc.Mouse.unique()),pd.DataFrame(cdf)],axis=1)
cstddf.columns=cfc.columns
cstdmelt=pd.melt(cmeandf,"Mouse",var_name="Odor")
mdf=[]
for x in cfm.Mouse.unique():
mdf.append(cfm[cfm.Mouse=='%s'%x][odorlist].std(0,skipna=True))
mstddf=pd.concat([pd.DataFrame(cfm.Mouse.unique()),pd.DataFrame(mdf)],axis=1)
mstddf.columns=cfm.columns
hdf=[]
for x in cfh.Mouse.unique():
hdf.append(cfh[cfh.Mouse=='%s'%x][odorlist].std(0,skipna=True))
hstddf=pd.concat([pd.DataFrame(cfh.Mouse.unique()),pd.DataFrame(hdf)],axis=1)
hstddf.columns=cfh.columns
full_std=pd.melt(pd.concat([cstddf,mstddf,hstddf],ignore_index=True),'Mouse',var_name='Odor')
full_cov=pd.concat([full_std.Mouse,full_std.Odor,full_std.value.div(full_mean.value,axis=0)],axis=1)
In [102]:
cdf
Out[102]:
In [60]:
#Get Averages
c_ave=pd.DataFrame(cstddf[odorlist].div(cmeandf[odorlist]).mean())
c_ave.columns=['Control']
m_ave=pd.DataFrame(mstddf[odorlist].div(mmeandf[odorlist]).mean())
m_ave.columns=['Mint']
h_ave=pd.DataFrame(hstddf[odorlist].div(hmeandf[odorlist]).mean())
h_ave.columns=['Hexanal']
full_ave=pd.concat([c_ave,m_ave,h_ave],axis=1)
full_ave=full_ave.reset_index()
full_ave.columns=['Odor','Control','Mint','Hexanal']
avemelt=pd.melt(full_ave,'Odor')
In [101]:
full_std
Out[101]:
In [100]:
#PLOT STUFF
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.pointplot('Odor','value',hue='Mouse',palette=colors,data=full_std)
sns.despine()
plt.ylabel('STD', fontsize=48);
plt.title('STD', fontsize=55);
plt.xlabel('Odor', fontsize=48);
In [90]:
(pd.DataFrame(cfc['Hexanal 0.01'])).std(0,skipna=True)
Out[90]:
In [76]:
#Get Composite COV
pd.DataFrame(cfc[odorlist].std(0,skipna=True))
# cfc_mean=pd.DataFrame(cfc[odorlist].mean(0,skipna=True))
# cfc_cov=cfc_std.div(cfc_mean)
# mfc_std=pd.DataFrame(cfm[odorlist].std(0,skipna=True))
# mfc_mean=pd.DataFrame(cfm[odorlist].mean(0,skipna=True))
# mfc_cov=mfc_std.div(mfc_mean)
# hfc_std=pd.DataFrame(cfh[odorlist].std(0,skipna=True))
# hfc_mean=pd.DataFrame(cfh[odorlist].mean(0,skipna=True))
# hfc_cov=hfc_std.div(hfc_mean)
# cfc_cov.columns=['Control']
# mfc_cov.columns=['Mint']
# hfc_cov.columns=['Hexanal']
# full=pd.concat([cfc_cov,mfc_cov,hfc_cov],axis=1)
# full=full.reset_index()
# full.columns=['Odor','Control','Mint','Hexanal']
# fullmelt=pd.melt(full,'Odor')
# fullmelt.head()
# cstdall.columns=cfc.columns
# mdf.append(cfm[cfm.Mouse=='%s'%x][odorlist].std(0,skipna=True))
# mstddf=pd.concat([pd.DataFrame(cfm.Mouse.unique()),pd.DataFrame(mdf)],axis=1)
# mstddf.columns=cfm.columns
# hdf.append(cfh[cfh.Mouse=='%s'%x][odorlist].std(0,skipna=True))
# hstddf=pd.concat([pd.DataFrame(cfh.Mouse.unique()),pd.DataFrame(hdf)],axis=1)
# hstddf.columns=cfh.columns
# full_std=pd.melt(pd.concat([cstddf,mstddf,hstddf],ignore_index=True),'Mouse',var_name='Odor')
# full_cov=pd.concat([full_std.Mouse,full_std.Odor,full_std.value.div(full_mean.value,axis=0)],axis=1)
Out[76]:
In [74]:
cfc_std
Out[74]:
In [63]:
#PLOT STUFF
sns.set(style="white", palette="muted", color_codes=True);
sns.set_context("talk", font_scale=1.8);
plt.figure(figsize=(45, 20));
ax=sns.pointplot('Odor','value',hue='variable',palette={'Control':'r','Hexanal':'b','Mint':'g'},data=fullmelt)
sns.despine()
plt.ylabel('COV', fontsize=48);
plt.title('COV, Complete', fontsize=55);
plt.xlabel('Odor', fontsize=48);
In [ ]: