Skip to content
Snippets Groups Projects
Commit da695776 authored by Lars Hubatsch's avatar Lars Hubatsch
Browse files

Correct variable typo.

parent 753858e2
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
### FRAP geometries
%% Cell type:code id: tags:
``` python
from fem_sol import frap_solver
from matplotlib import rc, rcParams
import fem_utils
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
fol = '/Users/hubatsch/Desktop/DropletFRAP/Latex/Figures/'
sns.set_style("ticks")
rcParams['axes.linewidth'] = 0.75
rcParams['xtick.major.width'] = 0.75
rcParams['ytick.major.width'] = 0.75
```
%% Cell type:code id: tags:
``` python
import pylab as pl
params = {'legend.fontsize': 9,
'legend.handlelength': 1}
pl.rcParams.update(params)
def nice_fig(xla, yla, xli, yli, size, fs=12):
rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
plt.gcf().set_size_inches(size[0], size[1])
plt.xlabel(xla,fontsize=fs)
plt.ylabel(yla,fontsize=fs)
plt.xlim(xli)
plt.ylim(yli)
plt.tick_params(axis='both', which='major', labelsize=fs)
def save_nice_fig(name):
plt.savefig(name, format='pdf', dpi=300, bbox_inches='tight',
transparent=True)
```
%% Cell type:code id: tags:
``` python
me = ['Meshes/multi_drop_gauss.xml', 'Meshes/multi_drop_gauss_med.xml',
'Meshes/multi_drop_gauss_far.xml', 'Meshes/multi_drop_gauss.xml',
'Meshes/multi_drop_gauss_med.xml', 'Meshes/multi_drop_gauss_far.xml']
point_lists = [[[4, 4.5, 0.5], [4, 3.5, 0.5], [3.5, 4, 0.5], [4.5, 4, 0.5]],
[[4, 5, 0.5], [4, 3, 0.5], [3, 4, 0.5], [5, 4, 0.5]],
[[4, 5.5, 0.5], [4, 2.5, 0.5], [2.5, 4, 0.5], [5.5, 4, 0.5]],
[[4, 4.5, 0.5], [4, 3.5, 0.5], [3.5, 4, 0.5], [4.5, 4, 0.5]],
[[4, 5, 0.5], [4, 3, 0.5], [3, 4, 0.5], [5, 4, 0.5]],
[[4, 5.5, 0.5], [4, 2.5, 0.5], [2.5, 4, 0.5], [5.5, 4, 0.5]]]
phi_tot_int = [.99, .99, .99, .9, .9, .9]
phi_tot_ext = [.01, .01, .01, .1, .1, .1]
G_in = [1, 1, 1, .1, .1, .1]
G_out = [1, 1, 1, 0.99/0.9, 0.99/0.9, 0.99/0.9]
f_i_01 = []
f_i = []
for p, m, p_i, p_e, G_i, G_o in zip(point_lists, me, phi_tot_int,
phi_tot_ext, G_in, G_out):
f = frap_solver([4, 4, 0.5], m, name='FRAP_multi_'+m[:-4]+str(G_i), point_list=p,
T=50, phi_tot_int=p_i, phi_tot_ext=p_e, G_in=G_i, G_out=G_o)
f.solve_frap()
f_i.append(f)
```
%% Cell type:code id: tags:
``` python
alphas = np.linspace(0,2*np.pi, 20)
ns = np.c_[np.cos(alphas), np.sin(alphas), np.zeros(len(alphas))]
eps = np.linspace(0, 0.23, 100)
profs = []
for i in range(len(f_i)):
# if i>2:
profs.append([])
for j in range(50):
values=[]
fs = fem_utils.load_time_point(f_i[i].name+'t_p_'+str(j)+'.h5',
f_i[i].mesh)
for n in ns:
values.append([fs([4, 4, 0.5]+e*n) for e in eps])
profs[i].append(np.mean(np.transpose(values), 1))
```
%% Cell type:code id: tags:
``` python
np.savetxt('t_p.csv', profs, delimiter=',')
```
%% Cell type:code id: tags:
``` python
ft = f_i[1]
meta_data = np.r_[ft.dt, ft.T, eps]
np.savetxt('meta_data.csv', meta_data, delimiter=',')
```
%% Cell type:code id: tags:
``` python
plt.plot(eps,np.transpose(profs)[:,:])
```
%% Cell type:code id: tags:
``` python
nice_fig('t [s]', 'intensity (a.u)', [0,50], [0,1.1], [1.5,2])
plt.plot([np.mean(x)/f_i[0].phi_tot_int for x in profs[0]],
lw=2, label='d=0.5', ls='-')
plt.plot([np.mean(x)/f_i[1].phi_tot_int for x in profs[1]],
lw=2, label='d=1', ls='--')
plt.plot([np.mean(x)/f_i[2].phi_tot_int for x in profs[2]],
lw=2, label='d=1.5', ls=':')
plt.plot(range(0, 100), np.ones(100), linestyle='--', color='k')
plt.title('$\Phi_{out}=0.01}$', size=12)
plt.gca().get_yaxis().set_visible(False)
save_nice_fig(fol+'Fig3/tot_recov_neighbours_bad.pdf')
```
%% Cell type:code id: tags:
``` python
nice_fig('t [s]', 'intensity (a.u)', [0,30], [0,1.1], [1.5,2])
plt.plot([np.mean(x)/f_i[3].phi_tot_int for x in profs[3]],
lw=2, label='d=0.5', ls='-')
plt.plot([np.mean(x)/f_i[4].phi_tot_int for x in profs[4]],
lw=2, label='d=1', ls='--')
plt.plot([np.mean(x)/f_i[5].phi_tot_int for x in profs[5]],
lw=2, label='d=1.5', ls=':')
plt.plot(range(0, 100), np.ones(100), linestyle='--', color='k')
plt.title('$\Phi_{out}=0.1}$', size=12)
plt.legend(prop={'size': 9}, frameon=False)
save_nice_fig(fol+'Fig3/tot_recov_neighbours_good.pdf')
```
%% Cell type:code id: tags:
``` python
nice_fig('x [$\mu m$]', 'intensity (a.u)', [0,0.25], [0,1.1], [3.8,2])
l_sim = plt.plot(eps, np.transpose(profs[0])[:,::8]/f_i[0].phi_tot_int, '#1f77b4', lw=2.5)
plt.plot(range(0, 100), np.ones(100), linestyle='--', color='k')
l_fit = plt.plot(np.linspace(0, 0.23, 100), np.transpose(ml)[:,::8],
ls='--', c='orange', lw=1.5)
plt.legend([l_sim[0], l_fit[0]], ['Simulation', 'Fit'], prop={'size': 9}, frameon=False)
save_nice_fig(fol+'Fig3/spat_recov_neighbours.pdf')
```
%% Cell type:code id: tags:
``` python
# Define parameters for all simulations
point_list = [[4, 4, 0.5], [4, 4, 1.5], [4, 4, 4],
[4, 4, 0.5], [4, 4, 1.5], [4, 4, 4]]
me = ['coverslip.xml', '1_5.xml', 'symmetric.xml',
'coverslip.xml', '1_5.xml', 'symmetric.xml']
phi_tot_int = [.99, .99, .99, .9, .9, .9]
phi_tot_ext = [.01, .01, .01, .1, .1, .1]
G_in = [1, 1, 1, .1, .1, .1]
G_out = [1, 1, 1, 0.99/0.9, 0.99/0.9, 0.99/0.9]
f_cs = []
# Zip all parameters, iterate
for p, m, p_i, p_e, G_i, G_o in zip(point_list, me, phi_tot_int,
phi_tot_ext, G_in, G_out):
f_cs.append(frap_solver(p, 'Meshes/single_drop_'+m,
name='FRAP_'+m[:-4]+str(G_i), T=60, phi_tot_int=p_i,
phi_tot_ext=p_e, G_in=G_i, G_out=G_o))
f_cs[-1].solve_frap()
```
%% Cell type:code id: tags:
``` python
z = [0.5, 1.5, 4, 0.5, 1.5, 4]
profs_cs = []
for i, z_i in enumerate(z):
profs_cs.append([])
for j in range(50):
values=[]
fs = fem_utils.load_time_point(f_cs[i].name+'t_p_'+str(j)+'.h5',
f_cs[i].mesh)
for n in ns:
values.append([fs([4, 4, z_i]+e*n) for e in eps])
profs_cs[i].append(np.mean(np.transpose(values), 1))
```
%% Cell type:code id: tags:
``` python
np.savetxt('t_p_neighbours.csv', profs_cs[0], delimiter=',')
```
%% Cell type:code id: tags:
``` python
nice_fig('t [s]', '', [0,50], [0,1.1], [1.5,2])
ls = ['-', '--', ':']
for i, f in enumerate(f_cs[0:3]):
plt.plot([np.mean(x)/f.phi_tot_int for x in profs_cs[i]],
label='d='+str(z[i]), ls=ls[i], lw=2)
plt.plot(range(0, 100), np.ones(100), linestyle='--', color='k')
plt.title('$\Phi_{out}=0.01}$', size=12)
plt.gca().get_yaxis().set_visible(False)
save_nice_fig(fol+'Fig3/tot_recov_cs_bad.pdf')
```
%% Cell type:code id: tags:
``` python
nice_fig('t [s]', 'intensity (a.u)', [0,30], [0,1.1], [1.5,2])
ls = ['-', '--', ':']
for i, f in enumerate(f_cs[3:]):
plt.plot([np.mean(x)/f.phi_tot_int for x in profs_cs[i+3]],
label='h='+str(z[i]), lw=2, ls=ls[i])
plt.plot(range(0, 100), np.ones(100), linestyle='--', color='k')
plt.title('$\Phi_{out}=0.1}$', size=12)
plt.legend(prop={'size': 9}, frameon=False)
save_nice_fig(fol+'Fig3/tot_recov_cs_good.pdf')
```
%% Cell type:code id: tags:
``` python
ml_neigh = np.loadtxt('/Users/hubatsch/Desktop/DropletFRAP/matlab_fit_neigh.csv',
delimiter=',')
nice_fig('x [$\mu m$]', 'intensity (a.u)', [0,0.25], [0,1.1], [3.8,2])
l_sim = plt.plot(eps, np.transpose(profs_cs[0])[:,::8]/f_cs[0].phi_tot_int, '#1f77b4',
lw=2.5, label='Simulation')
plt.plot(range(0, 100), np.ones(100), linestyle='--', color='k')
l_fit = plt.plot(np.linspace(0, 0.23, 100), np.transpose(ml_neigh)[:,::8],
ls='--', c='orange', lw=1.5)
plt.legend([l_sim[0], l_fit[0]], ['Simulation', 'Fit'], frameon=False)
save_nice_fig(fol+'Fig3/spat_recov_coverslip.pdf')
```
%% Cell type:markdown id: tags:
## Figure 1:
%% Cell type:markdown id: tags:
**Panel: comparison PGL-3 diffusivity with Louise's viscosity**
%% Cell type:code id: tags:
``` python
louise = pd.read_csv('/Users/hubatsch/Desktop/DropletFRAP/Latex/Figures/Fig1/Louise.csv')
lars = pd.read_csv('/Users/hubatsch/Desktop/DropletFRAP/Latex/Figures/Fig1/Lars.csv')
```
%% Cell type:code id: tags:
``` python
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
plt.sca(ax1)
sns.lineplot(x="conc", y="D", data=lars, color=sns.color_palette()[1])
sns.scatterplot(x="conc", y="D", data=lars, color=sns.color_palette()[1], alpha=0.7)
plt.xlabel('$c_{salt}\; [mM]$')
plt.ylabel('$D_{in} \;[\mu m^2\cdot s^{-1}]$', color=sns.color_palette()[1])
plt.yticks([0, 0.05, 0.1], rotation=90, color = sns.color_palette()[1])
plt.ylim(0, 0.1)
ax1.set_zorder(1)
ax1.patch.set_visible(False)
plt.sca(ax2)
sns.lineplot(x="conc", y="vis", data=louise, color=sns.color_palette()[0], label='data from ref[xxx]')
nice_fig('c_{salt} [mM]', '$\eta^{-1} \;[Pa\cdot s]^{-1}$', [40,190], [0,7.24], [2.3,2])
plt.yticks(color = sns.color_palette()[0])
plt.ylabel('$\eta^{-1} \;[Pa\cdot s]^{-1}$ ', color = sns.color_palette()[0])
plt.legend(frameon=False, fontsize=9)
save_nice_fig(fol+'Fig1/Lars_vs_Louise.pdf')
```
%% Cell type:markdown id: tags:
**Panel:coacervates PLYS/ATP, CMD/PLYS**m
%% Cell type:code id: tags:
``` python
coacervates = pd.read_csv('/Users/hubatsch/Desktop/DropletFRAP/Latex/Figures/Fig1/Coacervates.csv')
sns.stripplot(data=coacervates, jitter=0.35, alpha=0.8,**{'marker': '.', 'size': 8, 'edgecolor': 'black', 'color': 'k'})
ax = sns.barplot(data=coacervates, facecolor=(1, 1, 1, 0), edgecolor=(0.6, 0.6, 0.6), errcolor=(0.6, 0.6, 0.6), capsize=.2, ci='sd', errwidth=1.5)
plt.setp(ax.lines, zorder=100)
nice_fig(None, '$D_{in} \;[\mu m^2\cdot s^{-1}]$', [None, None], [0,6], [2.3,2])
plt.xticks([0,1], ('CMD/PLYS', 'PLYS/ATP'), rotation=20)
plt.xlim(-0.7, 1.7)
save_nice_fig(fol+'Fig1/Coacervates.pdf')
```
%% Cell type:code id: tags:
``` python
ax.patches
```
%% Cell type:markdown id: tags:
**Panel: time course CMD**
%% Cell type:code id: tags:
``` python
CMD = np.loadtxt(fol+'/Fig1/CMD_timecourse.csv', delimiter=',')
CMD_fit = np.loadtxt(fol+'/Fig1/CMD_fit_timecourse.csv', delimiter=',')
l_sim = plt.plot(CMD[:, 0], CMD[:, 1:], '#1f77b4', lw=3, label='Simulation')
l_fit = plt.plot(CMD_fit[:, 0], CMD_fit[:, 1:], '--', lw=2, c=sns.color_palette()[1], label='Simulation')
plt.plot(range(0, 10), np.ones(10)*np.min(CMD_fit[:, 1]), linestyle='--', color='k', lw=2)
nice_fig('x [$\mu m$]', 'intensity (a.u)', [0,np.max(CMD_fit[:, 0])], [0,0.6], [2.3,2])
save_nice_fig(fol+'Fig1/CMD_spat_recov.pdf')
```
%% Cell type:markdown id: tags:
**Panel: time course PGL-3**
%% Cell type:code id: tags:
``` python
PGL = np.loadtxt(fol+'/Fig1/PGL_timecourse.csv', delimiter=',')
PGL_fit = np.loadtxt(fol+'/Fig1/PGL_fit_timecourse.csv', delimiter=',')
l_sim = plt.plot(PGL[:, 0], PGL[:, 1:], '#1f77b4', lw=3, label='Simulation')
l_fit = plt.plot(PGL_fit[:, 0], PGL_fit[:, 1:], '--', lw=2, c=sns.color_palette()[1], label='Simulation')
plt.plot(range(0, 10), np.ones(10)*np.min(PGL_fit[:, 1]), linestyle='--', color='k', lw=2)
nice_fig('x [$\mu m$]', 'intensity (a.u)', [0,np.max(PGL_fit[:, 0])], [0,None], [2.3,2])
save_nice_fig(fol+'Fig1/PGL_spat_recov.pdf')
```
%% Cell type:markdown id: tags:
**Panel: time course total intensity**
%% Cell type:code id: tags:
``` python
PGL = np.loadtxt(fol+'/Fig1/PGL_tot.csv', delimiter=',')
ATP = np.loadtxt(fol+'/Fig1/ATP_tot.csv', delimiter=',')
CMD = np.loadtxt(fol+'/Fig1/CMD_tot.csv', delimiter=',')
# fig, ax1 = plt.subplots()
# ax2 = ax1.twiny()
# plt.sca(ax1)
nice_fig('$t/T_{max}$', 'intensity (a.u)', [0,200], [0,0.62], [2.3,2])
# plt.sca(ax2)
# ax2.tick_params(axis="x",direction="in")
plt.plot(PGL[::10, 0]/np.max(PGL[1:-1:2, 0]), PGL[::10,1], label='PGL-3', c='#CC406E', markersize=3, alpha=0.7, lw=2)
plt.plot(ATP[::1, 0]/np.max(ATP[:, 0]), ATP[::1,1], label='PLYS/ATP', c='#FF508A', markersize=3, alpha=0.7, lw=2)
plt.plot(CMD[::5, 0]/np.max(CMD[:, 0]), CMD[::5,1], label='CMD/PLYS', c='#7F2845', markersize=3, alpha=0.7, lw=2)
plt.legend(frameon=False, fontsize=9)
plt.xlim(0, 1)
save_nice_fig(fol+'Fig1/tot_recov.pdf')
```
%% Cell type:code id: tags:
``` python
```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment