diff --git a/PySONIC/core/bls.py b/PySONIC/core/bls.py index c0a1686..9f0254f 100644 --- a/PySONIC/core/bls.py +++ b/PySONIC/core/bls.py @@ -1,814 +1,817 @@ # -*- coding: utf-8 -*- # @Author: Theo Lemaire # @Email: theo.lemaire@epfl.ch # @Date: 2016-09-29 16:16:19 # @Last Modified by: Theo Lemaire -# @Last Modified time: 2020-02-03 19:43:02 +# @Last Modified time: 2020-02-11 07:53:59 from enum import Enum import os import json import numpy as np import pandas as pd import scipy.integrate as integrate from scipy.optimize import brentq, curve_fit from .model import Model from .simulators import PeriodicSimulator from .drives import Drive, AcousticDrive from ..utils import logger, si_format, debug from ..constants import * class PmCompMethod(Enum): ''' Enum: types of computation method for the intermolecular pressure ''' direct = 1 predict = 2 def LennardJones(x, beta, alpha, C, m, n): ''' Generic expression of a Lennard-Jones function, adapted for the context of symmetric deflection (distance = 2x). :param x: deflection (i.e. half-distance) :param beta: x-shifting factor :param alpha: x-scaling factor :param C: y-scaling factor :param m: exponent of the repulsion term :param n: exponent of the attraction term :return: Lennard-Jones potential at given distance (2x) ''' return C * (np.power((alpha / (2 * x + beta)), m) - np.power((alpha / (2 * x + beta)), n)) def lookup(func): ''' Load parameters from lookup file, or compute them and store them in lookup file. ''' lookup_path = os.path.join(os.path.split(__file__)[0], 'bls_lookups.json') def wrapper(obj): akey = f'{obj.a * 1e9:.1f}' Qkey = f'{obj.Qm0 * 1e5:.2f}' # Open lookup files try: with open(lookup_path, 'r') as fh: lookups = json.load(fh) except FileNotFoundError: lookups = {} # If info not in lookups, compute parameters and add them if akey not in lookups or Qkey not in lookups[akey]: func(obj) if akey not in lookups: lookups[akey] = {Qkey: {'LJ_approx': obj.LJ_approx, 'Delta_eq': obj.Delta}} else: lookups[akey][Qkey] = {'LJ_approx': obj.LJ_approx, 'Delta_eq': obj.Delta} logger.debug('Saving BLS derived parameters to lookup file') with open(lookup_path, 'w') as fh: json.dump(lookups, fh, indent=2) # If lookup exists, load parameters from it else: logger.debug('Loading BLS derived parameters from lookup file') obj.LJ_approx = lookups[akey][Qkey]['LJ_approx'] obj.Delta = lookups[akey][Qkey]['Delta_eq'] return wrapper class BilayerSonophore(Model): ''' Definition of the Bilayer Sonophore Model - geometry - pressure terms - cavitation dynamics ''' # BIOMECHANICAL PARAMETERS T = 309.15 # Temperature (K) delta0 = 2.0e-9 # Thickness of the leaflet (m) Delta_ = 1.4e-9 # Initial gap between the two leaflets on a non-charged membrane at equil. (m) pDelta = 1.0e5 # Attraction/repulsion pressure coefficient (Pa) m = 5.0 # Exponent in the repulsion term (dimensionless) n = 3.3 # Exponent in the attraction term (dimensionless) rhoL = 1075.0 # Density of the surrounding fluid (kg/m^3) muL = 7.0e-4 # Dynamic viscosity of the surrounding fluid (Pa.s) muS = 0.035 # Dynamic viscosity of the leaflet (Pa.s) kA = 0.24 # Area compression modulus of the leaflet (N/m) alpha = 7.56 # Tissue shear loss modulus frequency coefficient (Pa.s) C0 = 0.62 # Initial gas molar concentration in the surrounding fluid (mol/m^3) kH = 1.613e5 # Henry's constant (Pa.m^3/mol) P0 = 1.0e5 # Static pressure in the surrounding fluid (Pa) Dgl = 3.68e-9 # Diffusion coefficient of gas in the fluid (m^2/s) xi = 0.5e-9 # Boundary layer thickness for gas transport across leaflet (m) c = 1515.0 # Speed of sound in medium (m/s) # BIOPHYSICAL PARAMETERS epsilon0 = 8.854e-12 # Vacuum permittivity (F/m) epsilonR = 1.0 # Relative permittivity of intramembrane cavity (dimensionless) rel_Zmin = -0.49 # relative deflection range lower bound (in multiples of Delta) tscale = 'us' # relevant temporal scale of the model simkey = 'MECH' # keyword used to characterize simulations made with this model def __init__(self, a, Cm0, Qm0, embedding_depth=0.0): ''' Constructor of the class. :param a: in-plane radius of the sonophore structure within the membrane (m) :param Cm0: membrane resting capacitance (F/m2) :param Qm0: membrane resting charge density (C/m2) :param embedding_depth: depth of the embedding tissue around the membrane (m) ''' # Extract resting constants and geometry self.Cm0 = Cm0 self.Qm0 = Qm0 self.a = a self.d = embedding_depth self.S0 = np.pi * self.a**2 # Initialize null elastic modulus for tissue self.kA_tissue = 0. # Compute Pm params self.computePMparams() # Compute initial volume and gas content self.V0 = np.pi * self.Delta * self.a**2 self.ng0 = self.gasPa2mol(self.P0, self.V0) + def copy(self): + return self.__class__(self.a, self.Cm0, self.Qm0, embedding_depth=self.d) + @property def a(self): return self._a @a.setter def a(self, value): if value <= 0.: raise ValueError('Sonophore radius must be positive') self._a = value @property def Cm0(self): return self._Cm0 @Cm0.setter def Cm0(self, value): if value <= 0.: raise ValueError('Resting membrane capacitance must be positive') self._Cm0 = value @property def d(self): return self._d @d.setter def d(self, value): if value < 0.: raise ValueError('Embedding depth cannot be negative') self._d = value def __repr__(self): s = f'{self.__class__.__name__}({self.a * 1e9:.1f} nm' if self.d > 0.: s += f', d={si_format(self.d, precision=1)}m' return f'{s})' @classmethod def initFromMeta(cls, meta): return cls(meta['a'], meta['Cm0'], meta['Qm0']) @staticmethod def inputs(): return { 'a': { 'desc': 'sonophore radius', 'label': 'a', 'unit': 'nm', 'factor': 1e9, 'precision': 0 }, 'Qm': { 'desc': 'membrane charge density', 'label': 'Q_m', 'unit': 'nC/cm^2', 'factor': 1e5, 'precision': 1 }, **AcousticDrive.inputs() } def filecodes(self, drive, Qm, PmCompMethod='predict'): return { 'simkey': self.simkey, 'a': f'{self.a * 1e9:.0f}nm', **drive.filecodes, 'Qm': f'{Qm * 1e5:.1f}nCcm2' } @staticmethod def getPltVars(wrapleft='df["', wrapright='"]'): return { 'Pac': { 'desc': 'acoustic pressure', 'label': 'P_{AC}', 'unit': 'kPa', 'factor': 1e-3, 'func': f'meta["drive"].compute({wrapleft}t{wrapright})' }, 'Z': { 'desc': 'leaflets deflection', 'label': 'Z', 'unit': 'nm', 'factor': 1e9, 'bounds': (-1.0, 10.0) }, 'ng': { 'desc': 'gas content', 'label': 'n_g', 'unit': '10^{-22}\ mol', 'factor': 1e22, 'bounds': (1.0, 15.0) }, 'Pmavg': { 'desc': 'average intermolecular pressure', 'label': 'P_M', 'unit': 'kPa', 'factor': 1e-3, 'func': f'PMavgpred({wrapleft}Z{wrapright})' }, 'Telastic': { 'desc': 'leaflet elastic tension', 'label': 'T_E', 'unit': 'mN/m', 'factor': 1e3, 'func': f'TEleaflet({wrapleft}Z{wrapright})' }, 'Cm': { 'desc': 'membrane capacitance', 'label': 'C_m', 'unit': 'uF/cm^2', 'factor': 1e2, 'bounds': (0.0, 1.5), 'func': f'v_capacitance({wrapleft}Z{wrapright})' } } @property def pltScheme(self): return { 'P_{AC}': ['Pac'], 'Z': ['Z'], 'n_g': ['ng'] } @property def Zmin(self): return self.rel_Zmin * self.Delta def curvrad(self, Z): ''' Leaflet curvature radius (signed variable) :param Z: leaflet apex deflection (m) :return: leaflet curvature radius (m) ''' if Z == 0.0: return np.inf else: return (self.a**2 + Z**2) / (2 * Z) def v_curvrad(self, Z): ''' Vectorized curvrad function ''' return np.array(list(map(self.curvrad, Z))) def surface(self, Z): ''' Surface area of the stretched leaflet (spherical cap formula) :param Z: leaflet apex deflection (m) :return: stretched leaflet surface (m^2) ''' return np.pi * (self.a**2 + Z**2) def volume(self, Z): ''' Volume of the inter-leaflet space (cylinder +/- 2 spherical caps) :param Z: leaflet apex deflection (m) :return: bilayer sonophore inner volume (m^3) ''' return np.pi * self.a**2 * self.Delta\ * (1 + (Z / (3 * self.Delta) * (3 + Z**2 / self.a**2))) def arealStrain(self, Z): ''' Areal strain of the stretched leaflet epsilon = (S - S0)/S0 = (Z/a)^2 :param Z: leaflet apex deflection (m) :return: areal strain (dimensionless) ''' return (Z / self.a)**2 def capacitance(self, Z): ''' Membrane capacitance (parallel-plate capacitor evaluated at average inter-layer distance) :param Z: leaflet apex deflection (m) :return: capacitance per unit area (F/m2) ''' if Z == 0.0: return self.Cm0 else: return ((self.Cm0 * self.Delta / self.a**2) * (Z + (self.a**2 - Z**2 - Z * self.Delta) / (2 * Z) * np.log((2 * Z + self.Delta) / self.Delta))) def v_capacitance(self, Z): ''' Vectorized capacitance function ''' return np.array(list(map(self.capacitance, Z))) def derCapacitance(self, Z, U): ''' Evolution of membrane capacitance :param Z: leaflet apex deflection (m) :param U: leaflet apex deflection velocity (m/s) :return: time derivative of capacitance per unit area (F/m2.s) ''' dCmdZ = ((self.Cm0 * self.Delta / self.a**2) * ((Z**2 + self.a**2) / (Z * (2 * Z + self.Delta)) - ((Z**2 + self.a**2) * np.log((2 * Z + self.Delta) / self.Delta)) / (2 * Z**2))) return dCmdZ * U @staticmethod def localDeflection(r, Z, R): ''' Local leaflet deflection at specific radial distance (signed) :param r: in-plane distance from center of the sonophore (m) :param Z: leaflet apex deflection (m) :param R: leaflet curvature radius (m) :return: local transverse leaflet deviation (m) ''' if np.abs(Z) == 0.0: return 0.0 else: return np.sign(Z) * (np.sqrt(R**2 - r**2) - np.abs(R) + np.abs(Z)) def PMlocal(self, r, Z, R): ''' Local intermolecular pressure :param r: in-plane distance from center of the sonophore (m) :param Z: leaflet apex deflection (m) :param R: leaflet curvature radius (m) :return: local intermolecular pressure (Pa) ''' z = self.localDeflection(r, Z, R) relgap = (2 * z + self.Delta) / self.Delta_ return self.pDelta * ((1 / relgap)**self.m - (1 / relgap)**self.n) def PMavg(self, Z, R, S): ''' Average intermolecular pressure across the leaflet (computed by quadratic integration) :param Z: leaflet apex outward deflection value (m) :param R: leaflet curvature radius (m) :param S: surface of the stretched leaflet (m^2) :return: averaged intermolecular resultant pressure (Pa) .. warning:: quadratic integration is computationally expensive. ''' # Integrate intermolecular force over an infinitely thin ring of radius r from 0 to a fTotal, _ = integrate.quad(lambda r, Z, R: 2 * np.pi * r * self.PMlocal(r, Z, R), 0, self.a, args=(Z, R)) return fTotal / S def v_PMavg(self, Z, R, S): ''' Vectorized PMavg function ''' return np.array(list(map(self.PMavg, Z, R, S))) def LJfitPMavg(self): ''' Determine optimal parameters of a Lennard-Jones expression approximating the average intermolecular pressure. These parameters are obtained by a nonlinear fit of the Lennard-Jones function for a range of deflection values between predetermined Zmin and Zmax. :return: 3-tuple with optimized LJ parameters for PmAvg prediction (Map) and the standard and max errors of the prediction in the fitting range (in Pascals) ''' # Determine lower bound of deflection range: when Pm = Pmmax PMmax = LJFIT_PM_MAX # Pa Zlb_range = (self.Zmin, 0.0) Zlb = brentq(lambda Z, Pmmax: self.PMavg(Z, self.curvrad(Z), self.surface(Z)) - PMmax, *Zlb_range, args=(PMmax), xtol=1e-16) # Create vectors for geometric variables Zub = 2 * self.a Z = np.arange(Zlb, Zub, 1e-11) Pmavg = self.v_PMavg(Z, self.v_curvrad(Z), self.surface(Z)) # Compute optimal nonlinear fit of custom LJ function with initial guess x0_guess = self.delta0 C_guess = 0.1 * self.pDelta nrep_guess = self.m nattr_guess = self.n pguess = (x0_guess, C_guess, nrep_guess, nattr_guess) popt, _ = curve_fit(lambda x, x0, C, nrep, nattr: LennardJones(x, self.Delta, x0, C, nrep, nattr), Z, Pmavg, p0=pguess, maxfev=100000) (x0_opt, C_opt, nrep_opt, nattr_opt) = popt Pmavg_fit = LennardJones(Z, self.Delta, x0_opt, C_opt, nrep_opt, nattr_opt) # Compute prediction error residuals = Pmavg - Pmavg_fit ss_res = np.sum(residuals**2) N = residuals.size std_err = np.sqrt(ss_res / N) max_err = max(np.abs(residuals)) logger.debug('LJ approx: x0 = %.2f nm, C = %.2f kPa, m = %.2f, n = %.2f', x0_opt * 1e9, C_opt * 1e-3, nrep_opt, nattr_opt) LJ_approx = {"x0": x0_opt, "C": C_opt, "nrep": nrep_opt, "nattr": nattr_opt} return (LJ_approx, std_err, max_err) @lookup def computePMparams(self): # Find Delta that cancels out Pm + Pec at Z = 0 (m) if self.Qm0 == 0.0: D_eq = self.Delta_ else: (D_eq, Pnet_eq) = self.findDeltaEq(self.Qm0) assert Pnet_eq < PNET_EQ_MAX, 'High Pnet at Z = 0 with ∆ = %.2f nm' % (D_eq * 1e9) self.Delta = D_eq # Find optimal Lennard-Jones parameters to approximate PMavg (self.LJ_approx, std_err, _) = self.LJfitPMavg() assert std_err < PMAVG_STD_ERR_MAX, 'High error in PmAvg nonlinear fit:'\ ' std_err = %.2f Pa' % std_err def PMavgpred(self, Z): ''' Approximated average intermolecular pressure (using nonlinearly fitted Lennard-Jones function) :param Z: leaflet apex deflection (m) :return: predicted average intermolecular pressure (Pa) ''' return LennardJones(Z, self.Delta, self.LJ_approx['x0'], self.LJ_approx['C'], self.LJ_approx['nrep'], self.LJ_approx['nattr']) def Pelec(self, Z, Qm): ''' Electrical pressure term :param Z: leaflet apex deflection (m) :param Qm: membrane charge density (C/m2) :return: electrical pressure (Pa) ''' relS = self.S0 / self.surface(Z) abs_perm = self.epsilon0 * self.epsilonR # F/m return - relS * Qm**2 / (2 * abs_perm) # Pa def findDeltaEq(self, Qm): ''' Compute the Delta that cancels out the (Pm + Pec) equation at Z = 0 for a given membrane charge density, using the Brent method to refine the pressure root iteratively. :param Qm: membrane charge density (C/m2) :return: equilibrium value (m) and associated pressure (Pa) ''' def dualPressure(Delta): x = (self.Delta_ / Delta) return (self.pDelta * (x**self.m - x**self.n) + self.Pelec(0.0, Qm)) Delta_eq = brentq(dualPressure, 0.1 * self.Delta_, 2.0 * self.Delta_, xtol=1e-16) logger.debug('∆eq = %.2f nm', Delta_eq * 1e9) return (Delta_eq, dualPressure(Delta_eq)) def gasFlux(self, Z, P): ''' Gas molar flux through the sonophore boundary layers :param Z: leaflet apex deflection (m) :param P: internal gas pressure (Pa) :return: gas molar flux (mol/s) ''' dC = self.C0 - P / self.kH return 2 * self.surface(Z) * self.Dgl * dC / self.xi @classmethod def gasmol2Pa(cls, ng, V): ''' Internal gas pressure for a given molar content :param ng: internal molar content (mol) :param V: sonophore inner volume (m^3) :return: internal gas pressure (Pa) ''' return ng * Rg * cls.T / V @classmethod def gasPa2mol(cls, P, V): ''' Internal gas molar content for a given pressure :param P: internal gas pressure (Pa) :param V: sonophore inner volume (m^3) :return: internal gas molar content (mol) ''' return P * V / (Rg * cls.T) def PtotQS(self, Z, ng, Qm, Pac, Pm_comp_method): ''' Net quasi-steady pressure for a given acoustic pressure (Ptot = Pm + Pg + Pec - P0 - Pac) :param Z: leaflet apex deflection (m) :param ng: internal molar content (mol) :param Qm: membrane charge density (C/m2) :param Pac: acoustic pressure (Pa) :param Pm_comp_method: computation method for average intermolecular pressure :return: total balance pressure (Pa) ''' if Pm_comp_method is PmCompMethod.direct: Pm = self.PMavg(Z, self.curvrad(Z), self.surface(Z)) elif Pm_comp_method is PmCompMethod.predict: Pm = self.PMavgpred(Z) return Pm + self.gasmol2Pa(ng, self.volume(Z)) - self.P0 - Pac + self.Pelec(Z, Qm) def balancedefQS(self, ng, Qm, Pac=0.0, Pm_comp_method=PmCompMethod.predict): ''' Quasi-steady equilibrium deflection for a given acoustic pressure (computed by approximating the root of quasi-steady pressure) :param ng: internal molar content (mol) :param Qm: membrane charge density (C/m2) :param Pac: external acoustic perturbation (Pa) :param Pm_comp_method: computation method for average intermolecular pressure :return: leaflet deflection canceling quasi-steady pressure (m) ''' Zbounds = (self.Zmin, self.a) Plb, Pub = [self.PtotQS(x, ng, Qm, Pac, Pm_comp_method) for x in Zbounds] assert (Plb > 0 > Pub), '[{}, {}] is not a sign changing interval for PtotQS'.format(*Zbounds) return brentq(self.PtotQS, *Zbounds, args=(ng, Qm, Pac, Pm_comp_method), xtol=1e-16) def TEleaflet(self, Z): ''' Elastic tension in leaflet :param Z: leaflet apex deflection (m) :return: circumferential elastic tension (N/m) ''' return self.kA * self.arealStrain(Z) def setTissueModulus(self, drive): ''' Set the frequency-dependent elastic modulus of the surrounding tissue. ''' G_tissue = self.alpha * drive.modulationFrequency # G'' (Pa) self.kA_tissue = 2 * G_tissue * self.d # kA of the tissue layer (N/m) def TEtissue(self, Z): ''' Elastic tension in surrounding viscoelastic layer :param Z: leaflet apex deflection (m) :return: circumferential elastic tension (N/m) ''' return self.kA_tissue * self.arealStrain(Z) def TEtot(self, Z): ''' Total elastic tension (leaflet + surrounding viscoelastic layer) :param Z: leaflet apex deflection (m) :return: circumferential elastic tension (N/m) ''' return self.TEleaflet(Z) + self.TEtissue(Z) def PEtot(self, Z, R): ''' Total elastic tension pressure (leaflet + surrounding viscoelastic layer) :param Z: leaflet apex deflection (m) :param R: leaflet curvature radius (m) :return: elastic tension pressure (Pa) ''' return - self.TEtot(Z) / R @classmethod def PVleaflet(cls, U, R): ''' Viscous stress pressure in leaflet :param U: leaflet apex deflection velocity (m/s) :param R: leaflet curvature radius (m) :return: leaflet viscous stress pressure (Pa) ''' return - 12 * U * cls.delta0 * cls.muS / R**2 @classmethod def PVfluid(cls, U, R): ''' Viscous stress pressure in surrounding medium :param U: leaflet apex deflection velocity (m/s) :param R: leaflet curvature radius (m) :return: fluid viscous stress pressure (Pa) ''' return - 4 * U * cls.muL / np.abs(R) @classmethod def accP(cls, Ptot, R): ''' Leaflet transverse acceleration resulting from pressure imbalance :param Ptot: net pressure (Pa) :param R: leaflet curvature radius (m) :return: pressure-driven acceleration (m/s^2) ''' return Ptot / (cls.rhoL * np.abs(R)) @staticmethod def accNL(U, R): ''' Leaflet transverse nonlinear acceleration :param U: leaflet apex deflection velocity (m/s) :param R: leaflet curvature radius (m) :return: nonlinear acceleration term (m/s^2) .. note:: A simplified version of nonlinear acceleration (neglecting dR/dH) is used here. ''' # return - (3/2 - 2*R/H) * U**2 / R return -(3 * U**2) / (2 * R) @staticmethod def checkInputs(drive, Qm, Pm_comp_method): ''' Check validity of stimulation parameters :param drive: acoustic drive object :param Qm: imposed membrane charge density (C/m2) :param Pm_comp_method: type of method used to compute average intermolecular pressure ''' if not isinstance(drive, Drive): raise TypeError(f'Invalid "drive" parameter (must be an "Drive" object)') if not isinstance(Qm, float): raise TypeError(f'Invalid "Qm" parameter (must be float typed)') Qmin, Qmax = CHARGE_RANGE if Qm < Qmin or Qm > Qmax: raise ValueError( f'Invalid applied charge: {Qm * 1e5} nC/cm2 (must be within [{Qmin * 1e5}, {Qmax * 1e5}] interval') if not isinstance(Pm_comp_method, PmCompMethod): raise TypeError('Invalid Pm computation method (must be "PmCompmethod" type)') def derivatives(self, t, y, drive, Qm, Pm_comp_method=PmCompMethod.predict): ''' Evolution of the mechanical system :param t: time instant (s) :param y: vector of HH system variables at time t :param drive: acoustic drive object :param Qm: membrane charge density (F/m2) :param Pm_comp_method: computation method for average intermolecular pressure :return: vector of mechanical system derivatives at time t ''' # Split input vector explicitly U, Z, ng = y # Correct deflection value is below critical compression if Z < self.Zmin: logger.warning('Deflection out of range: Z = %.2f nm', Z * 1e9) Z = self.Zmin # Compute curvature radius R = self.curvrad(Z) # Compute total pressure Pg = self.gasmol2Pa(ng, self.volume(Z)) if Pm_comp_method is PmCompMethod.direct: Pm = self.PMavg(Z, self.curvrad(Z), self.surface(Z)) elif Pm_comp_method is PmCompMethod.predict: Pm = self.PMavgpred(Z) Pac = drive.compute(t) Pv = self.PVleaflet(U, R) + self.PVfluid(U, R) Ptot = Pm + Pg - self.P0 - Pac + self.PEtot(Z, R) + Pv + self.Pelec(Z, Qm) # Compute derivatives dUdt = self.accP(Ptot, R) + self.accNL(U, R) dZdt = U dngdt = self.gasFlux(Z, Pg) # Return derivatives vector return [dUdt, dZdt, dngdt] def computeInitialDeflection(self, drive, Qm, dt, Pm_comp_method=PmCompMethod.predict): ''' Compute non-zero deflection value for a small perturbation (solving quasi-steady equation). ''' Pac = drive.compute(dt) return self.balancedefQS(self.ng0, Qm, Pac, Pm_comp_method) @classmethod @Model.checkOutputDir def simQueue(cls, freqs, amps, charges, **kwargs): drives = AcousticDrive.createQueue(freqs, amps) queue = [] for drive in drives: for Qm in charges: queue.append([drive, Qm]) return queue def simCycles(self, drive, Qm, n=None, Pm_comp_method=PmCompMethod.predict): ''' Simulate for a specific number of cycles or until periodic stabilization, for a specific set of ultrasound parameters, and return output data in a dataframe. :param drive: acoustic drive object :param Qm: imposed membrane charge density (C/m2) :param n: number of cycles (optional) :param Pm_comp_method: type of method used to compute average intermolecular pressure :return: output dataframe ''' # Determine time step dt = drive.dt # Determine stop function if n is not None: stopfunc = lambda t, _, T: t[-1] > (n - 1) * T else: stopfunc = None # Set the tissue elastic modulus self.setTissueModulus(drive) # Compute initial non-zero deflection Z = self.computeInitialDeflection(drive, Qm, dt, Pm_comp_method=Pm_comp_method) # Set initial conditions y0 = np.array([0., 0., self.ng0]) y1 = np.array([0., Z, self.ng0]) # Initialize simulator and compute solution simulator = PeriodicSimulator( lambda t, y: self.derivatives(t, y, drive, Qm, Pm_comp_method), ivars_to_check=[1, 2], stopfunc=stopfunc) t, y, stim = simulator(y1, dt, drive.periodicity) # Prepend initial conditions (prior to stimulation) t, y, stim = simulator.prependSolution(t, y, stim, y0=y0) # Set last stimulation state to zero stim[-1] = 0 # Store output in dataframe and return return pd.DataFrame({ 't': t, 'stimstate': stim, 'Z': y[:, 1], 'ng': y[:, 2] }) @Model.addMeta @Model.logDesc @Model.checkSimParams def simulate(self, drive, Qm, Pm_comp_method=PmCompMethod.predict): ''' Wrapper around the simUntilConvergence method, with decorators. ''' return self.simCycles(drive, Qm, Pm_comp_method=Pm_comp_method) def meta(self, drive, Qm, Pm_comp_method): return { 'simkey': self.simkey, 'a': self.a, 'd': self.d, 'Cm0': self.Cm0, 'Qm0': self.Qm0, 'drive': drive, 'Qm': Qm, 'Pm_comp_method': Pm_comp_method } def desc(self, meta): return f'{self}: simulation @ {meta["drive"].desc}, Q = {si_format(meta["Qm"] * 1e-4, 2)}C/cm2' def getCycleProfiles(self, drive, Qm): ''' Simulate mechanical system and compute pressures over the last acoustic cycle :param drive: acoustic drive object :param Qm: imposed membrane charge density (C/m2) :return: dataframe with the time, kinematic and pressure profiles over the last cycle. ''' # Run default simulation and retrieve last cycle solution logger.info(f'Running mechanical simulation (a = {si_format(self.a, 1)}m, {drive.desc})') data = self.simulate( drive, Qm, Pm_comp_method=PmCompMethod.direct)[0].iloc[-drive.nPerCycle:, :] # Extract relevant variables and de-offset time vector t, Z, ng = [data[key].values for key in ['t', 'Z', 'ng']] dt = (t[-1] - t[0]) / (NPC_DENSE - 1) t -= t[0] # Compute pressure cyclic profiles logger.info('Computing pressure cyclic profiles') R = self.v_curvrad(Z) U = np.diff(Z) / dt U = np.hstack((U, U[-1])) data = { 't': t, 'Z': Z, 'Cm': self.v_capacitance(Z), 'P_M': self.v_PMavg(Z, R, self.surface(Z)), 'P_Q': self.Pelec(Z, Qm), 'P_{VE}': self.PEtot(Z, R) + self.PVleaflet(U, R), 'P_V': self.PVfluid(U, R), 'P_G': self.gasmol2Pa(ng, self.volume(Z)), 'P_0': - np.ones(Z.size) * self.P0 } return pd.DataFrame(data, columns=data.keys()) diff --git a/PySONIC/core/drives.py b/PySONIC/core/drives.py index c1b4509..72cd387 100644 --- a/PySONIC/core/drives.py +++ b/PySONIC/core/drives.py @@ -1,455 +1,463 @@ # -*- coding: utf-8 -*- # @Author: Theo Lemaire # @Email: theo.lemaire@epfl.ch # @Date: 2020-01-30 11:46:47 # @Last Modified by: Theo Lemaire -# @Last Modified time: 2020-02-05 18:13:28 +# @Last Modified time: 2020-02-10 16:09:09 import abc import numpy as np from ..utils import si_format, StimObject from ..constants import NPC_DENSE, NPC_SPARSE from .batches import Batch class Drive(StimObject): ''' Generic interface to drive object. ''' @abc.abstractmethod def __repr__(self): ''' String representation. ''' raise NotImplementedError @abc.abstractmethod def __eq__(self, other): ''' Equality operator. ''' raise NotImplementedError @abc.abstractmethod def copy(self): ''' String representation. ''' raise NotImplementedError @property @abc.abstractmethod def meta(self): raise NotImplementedError @property @abc.abstractmethod def desc(self): raise NotImplementedError @property @abc.abstractmethod def filecodes(self): raise NotImplementedError @abc.abstractmethod def compute(self, t): ''' Compute the input drive at a specific time. :param t: time (s) :return: specific input drive ''' raise NotImplementedError @classmethod def createQueue(cls, *args): ''' Create a list of Drive objects for combinations of input parameters. ''' if len(args) == 1: return [cls(item) for item in args[0]] else: return [cls(*item) for item in Batch.createQueue(*args)] @property def is_searchable(self): return False class XDrive(Drive): ''' Drive object that can be titrated to find the threshold value of one of its inputs. ''' @property @abc.abstractmethod def xvar(self): raise NotImplementedError @xvar.setter @abc.abstractmethod def xvar(self, value): raise NotImplementedError def updatedX(self, value): other = self.copy() other.xvar = value return other @property def is_searchable(self): return True @property def is_resolved(self): return self.xvar is not None class ElectricDrive(XDrive): ''' Electric drive object with constant amplitude. ''' xkey = 'I' def __init__(self, I): ''' Constructor. :param A: current density (mA/m2) ''' self.I = I @property def I(self): return self._I @I.setter def I(self, value): if value is not None: value = self.checkFloat('I', value) self._I = value def __eq__(self, other): if not isinstance(other, self.__class__): return False return self.I == other.I def __repr__(self): params = [] if self.I is not None: params.append(f'{si_format(self.I * 1e-3, 1, space="")}A/m2') return f'{self.__class__.__name__}({", ".join(params)})' @property def xvar(self): return self.I @xvar.setter def xvar(self, value): self.I = value def copy(self): return self.__class__(self.I) @staticmethod def inputs(): return { 'I': { 'desc': 'current density amplitude', 'label': 'I', 'unit': 'mA/m2', 'factor': 1e0, 'precision': 1 } } @property def meta(self): return {'I': self.I} @property def desc(self): return f'I = {si_format(self.I * 1e-3, 2)}A/m2' @property def filecodes(self): return {'I': f'{self.I:.2f}mAm2'} def compute(self, t): return self.I class VoltageDrive(Drive): ''' Voltage drive object with a held potential and a step potential. ''' def __init__(self, Vhold, Vstep): ''' Constructor. :param Vhold: held voltage (mV) :param Vstep: step voltage (mV) ''' self.Vhold = Vhold self.Vstep = Vstep @property def Vhold(self): return self._Vhold @Vhold.setter def Vhold(self, value): value = self.checkFloat('Vhold', value) self._Vhold = value @property def Vstep(self): return self._Vstep @Vstep.setter def Vstep(self, value): value = self.checkFloat('Vstep', value) self._Vstep = value def __eq__(self, other): if not isinstance(other, self.__class__): return False return self.Vhold == other.Vhold and self.Vstep == other.Vstep def __repr__(self): return f'{self.__class__.__name__}({self.desc})' def copy(self): return self.__class__(self.Vhold, self.Vstep) @staticmethod def inputs(): return { 'Vhold': { 'desc': 'held voltage', 'label': 'V_{hold}', 'unit': 'mV', 'precision': 0 }, 'Vstep': { 'desc': 'step voltage', 'label': 'V_{step}', 'unit': 'mV', 'precision': 0 } } @property def meta(self): return { 'Vhold': self.Vhold, 'Vstep': self.Vstep, } @property def desc(self): return f'Vhold = {self.Vhold:.1f}mV, Vstep = {self.Vstep:.1f}mV' @property def filecodes(self): return { 'Vhold': f'{self.Vhold:.1f}mV', 'Vstep': f'{self.Vstep:.1f}mV', } def compute(self, t): return self.Vstep class AcousticDrive(XDrive): ''' Acoustic drive object with intrinsic frequency and amplitude. ''' xkey = 'A' def __init__(self, f, A, phi=np.pi): ''' Constructor. :param f: carrier frequency (Hz) :param A: peak pressure amplitude (Pa) :param phi: phase (rad) ''' self.f = f self.A = A self.phi = phi @property def f(self): return self._f @f.setter def f(self, value): value = self.checkFloat('f', value) self.checkStrictlyPositive('f', value) self._f = value @property def A(self): return self._A @A.setter def A(self, value): if value is not None: value = self.checkFloat('A', value) self.checkPositiveOrNull('A', value) self._A = value @property def phi(self): return self._phi @phi.setter def phi(self, value): value = self.checkFloat('phi', value) self._phi = value @property def xvar(self): return self.A @xvar.setter def xvar(self, value): self.A = value def __repr__(self): params = [f'{si_format(self.f, 1, space="")}Hz'] if self.A is not None: params.append(f'{si_format(self.A, 1, space="")}Pa') return f'{self.__class__.__name__}({", ".join(params)})' def __eq__(self, other): if not isinstance(other, self.__class__): return False return self.f == other.f and self.A == other.A and self.phi == other.phi def copy(self): return self.__class__(self.f, self.A, phi=self.phi) @staticmethod def inputs(): return { 'f': { 'desc': 'US drive frequency', 'label': 'f', 'unit': 'kHz', 'factor': 1e-3, 'precision': 0 }, 'A': { 'desc': 'US pressure amplitude', 'label': 'A', 'unit': 'kPa', 'factor': 1e-3, 'precision': 2 }, 'phi': { 'desc': 'US drive phase', 'label': '\Phi', 'unit': 'rad', 'precision': 2 } } @property def meta(self): return { 'f': self.f, 'A': self.A } @property def desc(self): return 'f = {}Hz, A = {}Pa'.format(*si_format([self.f, self.A], 2)) @property def filecodes(self): return { 'f': f'{self.f * 1e-3:.0f}kHz', 'A': f'{self.A * 1e-3:.2f}kPa' } @property def dt(self): ''' Determine integration time step. ''' return 1 / (NPC_DENSE * self.f) @property def dt_sparse(self): return 1 / (NPC_SPARSE * self.f) @property def periodicity(self): ''' Determine drive periodicity. ''' return 1. / self.f @property def nPerCycle(self): return NPC_DENSE @property def modulationFrequency(self): return self.f def compute(self, t): return self.A * np.sin(2 * np.pi * self.f * t - self.phi) class AcousticDriveArray(Drive): def __init__(self, drives): self.drives = {f'source {i + 1}': s for i, s in enumerate(drives)} def __eq__(self, other): if not isinstance(other, self.__class__): return False if self.ndrives != other.ndrives: return False if list(self.drives.keys()) != list(other.drives.keys()): return False for k, v in self.drives.items(): if other.drives[k] != v: return False return True + def __repr__(self): + params = [repr(drive) for drive in self.drives.values()] + return f'{self.__class__.__name__}({", ".join(params)})' + + @staticmethod + def inputs(): + return self.drives.values()[0].inputs() + def copy(self): return self.__class__([x.copy() for x in self.drives.values()]) @property def ndrives(self): return len(self.drives) @property def meta(self): return {k: s.meta for k, s in self.drives.items()} @property def desc(self): descs = [f'[{s.desc}]' for k, s in self.drives.items()] return ', '.join(descs) @property def filecodes(self): return {k: s.filecodes for k, s in self.drives.items()} @property def fmax(self): return max(s.f for s in self.drives.values()) @property def fmin(self): return min(s.f for s in self.drives.values()) @property def dt(self): return 1 / (NPC_DENSE * self.fmax) @property def dt_sparse(self): return 1 / (NPC_SPARSE * self.fmax) @property def periodicity(self): if self.ndrives > 2: raise ValueError('cannot compute periodicity for more than two drives') return 1 / (self.fmax - self.fmin) @property def nPerCycle(self): return int(self.periodicity // self.dt) @property def modulationFrequency(self): return np.mean([s.f for s in self.drives.values()]) def compute(self, t): return sum(s.compute(t) for s in self.drives.values()) diff --git a/PySONIC/core/model.py b/PySONIC/core/model.py index a0b6347..9946401 100644 --- a/PySONIC/core/model.py +++ b/PySONIC/core/model.py @@ -1,242 +1,246 @@ # -*- coding: utf-8 -*- # @Author: Theo Lemaire # @Email: theo.lemaire@epfl.ch # @Date: 2017-08-03 11:53:04 # @Last Modified by: Theo Lemaire -# @Last Modified time: 2020-02-05 18:19:30 +# @Last Modified time: 2020-02-11 07:49:51 import os from functools import wraps from inspect import signature, getdoc import pickle import abc import inspect import numpy as np from .batches import Batch from ..utils import * class Model(metaclass=abc.ABCMeta): ''' Generic model interface. ''' @property @abc.abstractmethod def tscale(self): ''' Relevant temporal scale of the model. ''' raise NotImplementedError @property @abc.abstractmethod def simkey(self): ''' Keyword used to characterize simulations made with the model. ''' raise NotImplementedError @abc.abstractmethod def __repr__(self): ''' String representation. ''' raise NotImplementedError def params(self): ''' Return a dictionary of all model parameters (class and instance attributes) ''' def toAvoid(p): return (p.startswith('__') and p.endswith('__')) or p.startswith('_abc_') class_attrs = inspect.getmembers(self.__class__, lambda a: not(inspect.isroutine(a))) inst_attrs = inspect.getmembers(self, lambda a: not(inspect.isroutine(a))) class_attrs = [a for a in class_attrs if not toAvoid(a[0])] inst_attrs = [a for a in inst_attrs if not toAvoid(a[0]) and a not in class_attrs] params_dict = {a[0]: a[1] for a in class_attrs + inst_attrs} return params_dict @classmethod def description(cls): return getdoc(cls).split('\n', 1)[0].strip() + @abc.abstractmethod + def copy(self): + raise NotImplementedError + @staticmethod @abc.abstractmethod def inputs(): ''' Return an informative dictionary on input variables used to simulate the model. ''' raise NotImplementedError @abc.abstractmethod def filecodes(self, *args): ''' Return a dictionary of string-encoded inputs used for file naming. ''' raise NotImplementedError def filecode(self, *args): return filecode(self, *args) @classmethod @abc.abstractmethod def getPltVars(self, *args, **kwargs): ''' Return a dictionary with information about all plot variables related to the model. ''' raise NotImplementedError @property @abc.abstractmethod def pltScheme(self): ''' Return a dictionary model plot variables grouped by context. ''' raise NotImplementedError @staticmethod def checkOutputDir(queuefunc): ''' Check if an output directory is provided in input arguments, and if so, add it to each item of the returned queue (along with an "overwrite" boolean). ''' @wraps(queuefunc) def wrapper(self, *args, **kwargs): outputdir = kwargs.get('outputdir') queue = queuefunc(self, *args, **kwargs) if outputdir is not None: overwrite = kwargs.get('overwrite', True) queue = queuefunc(self, *args, **kwargs) for i, params in enumerate(queue): position_args, keyword_args = Batch.resolve(params) keyword_args['overwrite'] = overwrite keyword_args['outputdir'] = outputdir queue[i] = (position_args, keyword_args) else: if len(queue) > 5: logger.warning('Running more than 5 simulations without file saving') return queue return wrapper @classmethod @abc.abstractmethod def simQueue(cls, *args, outputdir=None, overwrite=True): raise NotImplementedError @staticmethod @abc.abstractmethod def checkInputs(self, *args): ''' Check the validity of simulation input parameters. ''' raise NotImplementedError @abc.abstractmethod def derivatives(self, *args, **kwargs): ''' Compute ODE derivatives for a specific set of ODE states and external parameters. ''' raise NotImplementedError @abc.abstractmethod def simulate(self, *args, **kwargs): ''' Simulate the model's differential system for specific input parameters and return output data in a dataframe. ''' raise NotImplementedError @classmethod @abc.abstractmethod def meta(self, *args): ''' Return an informative dictionary about model and simulation parameters. ''' raise NotImplementedError @staticmethod def addMeta(simfunc): ''' Add an informative dictionary about model and simulation parameters to simulation output ''' @wraps(simfunc) def wrapper(self, *args, **kwargs): data, tcomp = timer(simfunc)(self, *args, **kwargs) logger.debug('completed in %ss', si_format(tcomp, 1)) # Add keyword arguments from simfunc signature if not provided bound_args = signature(simfunc).bind(self, *args, **kwargs) bound_args.apply_defaults() target_args = dict(bound_args.arguments) # Try to retrieve meta information try: meta_params_names = list(signature(self.meta).parameters.keys()) meta_params = [target_args[k] for k in meta_params_names] meta = self.meta(*meta_params) except KeyError as err: logger.error(f'Could not find {err} parameter in "{simfunc.__name__}" function') meta = {} # Add computation time to it meta['tcomp'] = tcomp # Return data with meta dict return data, meta return wrapper @staticmethod def logNSpikes(simfunc): ''' Log number of detected spikes on charge profile of simulation output. ''' @wraps(simfunc) def wrapper(self, *args, **kwargs): out = simfunc(self, *args, **kwargs) if out is None: return None data, meta = out nspikes = self.getNSpikes(data) logger.debug(f'{nspikes} spike{plural(nspikes)} detected') return data, meta return wrapper @staticmethod def checkSimParams(simfunc): ''' Check simulation parameters before launching simulation. ''' @wraps(simfunc) def wrapper(self, *args, **kwargs): args, kwargs = alignWithMethodDef(simfunc, args, kwargs) self.checkInputs(*args, *list(kwargs.values())) return simfunc(self, *args, **kwargs) return wrapper @staticmethod def logDesc(simfunc): ''' Log description of model and simulation parameters. ''' @wraps(simfunc) def wrapper(self, *args, **kwargs): args, kwargs = alignWithMethodDef(simfunc, args, kwargs) logger.info(self.desc(self.meta(*args, *list(kwargs.values())))) return simfunc(self, *args, **kwargs) return wrapper @staticmethod def checkTitrate(simfunc): ''' If unresolved drive provided in the list of input parameters, perform a titration to find the threshold drive, and simulate with resolved drive. ''' @wraps(simfunc) def wrapper(self, *args, **kwargs): # Extract drive object from args drive, *other_args = args # If drive is titratable and not fully resolved if drive.is_searchable: if not drive.is_resolved: # Titrate xthr = self.titrate(*args) # If no threshold was found, return None if np.isnan(xthr): logger.error(f'Could not find threshold {drive.inputs()[drive.xkey]["desc"]}') return None # Otherwise, update args list with resovled drive args = (drive.updatedX(xthr), *other_args) # Execute simulation function return simfunc(self, *args, **kwargs) return wrapper def simAndSave(self, *args, **kwargs): return simAndSave(self, *args, **kwargs) def getOutput(self, outputdir, *args): ''' Get simulation output data for a specific parameters combination, by looking for an output file into a specific directory. If a corresponding output file is not found in the specified directory, the model is first run and results are saved in the output file. ''' fpath = f'{outputdir}/{self.filecode(*args)}.pkl' if not os.path.isfile(fpath): self.simAndSave(outputdir, *args, outputdir=outputdir) return loadData(fpath) diff --git a/PySONIC/core/nbls.py b/PySONIC/core/nbls.py index a72c21f..3e05732 100644 --- a/PySONIC/core/nbls.py +++ b/PySONIC/core/nbls.py @@ -1,693 +1,696 @@ # -*- coding: utf-8 -*- # @Author: Theo Lemaire # @Email: theo.lemaire@epfl.ch # @Date: 2016-09-29 16:16:19 # @Last Modified by: Theo Lemaire -# @Last Modified time: 2020-02-03 22:45:12 +# @Last Modified time: 2020-02-11 07:51:37 import time from copy import deepcopy import logging import numpy as np import pandas as pd from .simulators import PWSimulator, HybridSimulator, PeriodicSimulator from .bls import BilayerSonophore from .pneuron import PointNeuron from .model import Model from .drives import Drive, AcousticDrive from .protocols import TimeProtocol, PulsedProtocol from ..utils import * from ..threshold import threshold from ..constants import * from ..postpro import getFixedPoints from .lookups import EffectiveVariablesLookup from ..neurons import getPointNeuron NEURONS_LOOKUP_DIR = os.path.abspath(os.path.split(__file__)[0] + "/../lookups/") class NeuronalBilayerSonophore(BilayerSonophore): ''' This class inherits from the BilayerSonophore class and receives an PointNeuron instance at initialization, to define the electro-mechanical NICE model and its SONIC variant. ''' tscale = 'ms' # relevant temporal scale of the model simkey = 'ASTIM' # keyword used to characterize simulations made with this model def __init__(self, a, pneuron, embedding_depth=0.0): ''' Constructor of the class. :param a: in-plane radius of the sonophore structure within the membrane (m) :param pneuron: point-neuron model :param embedding_depth: depth of the embedding tissue around the membrane (m) ''' # Check validity of input parameters if not isinstance(pneuron, PointNeuron): raise ValueError(f'Invalid neuron type: "{pneuron.name}" (must inherit from PointNeuron class)') self.pneuron = pneuron # Initialize BilayerSonophore parent object super().__init__(a, pneuron.Cm0, pneuron.Qm0, embedding_depth=embedding_depth) def __repr__(self): s = f'{self.__class__.__name__}({self.a * 1e9:.1f} nm, {self.pneuron}' if self.d > 0.: s += f', d={si_format(self.d, precision=1)}m' return f'{s})' + def copy(self): + return self.__class__(self.a, self.pneuron, embedding_depth=self.d) + @classmethod def initFromMeta(cls, meta): return cls(meta['a'], getPointNeuron(meta['neuron']), embedding_depth=meta['d']) def params(self): return {**super().params(), **self.pneuron.params()} def getPltVars(self, wrapleft='df["', wrapright='"]'): return {**super().getPltVars(wrapleft, wrapright), **self.pneuron.getPltVars(wrapleft, wrapright)} @property def pltScheme(self): return self.pneuron.pltScheme def filecode(self, *args): return Model.filecode(self, *args) @staticmethod def inputs(): # Get parent input vars and supress irrelevant entries inputvars = BilayerSonophore.inputs() del inputvars['Qm'] # Fill in current input vars in appropriate order inputvars.update({ **AcousticDrive.inputs(), 'fs': { 'desc': 'sonophore membrane coverage fraction', 'label': 'f_s', 'unit': '\%', 'factor': 1e2, 'precision': 0 }, 'method': None }) return inputvars def filecodes(self, drive, pp, fs, method, qss_vars): codes = { 'simkey': self.simkey, 'neuron': self.pneuron.name, 'nature': pp.nature, 'a': f'{self.a * 1e9:.0f}nm', **drive.filecodes, **pp.filecodes, } codes['fs'] = f'fs{fs * 1e2:.0f}%' if fs < 1 else None codes['method'] = method codes['qss_vars'] = qss_vars return codes @staticmethod def interpOnOffVariable(key, Qm, stim, lkp): ''' Interpolate Q-dependent effective variable along ON and OFF periods of a solution. :param key: lookup variable key :param Qm: charge density solution vector :param stim: stimulation state solution vector :param lkp: dictionary of lookups for ON and OFF states :return: interpolated effective variable vector ''' x = np.zeros(stim.size) x[stim == 0] = lkp['OFF'].interpVar1D(Qm[stim == 0], key) x[stim == 1] = lkp['ON'].interpVar1D(Qm[stim == 1], key) return x @staticmethod def spatialAverage(fs, x, x0): ''' fs-modulated spatial averaging. ''' return fs * x + (1 - fs) * x0 @timer def computeEffVars(self, drive, Qm, fs): ''' Compute "effective" coefficients of the HH system for a specific acoustic stimulus and charge density. A short mechanical simulation is run while imposing the specific charge density, until periodic stabilization. The HH coefficients are then averaged over the last acoustic cycle to yield "effective" coefficients. :param drive: acoustic drive object :param Qm: imposed charge density (C/m2) :param fs: list of sonophore membrane coverage fractions :return: list with computation time and a list of dictionaries of effective variables ''' # Run simulation and retrieve deflection and gas content vectors from last cycle data = BilayerSonophore.simCycles(self, drive, Qm) Z_last = data.loc[-NPC_DENSE:, 'Z'].values # m Cm_last = self.v_capacitance(Z_last) # F/m2 # For each coverage fraction effvars = [] for x in fs: # Compute membrane capacitance and membrane potential vectors Cm = self.spatialAverage(x, Cm_last, self.Cm0) # F/m2 Vm = Qm / Cm * 1e3 # mV # Compute average cycle value for membrane potential and rate constants effvars.append({**{'V': np.mean(Vm)}, **self.pneuron.getEffRates(Vm)}) # Log process log = f'{self}: lookups @ {drive.desc}, {Qm * 1e5:.2f} nC/cm2' if len(fs) > 1: log += f', fs = {fs.min() * 1e2:.0f} - {fs.max() * 1e2:.0f}%' logger.info(log) # Return effective coefficients return effvars def getLookupFileName(self, a=None, f=None, A=None, fs=False): fname = f'{self.pneuron.name}_lookups' if a is not None: fname += f'_{a * 1e9:.0f}nm' if f is not None: fname += f'_{f * 1e-3:.0f}kHz' if A is not None: fname += f'_{A * 1e-3:.0f}kPa' if fs is True: fname += '_fs' return f'{fname}.pkl' def getLookupFilePath(self, *args, **kwargs): return os.path.join(NEURONS_LOOKUP_DIR, self.getLookupFileName(*args, **kwargs)) def getLookup(self, *args, **kwargs): keep_tcomp = kwargs.pop('keep_tcomp', False) lookup_path = self.getLookupFilePath(*args, **kwargs) lkp = EffectiveVariablesLookup.fromPickle(lookup_path) if not keep_tcomp: del lkp.tables['tcomp'] return lkp def getLookup2D(self, f, fs): proj_kwargs = {'a': self.a, 'f': f, 'fs': fs} if fs < 1.: kwargs = proj_kwargs.copy() kwargs['fs'] = True else: kwargs = {} return self.getLookup(**kwargs).projectN(proj_kwargs) def fullDerivatives(self, t, y, drive, fs): ''' Compute the full system derivatives. :param t: specific instant in time (s) :param y: vector of state variables :param drive: acoustic drive object :param fs: sonophore membrane coverage fraction (-) :return: vector of derivatives ''' dydt_mech = BilayerSonophore.derivatives( self, t, y[:3], drive, y[3]) dydt_elec = self.pneuron.derivatives( t, y[3:], Cm=self.spatialAverage(fs, self.capacitance(y[1]), self.Cm0)) return dydt_mech + dydt_elec def effDerivatives(self, t, y, lkp1d, qss_vars): ''' Compute the derivatives of the n-ODE effective system variables, based on 1-dimensional linear interpolation of "effective" coefficients that summarize the system's behaviour over an acoustic cycle. :param t: specific instant in time (s) :param y: vector of HH system variables at time t :param lkp: dictionary of 1D data points of "effective" coefficients over the charge domain, for specific frequency and amplitude values. :param qss_vars: list of QSS variables :return: vector of effective system derivatives at time t ''' # Unpack values and interpolate lookup at current charge density Qm, *states = y lkp0d = lkp1d.interpolate1D(Qm) # Compute states dictionary from differential and QSS variables states_dict = {} i = 0 for k in self.pneuron.statesNames(): if k in qss_vars: states_dict[k] = self.pneuron.quasiSteadyStates()[k](lkp0d) else: states_dict[k] = states[i] i += 1 # Compute charge density derivative dQmdt = - self.pneuron.iNet(lkp0d['V'], states_dict) * 1e-3 # Compute states derivative vector only for differential variable dstates = [] for k in self.pneuron.statesNames(): if k not in qss_vars: dstates.append(self.pneuron.derEffStates()[k](lkp0d, states_dict)) return [dQmdt, *dstates] def __simFull(self, drive, pp, fs): # Determine time step dt = drive.dt # Compute initial non-zero deflection Z = self.computeInitialDeflection(drive, self.Qm0, dt) # Set initial conditions ss0 = self.pneuron.getSteadyStates(self.pneuron.Vm0) y0 = np.concatenate(([0., 0., self.ng0, self.Qm0], ss0)) y1 = np.concatenate(([0., Z, self.ng0, self.Qm0], ss0)) drive_OFF = drive.copy() drive_OFF.A = 0 # Initialize simulator and compute solution logger.debug('Computing detailed solution') simulator = PWSimulator( lambda t, y: self.fullDerivatives(t, y, drive, fs), lambda t, y: self.fullDerivatives(t, y, drive_OFF, fs)) t, y, stim = simulator( y1, dt, pp, target_dt=CLASSIC_TARGET_DT, print_progress=logger.getEffectiveLevel() <= logging.INFO, monitor_func=None) # monitor_func=lambda t, y: f't = {t * 1e3:.5f} ms, Qm = {y[3] * 1e5:.2f} nC/cm2') # Prepend initial conditions (prior to stimulation) t, y, stim = simulator.prependSolution(t, y, stim, y0=y0) # Store output in dataframe and return data = pd.DataFrame({ 't': t, 'stimstate': stim, 'Z': y[:, 1], 'ng': y[:, 2], 'Qm': y[:, 3] }) data['Vm'] = data['Qm'].values / self.spatialAverage( fs, self.v_capacitance(data['Z'].values), self.Cm0) * 1e3 # mV for i in range(len(self.pneuron.states)): data[self.pneuron.statesNames()[i]] = y[:, i + 4] return data def __simHybrid(self, drive, pp, fs): # Determine time steps dt_dense, dt_sparse = [drive.dt, drive.dt_sparse] # Compute initial non-zero deflection Z = self.computeInitialDeflection(drive, self.Qm0, dt_dense) # Set initial conditions ss0 = self.pneuron.getSteadyStates(self.pneuron.Vm0) y0 = np.concatenate(([0., 0., self.ng0, self.Qm0], ss0)) y1 = np.concatenate(([0., Z, self.ng0, self.Qm0], ss0)) drive_OFF = drive.copy() drive_OFF.A = 0 # Initialize simulator and compute solution is_dense_var = np.array([True] * 3 + [False] * (len(self.pneuron.states) + 1)) logger.debug('Computing hybrid solution') simulator = HybridSimulator( lambda t, y: self.fullDerivatives(t, y, drive, fs), lambda t, y: self.fullDerivatives(t, y, drive_OFF, fs), lambda t, y, Cm: self.pneuron.derivatives( t, y, Cm=self.spatialAverage(fs, Cm, self.Cm0)), lambda yref: self.capacitance(yref[1]), is_dense_var, ivars_to_check=[1, 2]) t, y, stim = simulator(y1, dt_dense, dt_sparse, drive.periodicity, pp) # Prepend initial conditions (prior to stimulation) t, y, stim = simulator.prependSolution(t, y, stim, y0=y0) # Store output in dataframe and return data = pd.DataFrame({ 't': t, 'stimstate': stim, 'Z': y[:, 1], 'ng': y[:, 2], 'Qm': y[:, 3] }) data['Vm'] = data['Qm'].values / self.spatialAverage( fs, self.v_capacitance(data['Z'].values), self.Cm0) * 1e3 # mV for i in range(len(self.pneuron.states)): data[self.pneuron.statesNames()[i]] = y[:, i + 4] return data def __simSonic(self, drive, pp, fs, qss_vars=None, pavg=False): # Load appropriate 2D lookups lkp2d = self.getLookup2D(drive.f, fs) # Interpolate 2D lookups at zero and US amplitude logger.debug('Interpolating lookups at A = %.2f kPa and A = 0', drive.A * 1e-3) lkps1d = {'ON': lkp2d.project('A', drive.A), 'OFF': lkp2d.project('A', 0.)} # Adapt lookups and pulsing protocol if pulse-average mode is selected if pavg: lkps1d['ON'] = lkps1d['ON'] * pp.DC + lkps1d['OFF'] * (1 - pp.DC) tstim = (int(pp.tstim * pp.PRF) - 1 + pp.DC) / pp.PRF toffset = pp.tstim + pp.toffset - tstim tp = TimeProtocol(tstim, toffset) # # Determine QSS and differential variables if qss_vars is None: qss_vars = [] diff_vars = [item for item in self.pneuron.statesNames() if item not in qss_vars] # Create 1D lookup of QSS variables with reference charge vector QSS_1D_lkp = { key: EffectiveVariablesLookup( lkps1d['ON'].refs, {k: self.pneuron.quasiSteadyStates()[k](val) for k in qss_vars}) for key, val in lkps1d.items()} # Set initial conditions sstates = [self.pneuron.steadyStates()[k](self.pneuron.Vm0) for k in diff_vars] y0 = np.array([self.Qm0, *sstates]) # Initialize simulator and compute solution logger.debug('Computing effective solution') simulator = PWSimulator( lambda t, y: self.effDerivatives(t, y, lkps1d['ON'], qss_vars), lambda t, y: self.effDerivatives(t, y, lkps1d['OFF'], qss_vars)) t, y, stim = simulator(y0, self.pneuron.chooseTimeStep(), pp) # Prepend initial conditions (prior to stimulation) t, y, stim = simulator.prependSolution(t, y, stim) # Store output vectors in dataframe: time, stim state, charge, potential # and other differential variables data = pd.DataFrame({ 't': t, 'stimstate': stim, 'Qm': y[:, 0] }) data['Vm'] = self.interpOnOffVariable('V', data['Qm'].values, stim, lkps1d) for key in ['Z', 'ng']: data[key] = np.full(t.size, np.nan) for i, k in enumerate(diff_vars): data[k] = y[:, i + 1] # Interpolate QSS variables along charge vector and store them in dataframe for k in qss_vars: data[k] = self.interpOnOffVariable(k, data['Qm'].values, stim, QSS_1D_lkp) return data def intMethods(self): ''' Listing of model integration methods. ''' return { 'full': self.__simFull, 'hybrid': self.__simHybrid, 'sonic': self.__simSonic } @classmethod @Model.checkOutputDir def simQueue(cls, freqs, amps, durations, offsets, PRFs, DCs, fs, methods, qss_vars, **kwargs): ''' Create a serialized 2D array of all parameter combinations for a series of individual parameter sweeps, while avoiding repetition of CW protocols for a given PRF sweep. :param freqs: list (or 1D-array) of US frequencies :param amps: list (or 1D-array) of acoustic amplitudes :param durations: list (or 1D-array) of stimulus durations :param offsets: list (or 1D-array) of stimulus offsets (paired with durations array) :param PRFs: list (or 1D-array) of pulse-repetition frequencies :param DCs: list (or 1D-array) of duty cycle values :param fs: sonophore membrane coverage fractions (-) :params methods: integration methods :param qss_vars: QSS variables :return: list of parameters (list) for each simulation ''' if ('full' in methods or 'hybrid' in methods) and kwargs['outputdir'] is None: logger.warning('Running cumbersome simulation(s) without file saving') if amps is None: amps = [None] drives = AcousticDrive.createQueue(freqs, amps) protocols = PulsedProtocol.createQueue(durations, offsets, PRFs, DCs) queue = [] for drive in drives: for pp in protocols: for cov in fs: for method in methods: queue.append([drive, pp, cov, method, qss_vars]) return queue def checkInputs(self, drive, pp, fs, method, qss_vars): if not isinstance(drive, Drive): raise TypeError(f'Invalid "drive" parameter (must be an "Drive" object)') if not isinstance(pp, PulsedProtocol): raise TypeError('Invalid pulsed protocol (must be "PulsedProtocol" instance)') if not isinstance(fs, float): raise TypeError(f'Invalid "fs" parameter (must be float typed)') if qss_vars is not None: if not isIterable(qss_vars) or not isinstance(qss_vars[0], str): raise ValueError('Invalid QSS variables: must be None or an iterable of strings') sn = self.pneuron.statesNames() for item in qss_vars: if item not in sn: raise ValueError(f'Invalid QSS variable: {item} (must be in {sn}') if method not in list(self.intMethods().keys()): raise ValueError(f'Invalid integration method: "{method}"') @Model.logNSpikes @Model.checkTitrate @Model.addMeta @Model.logDesc @Model.checkSimParams def simulate(self, drive, pp, fs=1., method='sonic', qss_vars=None): ''' Simulate the electro-mechanical model for a specific set of US stimulation parameters, and return output data in a dataframe. :param drive: acoustic drive object :param pp: pulse protocol object :param fs: sonophore membrane coverage fraction (-) :param method: selected integration method :return: output dataframe ''' # Set the tissue elastic modulus self.setTissueModulus(drive) # Call appropriate simulation function and return simfunc = self.intMethods()[method] simargs = [drive, pp, fs] if method == 'sonic': simargs.append(qss_vars) return simfunc(*simargs) def meta(self, drive, pp, fs, method, qss_vars): return { 'simkey': self.simkey, 'neuron': self.pneuron.name, 'a': self.a, 'd': self.d, 'drive': drive, 'pp': pp, 'fs': fs, 'method': method, 'qss_vars': qss_vars } def desc(self, meta): s = f'{self}: {meta["method"]} simulation @ {meta["drive"].desc}, {meta["pp"].desc}' if meta['fs'] < 1.0: s += f', fs = {(meta["fs"] * 1e2):.2f}%' if 'qss_vars' in meta and meta['qss_vars'] is not None: s += f" - QSS ({', '.join(meta['qss_vars'])})" return s @staticmethod def getNSpikes(data): return PointNeuron.getNSpikes(data) @property def Arange(self): return (0., self.getLookup().refs['A'].max()) @logCache(os.path.join(os.path.split(__file__)[0], 'astim_titrations.log')) def titrate(self, drive, pp, fs=1., method='sonic', qss_vars=None, xfunc=None, Arange=None): ''' Use a binary search to determine the threshold amplitude needed to obtain neural excitation for a given frequency and pulsed protocol. :param drive: unresolved acoustic drive object :param pp: pulse protocol object :param fs: sonophore membrane coverage fraction (-) :param method: integration method :param xfunc: function determining whether condition is reached from simulation output :param Arange: search interval for acoustic amplitude, iteratively refined :return: determined threshold amplitude (Pa) ''' # Default output function if xfunc is None: xfunc = self.pneuron.titrationFunc # Default amplitude interval if Arange is None: Arange = self.Arange return threshold( lambda x: xfunc(self.simulate( drive.updatedX(x), pp, fs=fs, method=method, qss_vars=qss_vars)[0]), Arange, x0=ASTIM_AMP_INITIAL, eps_thr=ASTIM_ABS_CONV_THR, rel_eps_thr=1e0, precheck=True) def getQuasiSteadyStates(self, f, amps=None, charges=None, DC=1.0, squeeze_output=False): ''' Compute the quasi-steady state values of the neuron's gating variables for a combination of US amplitudes, charge densities, at a specific US frequency and duty cycle. :param f: US frequency (Hz) :param amps: US amplitudes (Pa) :param charges: membrane charge densities (C/m2) :param DC: duty cycle :return: 4-tuple with reference values of US amplitude and charge density, as well as interpolated Vmeff and QSS gating variables ''' # Get DC-averaged lookups interpolated at the appropriate amplitudes and charges lkp = self.getLookup().projectDC(amps=amps, DC=DC).projectN({'a': self.a, 'f': f}) if charges is not None: lkp = lkp.project('Q', charges) # Specify dimensions with A as the first axis A_axis = lkp.getAxisIndex('A') lkp.move('A', 0) nA = lkp.dims()[0] # Compute QSS states using these lookups QSS = EffectiveVariablesLookup( lkp.refs, {k: v(lkp) for k, v in self.pneuron.quasiSteadyStates().items()}) # Compress outputs if needed if squeeze_output: QSS = QSS.squeeze() lkp = lkp.squeeze() return lkp, QSS def iNetQSS(self, Qm, f, A, DC): ''' Compute quasi-steady state net membrane current for a given combination of US parameters and a given membrane charge density. :param Qm: membrane charge density (C/m2) :param f: US frequency (Hz) :param A: US amplitude (Pa) :param DC: duty cycle (-) :return: net membrane current (mA/m2) ''' lkp, QSS = self.getQuasiSteadyStates( f, amps=A, charges=Qm, DC=DC, squeeze_output=True) return self.pneuron.iNet(lkp['V'], QSS) # mA/m2 def fixedPointsQSS(self, f, A, DC, lkp, dQdt): ''' Compute QSS fixed points along the charge dimension for a given combination of US parameters, and determine their stability. :param f: US frequency (Hz) :param A: US amplitude (Pa) :param DC: duty cycle (-) :param lkp: lookup dictionary for effective variables along charge dimension :param dQdt: charge derivative profile along charge dimension :return: 2-tuple with values of stable and unstable fixed points ''' pltvars = self.getPltVars() logger.debug(f'A = {A * 1e-3:.2f} kPa, DC = {DC * 1e2:.0f}%') # Extract fixed points from QSS charge variation profile def dfunc(Qm): return - self.iNetQSS(Qm, f, A, DC) fixed_points = getFixedPoints( lkp.refs['Q'], dQdt, filter='both', der_func=dfunc).tolist() dfunc = lambda x: np.array(self.effDerivatives(_, x, lkp)) # classified_fixed_points = {'stable': [], 'unstable': [], 'saddle': []} classified_fixed_points = [] np.set_printoptions(precision=2) # For each fixed point for i, Qm in enumerate(fixed_points): # Re-compute QSS at fixed point *_, QSS = self.getQuasiSteadyStates(f, amps=A, charges=Qm, DC=DC, squeeze_output=True) # Classify fixed point stability by numerically evaluating its Jacobian and # computing its eigenvalues x = np.array([Qm, *QSS.tables.values()]) eigvals, key = classifyFixedPoint(x, dfunc) # classified_fixed_points[key].append(Qm) classified_fixed_points.append((x, eigvals, key)) # eigenvalues.append(eigvals) logger.debug(f'{key} point @ Q = {(Qm * 1e5):.1f} nC/cm2') # eigenvalues = np.array(eigenvalues).T # print(eigenvalues.shape) return classified_fixed_points def isStableQSS(self, f, A, DC): lookups, QSS = self.getQuasiSteadyStates( f, amps=A, DCs=DC, squeeze_output=True) dQdt = -self.pneuron.iNet(lookups['V'], QSS.tables) # mA/m2 classified_fixed_points = self.fixedPointsQSS(f, A, DC, lookups, dQdt) return len(classified_fixed_points['stable']) > 0 class DrivenNeuronalBilayerSonophore(NeuronalBilayerSonophore): simkey = 'DASTIM' # keyword used to characterize simulations made with this model def __init__(self, Idrive, *args, **kwargs): self.Idrive = Idrive super().__init__(*args, **kwargs) def __repr__(self): return super().__repr__()[:-1] + f', Idrive = {self.Idrive:.2f} mA/m2)' @classmethod def initFromMeta(cls, meta): return cls(meta['Idrive'], meta['a'], getPointNeuron(meta['neuron']), embedding_depth=meta['d']) def params(self): return {**{'Idrive': self.Idrive}, **super().params()} @staticmethod def inputs(): inputvars = NeuronalBilayerSonophore.inputs() inputvars['Idrive'] = { 'desc': 'driving current density', 'label': 'I_{drive}', 'unit': 'mA/m2', 'factor': 1e0, 'precision': 0 } return inputvars def filecodes(self, *args): codes = super().filecodes(*args) codes['Idrive'] = f'Idrive{self.Idrive:.1f}mAm2' return codes def fullDerivatives(self, *args): dydt = super().fullDerivatives(*args) dydt[3] += self.Idrive * 1e-3 return dydt def effDerivatives(self, *args): dQmdt, *dstates = super().effDerivatives(*args) dQmdt += self.Idrive * 1e-3 return [dQmdt, *dstates] def meta(self, drive, pp, fs, method, qss_vars): d = super().meta(drive, pp, fs, method, qss_vars) d['Idrive'] = self.Idrive return d \ No newline at end of file diff --git a/PySONIC/core/pneuron.py b/PySONIC/core/pneuron.py index b479be3..0fc1b20 100644 --- a/PySONIC/core/pneuron.py +++ b/PySONIC/core/pneuron.py @@ -1,555 +1,558 @@ # -*- coding: utf-8 -*- # @Author: Theo Lemaire # @Email: theo.lemaire@epfl.ch # @Date: 2017-08-03 11:53:04 # @Last Modified by: Theo Lemaire -# @Last Modified time: 2020-02-05 18:12:28 +# @Last Modified time: 2020-02-11 07:50:29 import abc import inspect import numpy as np import pandas as pd from .protocols import PulsedProtocol from .model import Model from .lookups import EffectiveVariablesLookup from .simulators import PWSimulator from .drives import Drive, ElectricDrive from ..postpro import detectSpikes, computeFRProfile from ..constants import * from ..utils import * from ..threshold import threshold class PointNeuron(Model): ''' Generic point-neuron model interface. ''' tscale = 'ms' # relevant temporal scale of the model simkey = 'ESTIM' # keyword used to characterize simulations made with this model def __repr__(self): return self.__class__.__name__ + def copy(self): + return self.__class__() + @property @classmethod @abc.abstractmethod def name(cls): ''' Neuron name. ''' raise NotImplementedError @property @classmethod @abc.abstractmethod def Cm0(cls): ''' Neuron's resting capacitance (F/m2). ''' raise NotImplementedError @property @classmethod @abc.abstractmethod def Vm0(cls): ''' Neuron's resting membrane potential(mV). ''' raise NotImplementedError @property def Qm0(self): return self.Cm0 * self.Vm0 * 1e-3 # C/m2 @staticmethod def inputs(): return ElectricDrive.inputs() @classmethod def filecodes(cls, drive, pp): return { 'simkey': cls.simkey, 'neuron': cls.name, 'nature': pp.nature, **drive.filecodes, **pp.filecodes } @classmethod def getPltVars(cls, wrapleft='df["', wrapright='"]'): pltvars = { 'Qm': { 'desc': 'membrane charge density', 'label': 'Q_m', 'unit': 'nC/cm^2', 'factor': 1e5, 'bounds': ((cls.Vm0 - 20.0) * cls.Cm0 * 1e2, 60) }, 'Vm': { 'desc': 'membrane potential', 'label': 'V_m', 'unit': 'mV', 'bounds': (-150, 70) }, 'ELeak': { 'constant': 'obj.ELeak', 'desc': 'non-specific leakage current resting potential', 'label': 'V_{leak}', 'unit': 'mV', 'ls': '--', 'color': 'k' } } for cname in cls.getCurrentsNames(): cfunc = getattr(cls, cname) cargs = inspect.getargspec(cfunc)[0][1:] pltvars[cname] = { 'desc': inspect.getdoc(cfunc).splitlines()[0], 'label': f'I_{{{cname[1:]}}}', 'unit': 'A/m^2', 'factor': 1e-3, 'func': f"{cname}({', '.join([f'{wrapleft}{a}{wrapright}' for a in cargs])})" } for var in cargs: if var != 'Vm': pltvars[var] = { 'desc': cls.states[var], 'label': var, 'bounds': (-0.1, 1.1) } pltvars['iNet'] = { 'desc': inspect.getdoc(getattr(cls, 'iNet')).splitlines()[0], 'label': 'I_{net}', 'unit': 'A/m^2', 'factor': 1e-3, 'func': f'iNet({wrapleft}Vm{wrapright}, {wrapleft[:-1]}{cls.statesNames()}{wrapright[1:]})', 'ls': '--', 'color': 'black' } pltvars['dQdt'] = { 'desc': inspect.getdoc(getattr(cls, 'dQdt')).splitlines()[0], 'label': 'dQ_m/dt', 'unit': 'A/m^2', 'factor': 1e-3, 'func': f'dQdt({wrapleft}Vm{wrapright}, {wrapleft[:-1]}{cls.statesNames()}{wrapright[1:]})', 'ls': '--', 'color': 'black' } pltvars['iCap'] = { 'desc': inspect.getdoc(getattr(cls, 'iCap')).splitlines()[0], 'label': 'I_{cap}', 'unit': 'A/m^2', 'factor': 1e-3, 'func': f'iCap({wrapleft}t{wrapright}, {wrapleft}Vm{wrapright})' } for rate in cls.rates: if 'alpha' in rate: prefix, suffix = 'alpha', rate[5:] else: prefix, suffix = 'beta', rate[4:] pltvars[rate] = { 'label': '\\{}_{{{}}}'.format(prefix, suffix), 'unit': 'ms^{-1}', 'factor': 1e-3 } pltvars['FR'] = { 'desc': 'riring rate', 'label': 'FR', 'unit': 'Hz', 'factor': 1e0, # 'bounds': (0, 1e3), 'func': f'firingRateProfile({wrapleft[:-2]})' } return pltvars @classmethod def iCap(cls, t, Vm): ''' Capacitive current. ''' dVdt = np.insert(np.diff(Vm) / np.diff(t), 0, 0.) return cls.Cm0 * dVdt @property def pltScheme(self): pltscheme = { 'Q_m': ['Qm'], 'V_m': ['Vm'] } pltscheme['I'] = self.getCurrentsNames() + ['iNet'] for cname in self.getCurrentsNames(): if 'Leak' not in cname: key = f'i_{{{cname[1:]}}}\ kin.' cargs = inspect.getargspec(getattr(self, cname))[0][1:] pltscheme[key] = [var for var in cargs if var not in ['Vm', 'Cai']] return pltscheme @classmethod def statesNames(cls): ''' Return a list of names of all state variables of the model. ''' return list(cls.states.keys()) @classmethod @abc.abstractmethod def derStates(cls): ''' Dictionary of states derivatives functions ''' raise NotImplementedError @classmethod def getDerStates(cls, Vm, states): ''' Compute states derivatives array given a membrane potential and states dictionary ''' return np.array([cls.derStates()[k](Vm, states) for k in cls.statesNames()]) @classmethod @abc.abstractmethod def steadyStates(cls): ''' Return a dictionary of steady-states functions ''' raise NotImplementedError @classmethod def getSteadyStates(cls, Vm): ''' Compute array of steady-states for a given membrane potential ''' return np.array([cls.steadyStates()[k](Vm) for k in cls.statesNames()]) @classmethod def getDerEffStates(cls, lkp, states): ''' Compute effective states derivatives array given lookups and states dictionaries. ''' return np.array([ cls.derEffStates()[k](lkp, states) for k in cls.statesNames()]) @classmethod def getEffRates(cls, Vm): ''' Compute array of effective rate constants for a given membrane potential vector. ''' return {k: np.mean(np.vectorize(v)(Vm)) for k, v in cls.effRates().items()} def getLookup(self): ''' Get lookup of membrane potential rate constants interpolated along the neuron's charge physiological range. ''' Qmin, Qmax = expandRange(*self.Qbounds, exp_factor=10.) Qref = np.arange(Qmin, Qmax, 1e-5) # C/m2 Vref = Qref / self.Cm0 * 1e3 # mV tables = {k: np.vectorize(v)(Vref) for k, v in self.effRates().items()} return EffectiveVariablesLookup({'Q': Qref}, {'V': Vref, **tables}) @classmethod @abc.abstractmethod def currents(cls): ''' Dictionary of ionic currents functions (returning current densities in mA/m2) ''' @classmethod def iNet(cls, Vm, states): ''' net membrane current :param Vm: membrane potential (mV) :states: states of ion channels gating and related variables :return: current per unit area (mA/m2) ''' return sum([cfunc(Vm, states) for cfunc in cls.currents().values()]) @classmethod def dQdt(cls, Vm, states): ''' membrane charge density variation rate :param Vm: membrane potential (mV) :states: states of ion channels gating and related variables :return: variation rate (mA/m2) ''' return -cls.iNet(Vm, states) @classmethod def titrationFunc(cls, *args, **kwargs): ''' Default titration function. ''' return cls.isExcited(*args, **kwargs) @staticmethod def currentToConcentrationRate(z_ion, depth): ''' Compute the conversion factor from a specific ionic current (in mA/m2) into a variation rate of submembrane ion concentration (in M/s). :param: z_ion: ion valence :param depth: submembrane depth (m) :return: conversion factor (Mmol.m-1.C-1) ''' return 1e-6 / (z_ion * depth * FARADAY) @staticmethod def nernst(z_ion, Cion_in, Cion_out, T): ''' Nernst potential of a specific ion given its intra and extracellular concentrations. :param z_ion: ion valence :param Cion_in: intracellular ion concentration :param Cion_out: extracellular ion concentration :param T: temperature (K) :return: ion Nernst potential (mV) ''' return (Rg * T) / (z_ion * FARADAY) * np.log(Cion_out / Cion_in) * 1e3 @staticmethod def vtrap(x, y): ''' Generic function used to compute rate constants. ''' return x / (np.exp(x / y) - 1) @staticmethod def efun(x): ''' Generic function used to compute rate constants. ''' return x / (np.exp(x) - 1) @classmethod def ghkDrive(cls, Vm, Z_ion, Cion_in, Cion_out, T): ''' Use the Goldman-Hodgkin-Katz equation to compute the electrochemical driving force of a specific ion species for a given membrane potential. :param Vm: membrane potential (mV) :param Cin: intracellular ion concentration (M) :param Cout: extracellular ion concentration (M) :param T: temperature (K) :return: electrochemical driving force of a single ion particle (mC.m-3) ''' x = Z_ion * FARADAY * Vm / (Rg * T) * 1e-3 # [-] eCin = Cion_in * cls.efun(-x) # M eCout = Cion_out * cls.efun(x) # M return FARADAY * (eCin - eCout) * 1e6 # mC/m3 @classmethod def xBG(cls, Vref, Vm): ''' Compute dimensionless Borg-Graham ratio for a given voltage. :param Vref: reference voltage membrane (mV) :param Vm: membrane potential (mV) :return: dimensionless ratio ''' return (Vm - Vref) * FARADAY / (Rg * cls.T) * 1e-3 # [-] @classmethod def alphaBG(cls, alpha0, zeta, gamma, Vref, Vm): ''' Compute the activation rate constant for a given voltage and temperature, using a Borg-Graham formalism. :param alpha0: pre-exponential multiplying factor :param zeta: effective valence of the gating particle :param gamma: normalized position of the transition state within the membrane :param Vref: membrane voltage at which alpha = alpha0 (mV) :param Vm: membrane potential (mV) :return: rate constant (in alpha0 units) ''' return alpha0 * np.exp(-zeta * gamma * cls.xBG(Vref, Vm)) @classmethod def betaBG(cls, beta0, zeta, gamma, Vref, Vm): ''' Compute the inactivation rate constant for a given voltage and temperature, using a Borg-Graham formalism. :param beta0: pre-exponential multiplying factor :param zeta: effective valence of the gating particle :param gamma: normalized position of the transition state within the membrane :param Vref: membrane voltage at which beta = beta0 (mV) :param Vm: membrane potential (mV) :return: rate constant (in beta0 units) ''' return beta0 * np.exp(zeta * (1 - gamma) * cls.xBG(Vref, Vm)) @classmethod def getCurrentsNames(cls): return list(cls.currents().keys()) @staticmethod def firingRateProfile(*args, **kwargs): return computeFRProfile(*args, **kwargs) @property def Qbounds(self): ''' Determine bounds of membrane charge physiological range for a given neuron. ''' return np.array([np.round(self.Vm0 - 25.0), 50.0]) * self.Cm0 * 1e-3 # C/m2 @classmethod def isVoltageGated(cls, state): ''' Determine whether a given state is purely voltage-gated or not.''' return f'alpha{state.lower()}' in cls.rates @classmethod @Model.checkOutputDir def simQueue(cls, amps, durations, offsets, PRFs, DCs, **kwargs): ''' Create a serialized 2D array of all parameter combinations for a series of individual parameter sweeps. :param amps: list (or 1D-array) of acoustic amplitudes :param durations: list (or 1D-array) of stimulus durations :param offsets: list (or 1D-array) of stimulus offsets (paired with durations array) :param PRFs: list (or 1D-array) of pulse-repetition frequencies :param DCs: list (or 1D-array) of duty cycle values :return: list of parameters (list) for each simulation ''' if amps is None: amps = [None] drives = ElectricDrive.createQueue(amps) protocols = PulsedProtocol.createQueue(durations, offsets, PRFs, DCs) queue = [] for drive in drives: for pp in protocols: queue.append([drive, pp]) return queue @staticmethod def checkInputs(drive, pp): ''' Check validity of electrical stimulation parameters. :param drive: electric drive object :param pp: pulse protocol object ''' if not isinstance(drive, Drive): raise TypeError(f'Invalid "drive" parameter (must be an "Drive" object)') if not isinstance(pp, PulsedProtocol): raise TypeError('Invalid pulsed protocol (must be "PulsedProtocol" instance)') def chooseTimeStep(self): ''' Determine integration time step based on intrinsic temporal properties. ''' return DT_EFFECTIVE @classmethod def derivatives(cls, t, y, Cm=None, Iinj=0.): ''' Compute system derivatives for a given membrane capacitance and injected current. :param t: specific instant in time (s) :param y: vector of HH system variables at time t :param Cm: membrane capacitance (F/m2) :param Iinj: injected current (mA/m2) :return: vector of system derivatives at time t ''' if Cm is None: Cm = cls.Cm0 Qm, *states = y Vm = Qm / Cm * 1e3 # mV states_dict = dict(zip(cls.statesNames(), states)) dQmdt = (Iinj - cls.iNet(Vm, states_dict)) * 1e-3 # A/m2 return [dQmdt, *cls.getDerStates(Vm, states_dict)] @Model.logNSpikes @Model.checkTitrate @Model.addMeta @Model.logDesc @Model.checkSimParams def simulate(self, drive, pp): ''' Simulate a specific neuron model for a set of simulation parameters, and return output data in a dataframe. :param drive: electric drive object :param pp: pulse protocol object :return: output dataframe ''' # Set initial conditions y0 = np.array((self.Qm0, *self.getSteadyStates(self.Vm0))) # Initialize simulator and compute solution logger.debug('Computing solution') simulator = PWSimulator( lambda t, y: self.derivatives(t, y, Iinj=drive.I), lambda t, y: self.derivatives(t, y, Iinj=0.)) t, y, stim = simulator( y0, self.chooseTimeStep(), pp) # Prepend initial conditions (prior to stimulation) t, y, stim = simulator.prependSolution(t, y, stim) # Store output in dataframe and return data = pd.DataFrame({ 't': t, 'stimstate': stim, 'Qm': y[:, 0], 'Vm': y[:, 0] / self.Cm0 * 1e3, }) for i in range(len(self.states)): data[self.statesNames()[i]] = y[:, i + 1] return data @classmethod def meta(cls, drive, pp): return { 'simkey': cls.simkey, 'neuron': cls.name, 'drive': drive, 'pp': pp } def desc(self, meta): return f'{self}: simulation @ {meta["drive"].desc}, {meta["pp"].desc}' @staticmethod def getNSpikes(data): ''' Compute number of spikes in charge profile of simulation output. :param data: dataframe containing output time series :return: number of detected spikes ''' return detectSpikes(data)[0].size @staticmethod def getStabilizationValue(data): ''' Determine stabilization value from the charge profile of a simulation output. :param data: dataframe containing output time series :return: charge stabilization value (or np.nan if no stabilization detected) ''' # Extract charge signal posterior to observation window t, Qm = [data[key].values for key in ['t', 'Qm']] if t.max() <= TMIN_STABILIZATION: raise ValueError('solution length is too short to assess stabilization') Qm = Qm[t > TMIN_STABILIZATION] # Compute variation range Qm_range = np.ptp(Qm) logger.debug('%.2f nC/cm2 variation range over the last %.0f ms, Qmf = %.2f nC/cm2', Qm_range * 1e5, TMIN_STABILIZATION * 1e3, Qm[-1] * 1e5) # Return final value only if stabilization is detected if np.ptp(Qm) < QSS_Q_DIV_THR: return Qm[-1] else: return np.nan @classmethod def isExcited(cls, data): ''' Determine if neuron is excited from simulation output. :param data: dataframe containing output time series :return: boolean stating whether neuron is excited or not ''' return cls.getNSpikes(data) > 0 @classmethod def isSilenced(cls, data): ''' Determine if neuron is silenced from simulation output. :param data: dataframe containing output time series :return: boolean stating whether neuron is silenced or not ''' return not np.isnan(cls.getStabilizationValue(data)) @property def Arange(self): return (0., ESTIM_AMP_UPPER_BOUND) def titrate(self, drive, pp, xfunc=None, Arange=None): ''' Use a binary search to determine the threshold amplitude needed to obtain neural excitation for a given duration, PRF and duty cycle. :param drive: unresolved electric drive object :param pp: pulsed protocol object :param xfunc: function determining whether condition is reached from simulation output :param Arange: search interval for electric current amplitude, iteratively refined :return: excitation threshold amplitude (mA/m2) ''' # Default output function if xfunc is None: xfunc = self.titrationFunc # Default amplitude interval if Arange is None: Arange = self.Arange return threshold( lambda x: xfunc(self.simulate(drive.updatedX(x), pp)[0]), Arange, x0=ESTIM_AMP_INITIAL, rel_eps_thr=ESTIM_REL_CONV_THR, precheck=False) diff --git a/PySONIC/core/vclamp.py b/PySONIC/core/vclamp.py index 843e22b..be1a1e1 100644 --- a/PySONIC/core/vclamp.py +++ b/PySONIC/core/vclamp.py @@ -1,157 +1,160 @@ # -*- coding: utf-8 -*- # @Author: Theo Lemaire # @Email: theo.lemaire@epfl.ch # @Date: 2019-08-14 13:49:25 # @Last Modified by: Theo Lemaire -# @Last Modified time: 2020-02-03 19:56:15 +# @Last Modified time: 2020-02-11 07:51:06 import numpy as np import pandas as pd from .batches import Batch from .protocols import TimeProtocol from .model import Model from .pneuron import PointNeuron from .simulators import OnOffSimulator from .drives import Drive, VoltageDrive from ..constants import * from ..utils import * from ..neurons import getPointNeuron class VoltageClamp(Model): tscale = 'ms' # relevant temporal scale of the model simkey = 'VCLAMP' # keyword used to characterize simulations made with this model def __init__(self, pneuron): ''' Constructor of the class. :param pneuron: point-neuron model ''' # Check validity of input parameters if not isinstance(pneuron, PointNeuron): raise ValueError( f'Invalid neuron type: "{pneuron.name}" (must inherit from PointNeuron class)') self.pneuron = pneuron def __repr__(self): return f'{self.__class__.__name__}({self.pneuron})' + def copy(self): + return self.__class__(self.pneuron) + @classmethod def initFromMeta(cls, meta): return cls(getPointNeuron(meta['neuron'])) def params(self): return self.pneuron.params() def getPltVars(self, wrapleft='df["', wrapright='"]'): return self.pneuron.getPltVars(wrapleft, wrapright) @property def pltScheme(self): return self.pneuron.pltScheme def filecode(self, *args): return Model.filecode(self, *args) @staticmethod def inputs(): return VoltageDrive.inputs() def filecodes(self, drive, tp): return { 'simkey': self.simkey, 'neuron': self.pneuron.name, **drive.filecodes, **tp.filecodes } @classmethod @Model.checkOutputDir def simQueue(cls, holds, steps, durations, offsets, **kwargs): ''' Create a serialized 2D array of all parameter combinations for a series of individual parameter sweeps. :param holds: list (or 1D-array) of held membrane potentials :param steps: list (or 1D-array) of step membrane potentials :param durations: list (or 1D-array) of stimulus durations :param offsets: list (or 1D-array) of stimulus offsets (paired with durations array) :return: list of parameters (list) for each simulation ''' drives = VoltageDrive.createQueue(holds, steps) protocols = TimeProtocol.createQueue(durations, offsets) queue = [] for drive in drives: for tp in protocols: queue.append([drive, tp]) return queue @staticmethod def checkInputs(drive, tp): ''' Check validity of stimulation parameters. :param drive: voltage drive object :param tp: time protocol object ''' if not isinstance(drive, Drive): raise TypeError(f'Invalid "drive" parameter (must be an "Drive" object)') if not isinstance(tp, TimeProtocol): raise TypeError('Invalid time protocol (must be "TimeProtocol" instance)') def derivatives(self, t, y, Vm=None): if Vm is None: Vm = self.pneuron.Vm0 states_dict = dict(zip(self.pneuron.statesNames(), y)) return self.pneuron.getDerStates(Vm, states_dict) @Model.addMeta @Model.logDesc @Model.checkSimParams def simulate(self, drive, tp): ''' Simulate a specific neuron model for a set of simulation parameters, and return output data in a dataframe. :param drive: voltage drive object :param tp: time protocol object :return: output dataframe ''' # Set initial conditions y0 = self.pneuron.getSteadyStates(drive.Vhold) # Initialize simulator and compute solution logger.debug('Computing solution') simulator = OnOffSimulator( lambda t, y: self.derivatives(t, y, Vm=drive.Vstep), lambda t, y: self.derivatives(t, y, Vm=drive.Vhold)) t, y, stim = simulator(y0, DT_EFFECTIVE, tp) # Prepend initial conditions (prior to stimulation) t, y, stim = simulator.prependSolution(t, y, stim) # Compute clamped membrane potential vector Vm = np.zeros(stim.size) Vm[stim == 0] = drive.Vhold Vm[stim == 1] = drive.Vstep # Store output in dataframe and return data = pd.DataFrame({ 't': t, 'stimstate': stim, 'Qm': Vm * 1e-3 * self.pneuron.Cm0, 'Vm': Vm, }) for i in range(len(self.pneuron.states)): data[self.pneuron.statesNames()[i]] = y[:, i] return data def meta(self, drive, tp): return { 'simkey': self.simkey, 'neuron': self.pneuron.name, 'drive': drive, 'tp': tp } def desc(self, meta): return f'{self}: simulation @ {meta["drive"].desc}, {meta["tp"].desc}' diff --git a/PySONIC/neurons/sundt.py b/PySONIC/neurons/sundt.py index 42a51c3..34597cf 100644 --- a/PySONIC/neurons/sundt.py +++ b/PySONIC/neurons/sundt.py @@ -1,307 +1,307 @@ # -*- coding: utf-8 -*- # @Author: Mariia Popova # @Email: theo.lemaire@epfl.ch # @Date: 2019-10-03 15:58:38 # @Last Modified by: Theo Lemaire -# @Last Modified time: 2020-01-30 16:11:40 +# @Last Modified time: 2020-02-06 12:25:49 import numpy as np from ..core import PointNeuron from ..constants import CELSIUS_2_KELVIN, FARADAY, Rg, Z_Ca from ..utils import findModifiedEq, logger class Sundt(PointNeuron): ''' Unmyelinated C-fiber model. Reference: *Sundt D., Gamper N., Jaffe D. B., Spike propagation through the dorsal root ganglia in an unmyelinated sensory neuron: a modeling study. Journal of Neurophysiology (2015)* ''' # Neuron name name = 'sundt' # ------------------------------ Biophysical parameters ------------------------------ # Resting parameters Cm0 = 1e-2 # Membrane capacitance (F/m2) Vm0 = -60. # Membrane potential (mV) # Reversal potentials (mV) ENa = 55.0 # Sodium EK = -90.0 # Potassium # Maximal channel conductances (S/m2) gNabar = 400.0 # Sodium gKdbar = 400.0 # Delayed-rectifier Potassium gLeak = 1.0 # Non-specific leakage # gMbar = 3.1 # Slow non-inactivating Potassium (from MOD file, paper studies 2-8 S/m2 range) # gCaLbar = 30 # High-threshold Calcium (from MOD file, but only in soma !!!) # gKCabar = 2.0 # Calcium dependent Potassium (only in soma !!!) # Na+ current parameters Vrest_Traub = -65. # Resting potential in Traub 1991 (mV), used as reference for m & h rates mshift = -6.0 # m-gate activation voltage shift, from ModelDB file (mV) hshift = 6.0 # h-gate activation voltage shift, from ModelDB file (mV) # iM parameters - taupMax = 1.0 # Max. adaptation decay of slow non-inactivating Potassium current (s) + # taupMax = 1.0 # Max. adaptation decay of slow non-inactivating Potassium current (s) # Ca2+ parameters # Cao = 2e-3 # Extracellular Calcium concentration (M) # Cai0 = 70e-9 # Intracellular Calcium concentration at rest (M) (Aradi 1999) # deff = 200e-9 # effective depth beneath membrane for intracellular [Ca2+] calculation (m) # taur_Cai = 20e-3 # decay time constant for intracellular Ca2+ dissolution (s) # iKCa parameters # Ca_factor = 1e6 # conversion factor for q-gate Calcium sensitivity (expressed in uM) # Ca_power = 3 # power exponent for q-gate Calcium sensitivity (-) # Additional parameters celsius = 35.0 # Temperature (Celsius) celsius_Traub = 30.0 # Temperature in Traub 1991 (Celsius) celsius_BG = 30.0 # Temperature in Borg-Graham 1987 (Celsius) # celsius_Yamada = 23.5 # Temperature in Yamada 1989 (Celsius) # ------------------------------ States names & descriptions ------------------------------ states = { 'm': 'iNa activation gate', 'h': 'iNa inactivation gate', 'n': 'iKd activation gate', 'l': 'iKd inactivation gate', # 'p': 'iM gate', # 'c': 'iCaL gate', # 'q': 'iKCa Calcium dependent gate', # 'Cai': 'Calcium intracellular concentration (M)' } def __new__(cls): cls.q10_Traub = 3**((cls.celsius - cls.celsius_Traub) / 10) cls.q10_BG = 3**((cls.celsius - cls.celsius_BG) / 10) # cls.q10_Yamada = 3**((cls.celsius - cls.celsius_Yamada) / 10) cls.T = cls.celsius + CELSIUS_2_KELVIN # cls.current_to_molar_rate_Ca = cls.currentToConcentrationRate(Z_Ca, cls.deff) # Compute Eleak such that iLeak cancels out the net current at resting potential sstates = {k: cls.steadyStates()[k](cls.Vm0) for k in cls.statesNames()} i_dict = cls.currents() del i_dict['iLeak'] iNet = sum([cfunc(cls.Vm0, sstates) for cfunc in i_dict.values()]) # mA/m2 cls.ELeak = cls.Vm0 + iNet / cls.gLeak # mV logger.debug(f'Eleak = {cls.ELeak:.2f} mV') return super(Sundt, cls).__new__(cls) # @property # def pltScheme(self): # pltscheme = super().pltScheme # pltscheme['[Ca^{2+}]_i'] = ['Cai'] # return pltscheme # @classmethod # def getPltVars(cls, wrapleft='df["', wrapright='"]'): # return {**super().getPltVars(wrapleft, wrapright), **{ # 'Cai': { # 'desc': 'sumbmembrane Ca2+ concentration', # 'label': '[Ca^{2+}]_i', # 'unit': 'uM', # 'factor': 1e6 # } # }} # ------------------------------ Gating states kinetics ------------------------------ # iNa kinetics: adapted from Traub 1991, with 2 notable changes: # - Q10 correction to account for temperature adaptation from 30 to 35 degrees # - 65 mV voltage offset to account for Traub 1991 relative voltage definition (Vm = v - Vrest) # - voltage offsets in the m-gate (+6mV) and h-gate (-6mV) to shift iNa voltage dependence # approximately midway between values reported for Nav1.7 and Nav1.8 currents. @classmethod def alpham(cls, Vm): Vm -= cls.Vrest_Traub Vm += cls.mshift return cls.q10_Traub * 0.32 * cls.vtrap((13.1 - Vm), 4) * 1e3 # s-1 @classmethod def betam(cls, Vm): Vm -= cls.Vrest_Traub Vm += cls.mshift return cls.q10_Traub * 0.28 * cls.vtrap((Vm - 40.1), 5) * 1e3 # s-1 @classmethod def alphah(cls, Vm): Vm -= cls.Vrest_Traub Vm += cls.hshift return cls.q10_Traub * 0.128 * np.exp((17.0 - Vm) / 18) * 1e3 # s-1 @classmethod def betah(cls, Vm): Vm -= cls.Vrest_Traub Vm += cls.hshift return cls.q10_Traub * 4 / (1 + np.exp((40.0 - Vm) / 5)) * 1e3 # s-1 # iKd kinetics: using Migliore 1995 values, with Borg-Graham 1991 formalism, with: # - Q10 correction to account for temperature adaptation from 30 to 35 degrees @classmethod def alphan(cls, Vm): return cls.q10_BG * cls.alphaBG(0.03, -5, 0.4, -32., Vm) * 1e3 # s-1 @classmethod def betan(cls, Vm): return cls.q10_BG * cls.betaBG(0.03, -5, 0.4, -32., Vm) * 1e3 # s-1 @classmethod def alphal(cls, Vm): return cls.q10_BG * cls.alphaBG(0.001, 2, 1., -61., Vm) * 1e3 # s-1 @classmethod def betal(cls, Vm): return cls.q10_BG * cls.betaBG(0.001, 2, 1., -61., Vm) * 1e3 # s-1 # # iM kinetics: taken from Yamada 1989, with notable changes: # # - Q10 correction to account for temperature adaptation from 23.5 to 35 degrees # # - difference in normalization factor of positive exponential tau_p formulation vs. Yamada 1989 ref. (20 vs. 40) # @staticmethod # def pinf(Vm): # return 1.0 / (1 + np.exp(-(Vm + 35) / 10)) # @classmethod # def taup(cls, Vm): # tau = cls.taupMax / (3.3 * (np.exp((Vm + 35) / 20) + np.exp(-(Vm + 35) / 20))) # s # return tau * cls.q10_Yamada # # iCaL kinetics: from Migliore 1995 that itself refers to Jaffe 1994. # @classmethod # def alphac(cls, Vm): # return 15.69 * cls.vtrap((81.5 - Vm), 10.) * 1e3 # s-1 # @classmethod # def betac(cls, Vm): # return 0.29 * np.exp(-Vm / 10.86) * 1e3 # s-1 # # iKCa kinetics: from Aradi 1999, which uses equations from Yuen 1991 with a few modifications: # # - 12 mV (???) shift in activation curve # # - log10 instead of log for Ca2+ sensitivity # # - global dampening factor of 1.67 applied on both rates # # Sundt 2015 applies an extra modification: # # - higher Calcium sensitivity (third power of Ca concentration) # # Also, there is an error in the alphaq denominator in the paper: using -4 instead of -4.5 # @classmethod # def alphaq(cls, Cai): # return 0.00246 / np.exp((12 * np.log10((Cai * cls.Ca_factor)**cls.Ca_power) + 28.48) / -4.5) * 1e3 # s-1 # @classmethod # def betaq(cls, Cai): # return 0.006 / np.exp((12 * np.log10((Cai * cls.Ca_factor)**cls.Ca_power) + 60.4) / 35) * 1e3 # s-1 # ------------------------------ States derivatives ------------------------------ # @classmethod # def derCai(cls, c, Cai, Vm): # ''' Using accumulation-dissolution formalism as in Aradi, with # a longer Ca2+ intracellular dissolution time constant (20 ms vs. 9 ms). # ''' # return -cls.current_to_molar_rate_Ca * cls.iCaL(c, Cai, Vm) - (Cai - cls.Cai0) / cls.taur_Cai # M/s @classmethod def derStates(cls): return { 'm': lambda Vm, x: cls.alpham(Vm) * (1 - x['m']) - cls.betam(Vm) * x['m'], 'h': lambda Vm, x: cls.alphah(Vm) * (1 - x['h']) - cls.betah(Vm) * x['h'], 'n': lambda Vm, x: cls.alphan(Vm) * (1 - x['n']) - cls.betan(Vm) * x['n'], 'l': lambda Vm, x: cls.alphal(Vm) * (1 - x['l']) - cls.betal(Vm) * x['l'], # 'p': lambda Vm, x: (cls.pinf(Vm) - x['p']) / cls.taup(Vm), # 'c': lambda Vm, x: cls.alphac(Vm) * (1 - x['c']) - cls.betac(Vm) * x['c'], # 'q': lambda Vm, x: cls.alphaq(x['Cai']) * (1 - x['q']) - cls.betaq(x['Cai']) * x['q'], # 'Cai': lambda Vm, x: cls.derCai(x['c'], x['Cai'], Vm) } # ------------------------------ Steady states ------------------------------ # @classmethod # def qinf(cls, Cai): # return cls.alphaq(Cai) / (cls.alphaq(Cai) + cls.betaq(Cai)) # @classmethod # def Caiinf(cls, c, Vm): # return findModifiedEq( # cls.Cai0, # lambda Cai, c, Vm: cls.derCai(c, Cai, Vm), # c, Vm # ) @classmethod def steadyStates(cls): lambda_dict = { 'm': lambda Vm: cls.alpham(Vm) / (cls.alpham(Vm) + cls.betam(Vm)), 'h': lambda Vm: cls.alphah(Vm) / (cls.alphah(Vm) + cls.betah(Vm)), 'n': lambda Vm: cls.alphan(Vm) / (cls.alphan(Vm) + cls.betan(Vm)), 'l': lambda Vm: cls.alphal(Vm) / (cls.alphal(Vm) + cls.betal(Vm)), # 'p': lambda Vm: cls.pinf(Vm), # 'c': lambda Vm: cls.alphac(Vm) / (cls.alphac(Vm) + cls.betac(Vm)), } # lambda_dict['Cai'] = lambda Vm: cls.Caiinf(lambda_dict['c'](Vm), Vm) # lambda_dict['q'] = lambda Vm: cls.qinf(lambda_dict['Cai'](Vm)) return lambda_dict # ------------------------------ Membrane currents ------------------------------ # Sodium current: inconsistency with 1991 ref: m2h vs. m3h @classmethod def iNa(cls, m, h, Vm): ''' Sodium current. Gating formalism from Migliore 1995, using 3rd power for m to reproduce 1 ms AP half-width ''' return cls.gNabar * m**3 * h * (Vm - cls.ENa) # mA/m2 @classmethod def iKd(cls, n, l, Vm): ''' delayed-rectifier Potassium current ''' return cls.gKdbar * n**3 * l * (Vm - cls.EK) # mA/m2 # @classmethod # def iM(cls, p, Vm): # ''' slow non-inactivating Potassium current ''' # return cls.gMbar * p * (Vm - cls.EK) # mA/m2 # @classmethod # def iCaL(cls, c, Cai, Vm): # ''' Calcium current ''' # ECa = cls.nernst(Z_Ca, Cai, cls.Cao, cls.T) # mV # return cls.gCaLbar * c**2 * (Vm - ECa) # mA/m2 # @classmethod # def iKCa(cls, q, Vm): # ''' Calcium-dependent Potassium current ''' # return cls.gKCabar * q**2 * (Vm - cls.EK) # mA/m2 @classmethod def iLeak(cls, Vm): ''' non-specific leakage current ''' return cls.gLeak * (Vm - cls.ELeak) # mA/m2 @classmethod def currents(cls): return { 'iNa': lambda Vm, x: cls.iNa(x['m'], x['h'], Vm), 'iKd': lambda Vm, x: cls.iKd(x['n'], x['l'], Vm), # 'iM': lambda Vm, x: cls.iM(x['p'], Vm), # 'iCaL': lambda Vm, x: cls.iCaL(x['c'], x['Cai'], Vm), # 'iKCa': lambda Vm, x: cls.iKCa(x['q'], Vm), 'iLeak': lambda Vm, _: cls.iLeak(Vm) } def chooseTimeStep(self): ''' neuron-specific time step for fast dynamics. ''' return super().chooseTimeStep() * 1e-2 \ No newline at end of file diff --git a/notebooks/TI US predictions.ipynb b/notebooks/TI US predictions.ipynb new file mode 100644 index 0000000..8cbf0ed --- /dev/null +++ b/notebooks/TI US predictions.ipynb @@ -0,0 +1,1210 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ultrasonic Temporal Interference for neuromodulation\n", + "### On the feasibility of using temporally interfering ultrasonic fields for intramembrane cavitation and neuro-stimulation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Rationale\n", + "\n", + "Surface acoustic wave (SAW) transducers are a very appealing technology for in-vitro US neuromodulation experiments, as they can be embedded “seamlessly” with cultured neurons in a Petri dish, and easily coupled with recording equipment.\n", + "\n", + "Unfortunately, the ultrasound frequencies they generate are in the order of tens of MHz, which is far above our working range of interest. In fact, the theoretical model we wish to validate is based on cavitation, which is much more prominent at lower (sub-MHz) frequencies. \n", + "\n", + "However, we imagined that we could maybe couple two ultrasound sources of very similar high frequencies differing only by a few hundreds of kHz (e.g. $f_1$ = 50.0 MHz and $f_2$ = 50.5 MHz). According to the acoustic superposition principle, the interaction of those two waves would create an alternation of constructive and destructive interference. This should generate a low frequency oscillatory envelope at $f_{env} = \\frac{f_2 – f_1}{2}$, which may in turn induce the desired cavitation effect, and ultimately depolarize the membrane. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "I ran some preliminary simulations of my model to test those predictions. Early results (see attached figure) show that the interference of two high-frequency waves of equal amplitude can generate a low-frequency envelope of cavitation in the neuron membrane in order to induce depolarization.\n", + "Furthermore, by modulating the ratio of intensity of the two high-frequency sources, we can induce an offset in the cavitation envelope, which enhances the depolarization efficiency to values that can exceed those obtained with a single low-frequency source." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Imports" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import logging\n", + "import os\n", + "import numpy as np\n", + "from scipy import signal as sg\n", + "import matplotlib.pyplot as plt\n", + "\n", + "from PySONIC.neurons import getPointNeuron\n", + "from PySONIC.core import BilayerSonophore, AcousticDrive, AcousticDriveArray\n", + "from PySONIC.utils import logger\n", + "\n", + "logger.setLevel(logging.INFO)\n", + "figs, Vm_devs = {}, {}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Functions" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "def plotResponse(bls, drive, label, Qm=None):\n", + " ''' Simulate the model for a specific mechanical drive and\n", + " plot the resulting deflection profile.\n", + "\n", + " :param bls: BilayerSonophore model object\n", + " :param drive: acoustic drive object\n", + " :param label: label for the acoustic drive\n", + " :param Qm: imposed charge density (C/m2)\n", + " :return: 2-tuple with figure object and average voltage deviation\n", + " '''\n", + " if Qm is None:\n", + " Qm = bls.Qm0\n", + "\n", + " # Simulate and extrat output\n", + " logger.info(f'Simulating {bls} model with {drive}')\n", + " data = bls.simCycles(drive, Qm, n=3)\n", + " t, Z = [data[k].values for k in ['t', 'Z']]\n", + " Pac = drive.compute(t)\n", + "\n", + " # Compute the average voltage deviation per cycle\n", + " Cm = bls.v_capacitance(Z) # F/m2\n", + " Vm = Qm / Cm * 1e3 # mV\n", + " Vm0 = bls.Qm0 / bls.Cm0 * 1e3 # mV\n", + " avg_delta_Vm = np.mean(Vm0 - Vm) # mV\n", + "\n", + " # Plot pressure and deflection time profiles\n", + " fig, axes = plt.subplots(2, 1)\n", + " fig.suptitle(f'{label} US ({drive.desc})')\n", + " ax = axes[0]\n", + " ax.set_ylabel('Pac (kPa)')\n", + " if isinstance(drive, AcousticDriveArray):\n", + " Penv = np.abs(sg.hilbert(Pac))\n", + " for k, s in drive.drives.items():\n", + " ax.plot(t * 1e6, s.compute(t) * 1e-3, label=k, alpha=0.5)\n", + " ax.plot(t * 1e6, Pac * 1e-3, label='sum', c='k', alpha=0.5)\n", + " ax.plot(t * 1e6, Penv * 1e-3, '--', c='k', label='envelope')\n", + " ax.plot(t * 1e6, -Penv * 1e-3, '--', c='k')\n", + " ax.legend()\n", + " else:\n", + " ax.plot(t * 1e6, Pac * 1e-3, c='k')\n", + " ax = axes[1]\n", + " ax.set_ylim(-1, 6)\n", + " ax.set_xlabel('time (us)')\n", + " ax.set_ylabel('deflection (nm)')\n", + " ax.plot(t * 1e6, Z * 1e9, c='k')\n", + "\n", + " return fig, avg_delta_Vm" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Standard bilayer sonophore model (no high-frequency damping)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's define a typical, 32 nm radius bilayer sonophore model with the resting charge density of a regular spiking neuron." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "pneuron = getPointNeuron('RS')\n", + "a = 32e-9 # m\n", + "Cm0 = pneuron.Cm0 # F/m2\n", + "Qm0 = pneuron.Qm0 # Q/m2\n", + "bls = BilayerSonophore(a, Cm0, Qm0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's also define a constant peak pressure amplitude of 100 kPa, conserved across all acoustic drives." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "peak_pressure = 100e3 # Pa" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Standard sources\n", + "\n", + "Let's start by evaluating the model's response simple acoustic sources oscillating at a single frequency." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Low-frequency drive\n", + "\n", + "We first test the model behavior with a low-frequency drive at 500 kHz (i.e. within the working range of our model) " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 19:55:35: Simulating BilayerSonophore(32.0 nm) model with AcousticDrive(500.0kHz, 100.0kPa)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 64.91 mV\n" + ] + }, + { + "data": { + "image/png": "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NDRUv/zyS6/EW7t2rQL60ksveSVeMPLdd99peHi4Dhs2zCvxHA6H3nHHHVqtWrVrukFbhTELQ5F56KGHNCwsTPfs2eO1mPv379cyZcroyJEjvRYzmNi5c6eGhIToU0895dW4gwcP1sjISP3xxx+9GjdY6Nmzp1aoUEHT09O9FvOLL76wtSehMQtDkfjyyy9VRPTZZ5/1euzf/e53CujWrVu9Hru006NHD61YsWKJ6sTz4+DBgxoVFaWDBg3yatxgYM2aNQrov/71L6/HHjNmjIaFhem+ffu8HrswjFkYikT37t21SpUqevbsWa/HPnfunMbHx2unTp28Hrs0s3LlSgX03//+t0/ie56J8Vb1VjDgcDi0RYsWWqdOHb106ZLX46elpWlkZKQmJSV5PXZhGLMwFMrGjRsV0H/+858+y+FpOF+3bp3PcpQmnE6ntmnTRuvUqaNZWVk+yXH27FmtVKmS9unTxyfxSyNz5szxeUP0b3/7WxUR3blzp89y5IcxC0OhdO3aVePi4jQzM9NnOS5evKgJCQnasWNHn+UoTXhKFZMmTfJpnpdfflmBa8YxMlyLw+HQZs2a6a233urT4WxOnDih5cqV0/vvv99nOfLDmIWhQDZs2KCAvvLKKz7P5SldrF271ue5Ahmn06nt2rXTWrVq+axU4SEjI0OrVKmi9957r0/zlAYWL16sgKakpPg810svvaSApaULYxaGAunRo4fGx8f7tFThwVO66NKli89zBTKeBtTx48dbks9Tuvj6668tyReIOJ1OveOOO/Smm27SnJwcn+c7ceKERkVFaXJyss9zeSiqWVg+rarBfnbu3MmKFSv49a9/TUxMjM/zRUVFMW7cONasWcPXX3/t83yByj/+8Q8SEhIYM2aMJfkee+wxYmJi+Pe//21JvkBk9erVbNmyhd///veEhYX5PF9sbCwPPfQQs2bN4vDhwz7PVyyK4iiBsJiSRdEZPXq0RkVFeb1bZkGcPn1aY2JidMSIEZblDCR27typgL788suW5h03bpyGhYXpTz/9ZGneQKFbt26akJDg82rBvBw4cEBDQ0P1mWeesSQfpmRhyI9jx44xc+ZMRo4cSZUqVSzLW6lSJUaPHs17773HkSNHLMsbKLzxxhtERkbyyCOPWJr36aefxul08uabb1qaNxDYtWsXq1at4oknniAiIsKyvHXr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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "f_low = 500e3 # Hz\n", + "label = 'LF'\n", + "drive = AcousticDrive(f_low, peak_pressure)\n", + "figs[label], Vm_devs[label] = plotResponse(bls, drive, label)\n", + "print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected, the membrane cavitates in resonance with the acoustic drive, with a deflection maximum around 5.5 nm. Overall this cavitation creates an average voltage deviation of 64 mV from the membrane's resting potential." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### High-frequency drive\n", + "\n", + "We now test the model behavior with a high-frequency drive at 50 MHz (i.e. outside of the model's expected working range, but inside the range of action of SAW transducers)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 19:55:37: Simulating BilayerSonophore(32.0 nm) model with AcousticDrive(50.0MHz, 100.0kPa)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 19.00 mV\n" + ] + }, + { + "data": { + "image/png": "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iy/yj3/8g927d7N8+XIqV66c53L+pKps3ryZZcuWsWvXLlJTU6lRowbt2rXjwQcfpHHjxrbkZQQeUVXPc/kikMhtwO3APlXd6ev227Rpo0lJSb5u1jCuc+HCBX73u98xdepUGjRowHvvvUeXLl0K3M6iRYsYPnw4TZo0YePGjZYXjK+//poJEyawfft2wsLCaN68ORUqVCA5OZn9+/cD0K1bN1555RXatm1raW5WyMjIYOXKlaxZs4YdO3aQkpJCWFgYN910E126dCE6Opobb7zR7jSvsWvXLj799FO++eYbUlJSSE9Pp1KlSixcuPC6PVlvicgOVW3jcUZV9dsD+Bvw19wevo7VunVrNQx/W7NmjdatW1dFRJ966ilNTU0tUnurV6/W0NBQ7dixo16+fNlHWXo2efJkDQ4O1po1a+r06dP14sWL17yfnJysr7zyilavXl1FRMeOHavnzp2zLD9/unTpkr7++utavXp1BbRChQp6//33a3R0tA4aNEibNm2qgIaEhOi4ceP01KlTtubrdDp11apV2qZNG8XVla833XST3nPPPdq5c2dt2bKlZmZmFrp9IEm92Z57M1NhH7jOp4jL7eHrWKZYGP505swZHTVqlALauHFj3bJli8/a/uCDDxTQ4cOHq9Pp9Fm7uXE6nfrss88qoP369dPTp0/nO/+5c+f06aef1qCgIG3QoIFu377dr/n529KlS7V27doKaPfu3XXFihWakZFx3XwHDhzQxx9/XIODg7V69eq6YcMG65NV1VOnTunAgQOvFojJkyfrr7/+6tMYgVIstrh/LvFnHDXFwvCjZcuWaa1atTQ4OFh///vf+2UP4C9/+YsCOnXqVJ+3nVucCRMmFOjb6BdffKF16tTR0NBQnTlzph8z9I8zZ85odHS0AtqiRQuvN/7ffvutNm7cWIODg/W9997zb5I57N69++pn/tprr+mVK1f8EidQikU88Cuuo59+cT+O4boCrSkWRkA7fvy4DhkyRAFt1qyZJiUl+S2Ww+HQnj17alhYmO7YscMvMebNm6eAxsTEqMPhKPDyp0+f1q5duyqgzz77bJG6Pqy0d+9ebdiwoYaEhOjLL79c4I3uuXPntEePHgrou+++66csr/Xll19q5cqVtVatWpqYmOjXWAFRLK4GgXf8HcMUC8NXnE6nzps3T6tVq6ahoaH65z//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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "f_high = 50e6 # Hz\n", + "label = 'HF'\n", + "drive = AcousticDrive(f_high, peak_pressure)\n", + "figs[label], Vm_devs[label] = plotResponse(bls, drive, label)\n", + "print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As expected, the membrane cannot mechanically follow the high frequency oscillations, and it results a low amplitude, non-periodic deflection profile with a maximum around 3 nm. This only creates an average voltage deviation of 19 mV from the membrane's resting potential (i.e. around 30 % of what the LF drive generates)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## TI sources\n", + "\n", + "Let's now look at the impact of 2 high-frequency drives whose frequencies are $f_{high} - f_{low}/2$ and $f_{high} + f_{low}/2$, i.e. centered around the high-frequency drive and differing only by the low-frequency drive used above.\n", + "\n", + "Due to the acoustic superposition principle, these two drives will create a high-frequency drive at $f_{drive} = \\frac{f_1 + f_2}{2}$, modulated by a low-frequency envelope oscillating at $f_{env} = f2 - f1$.\n", + "\n", + "Moreover, let us introduce a phase offset of $\\pi$ between the two drives that will ensure that they start with a fully destructive interference." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "f1 = 49.75 MHz, f2 = 50.25 MHz, fenv = 500.00 kHz\n" + ] + } + ], + "source": [ + "f1 = f_high - f_low / 2 # Hz\n", + "f2 = f_high + f_low / 2 # Hz\n", + "fenv = f2 - f1 # Hz\n", + "delta_phi = np.pi # rad\n", + "print(f'f1 = {f1 * 1e-6:.2f} MHz, f2 = {f2 * 1e-6:.2f} MHz, fenv = {fenv * 1e-3:.2f} kHz')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us also define a function to define amplitude pairs for different ratios, while ensuring a constant peak pressure amplitude" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def getAmpPair(total, ratio):\n", + " ''' Return two numbers that sum up to a specific value, with a specific ratio. '''\n", + " x1 = total / (1 + ratio)\n", + " return x1, x1 * ratio" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1:1 TI ratio\n", + "\n", + "Let's start with 2 sources of equal amplitude (50 kPa each, summing up to 100 kPa during full constructive interference)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 19:55:38: Simulating BilayerSonophore(32.0 nm) model with AcousticDriveArray(AcousticDrive(49.8MHz, 50.0kPa), AcousticDrive(50.2MHz, 50.0kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 40.64 mV\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "k = 1\n", + "label = f'1:{k} TI'\n", + "A1, A2 = getAmpPair(peak_pressure, k)\n", + "drive = AcousticDriveArray([AcousticDrive(f1, A1, phi=np.pi), AcousticDrive(f2, A2, phi=np.pi - delta_phi)])\n", + "figs[label], Vm_devs[label] = plotResponse(bls, drive, label)\n", + "print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we can see, the membrane seems to enter into some sort of resonance with the combined high frequency drive (probably as a result of its asymmetry). Additionally, we notice the appearance of a low-frequency cavitation envelope that matches that of the acoustic drive. \n", + "\n", + "As a result, the membrane deflection can reach up to 4 nm (compared to 3nm with a single HF drive), which effectively doubles the resulting average voltage deviation from the membrane resting potential." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1:2 TI ratio\n", + "\n", + "Let's now change the sources amplitudes such that the second one is twice the first one (i.e. 33 and 66 kPa respectively, also summing up to 100 kPa during full constructive interference)." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 19:56:15: Simulating BilayerSonophore(32.0 nm) model with AcousticDriveArray(AcousticDrive(49.8MHz, 33.3kPa), AcousticDrive(50.2MHz, 66.7kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 42.68 mV\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "k = 2\n", + "label = f'1:{k} TI'\n", + "A1, A2 = getAmpPair(peak_pressure, k)\n", + "drive = AcousticDriveArray([AcousticDrive(f1, A1, phi=np.pi), AcousticDrive(f2, A2, phi=np.pi - delta_phi)])\n", + "figs[label], Vm_devs[label] = plotResponse(bls, drive, label)\n", + "print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Expectedly, since full destructive interference between the two sources is never fully achieved because of the amplitude imbalance, we observe an an offset in the absolute value of the drive low-frequency envelope.\n", + "\n", + "Interestingly, this offset is perpetuated into the membrane deflection profile, where the compression amplitudes are reduced.\n", + "\n", + "As a result, while the membrane deflection reaches the same maximum of 4 nm, the deflection offset during compression phases amplifies the average capacitance drop and the resulting voltage deviation from the membrane resting potential (from 40 to 42 mV)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1:5 TI ratio\n", + "\n", + "Let's now try with a 1:5 ratio (i.e. 17 and 83 kPa respectively)." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 19:56:53: Simulating BilayerSonophore(32.0 nm) model with AcousticDriveArray(AcousticDrive(49.8MHz, 16.7kPa), AcousticDrive(50.2MHz, 83.3kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 55.93 mV\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "k = 5\n", + "label = f'1:{k} TI'\n", + "A1, A2 = getAmpPair(peak_pressure, k)\n", + "drive = AcousticDriveArray([AcousticDrive(f1, A1, phi=np.pi), AcousticDrive(f2, A2, phi=np.pi - delta_phi)])\n", + "figs[label], Vm_devs[label] = plotResponse(bls, drive, label)\n", + "print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Expectedly, the greater offset in the drive envelope created by this higher ratio further attenuates the membrane compression phases in favor of expansion phases.\n", + "\n", + "Hence, while preserving the maximal membrane deflection, the amplified deflection offset results in a voltage deviation of 55 mV." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1:10 TI ratio\n", + "\n", + "Let's now try with a 1:10 ratio (i.e. 9 and 91 kPa respectively)." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 19:57:36: Simulating BilayerSonophore(32.0 nm) model with AcousticDriveArray(AcousticDrive(49.8MHz, 9.1kPa), AcousticDrive(50.2MHz, 90.9kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 73.13 mV\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "k = 10\n", + "label = f'1:{k} TI'\n", + "A1, A2 = getAmpPair(peak_pressure, k)\n", + "drive = AcousticDriveArray([AcousticDrive(f1, A1, phi=np.pi), AcousticDrive(f2, A2, phi=np.pi - delta_phi)])\n", + "figs[label], Vm_devs[label] = plotResponse(bls, drive, label)\n", + "print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "At this point, the drive envelope offset becomes more significant than its own variation. This offset is perpetuated in the membrane deflection (after an initial half-cycle of adaptation), where cyclic variations are very small compared to the deflection offset.\n", + "\n", + "Notably, the resulting average voltage deviation (73 mV) now exceeds that obtained with the single acoustic drive at the envelope frequency (64 mV)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1:20 TI ratio\n", + "\n", + "Let's now try with a 1:20 ratio (i.e. 5 and 95 kPa respectively)." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 19:58:25: Simulating BilayerSonophore(32.0 nm) model with AcousticDriveArray(AcousticDrive(49.8MHz, 4.8kPa), AcousticDrive(50.2MHz, 95.2kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 76.73 mV\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "k = 20\n", + "label = f'1:{k} TI'\n", + "A1, A2 = getAmpPair(peak_pressure, k)\n", + "drive = AcousticDriveArray([AcousticDrive(f1, A1, phi=np.pi), AcousticDrive(f2, A2, phi=np.pi - delta_phi)])\n", + "figs[label], Vm_devs[label] = plotResponse(bls, drive, label)\n", + "print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Expectedly, the drive and deflection offsets are further amplified. However, we notice little increase in the resulting average voltage deviation (76 mV), indicating that we are getting close to the maximal offset we can generate." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Higher ratios\n", + "\n", + "Let's keep increasing the ratio until we see a saturation of the average voltage deviation." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 19:59:14: Simulating BilayerSonophore(32.0 nm) model with AcousticDriveArray(AcousticDrive(49.8MHz, 2.0kPa), AcousticDrive(50.2MHz, 98.0kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 79.73 mV\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 19:59:53: Simulating BilayerSonophore(32.0 nm) model with AcousticDriveArray(AcousticDrive(49.8MHz, 990.1Pa), AcousticDrive(50.2MHz, 99.0kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 79.62 mV\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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H/70Fw4ZeDDnn3MWmzZv5vJrvsfbk17ht797gBmzZhMOh7numqs47eQTo+Mu27mTm35yM7t37yEYCnLLT3/M2NEjmXD8KQw/aihff72UgoIC7v71PQQCAa655hq++eYbwuEw9957LxMmTGj+QkxBzX1EJC1ffY6WqCxPGWOa6dnnX6K4qIhXnn+axx99iF/c/T/s2r2bM047hZf//TSdOnZk8kdTueTC83nxlf8C8PJ/JnHBuWfz4ZSprF6zlldffI4Xn/0Xf3roYcp27oyO+49/+Rvjxo7hleef5pG//JGf3/YLwuEw5eXlnH3Gafz3xWfp168Pb742ieeee4727dszdepUXn31VW688cZkLZJW15QS1aEi8ixOkor8BkBVL45bZAl0/vnns/Cdp8n0e5MdijFmPzRUAsrOzm6we3FxUZNKULUt+eprZs6azdz5Tq1ywWCQ7Tt2MMitKb1L585UVFbSv19fQsEQa9auZdLrb/Lvp5/gmedeYMHCL6MlwWAwyJq166Lj/mbpcs4+4zQAOnfqSF5eHlu3bsPn8zNy+FEADB96JB9+NJWy3XuYNm0an332WXRcW7dupaSk7b9605REdX7M74fjFUgydenShe4d2iU7DGNMG9Svb286d+rID2+8nvKKCv700MO89Mqrdda9d+H553Dv//s9/fv3o11BAf369mHMqOH87jf/Qzgc5sE//5We3btF++/frw+fzZrNoEMPYf2GjZSV7aSoqJBgMMCXi5dw6MCDmTn7c/r17UthSQe6devGHXfcQXl5Offdd1/afPaj0Ut/qvpRfX+JCDARlixZwryl6wmGQskOxRjTxlx60YUsXb6Ccy68lDPOvYhuXbvg8dR9l+S0k0/ko6kfc/EF5wJw3LETycnJ4azzL+HE089BRMjLy4v2f9MN3+OT6Z9x9gWXcs33buR3v7kHn88pX/z14b9z5nkXs27DBo4/6VQuvfRSlixZwvjx4xk9ejQ9e/ZMmxeARdPoxsywYcN09uzZzR7uoYce4gc/+AE/P28sudlp+byIMWnphGt/Sc9unZMdRsKNOPoYPnr/LbIyM6kMhNi6cy8DBgwgPz+/0WEXL17MwIEDa7QTkTmqOixe8e6v9Ei3xhhzgIrUnp7On/loTl1/aStSPD4Qqss3xrR9n037sLrhADhsWYkKotd8wwfACjcmraiS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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for k in [50, 100]:\n", + " label = f'1:{k} TI'\n", + " A1, A2 = getAmpPair(peak_pressure, k)\n", + " drive = AcousticDriveArray([AcousticDrive(f1, A1, phi=np.pi), AcousticDrive(f2, A2, phi=np.pi - delta_phi)])\n", + " figs[label], Vm_devs[label] = plotResponse(bls, drive, label)\n", + " print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As we can see, we seem to reach response saturation with the 1:100 ratio." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Comparing efficiencies\n", + "\n", + "In the NICE framework, the initial build-up in membrane charge density that initiates a neural response is directly driven by leakage currents, responding to the voltage deviation from its resting value induced by intramembrane cavitation. \n", + "\n", + "Moreover, assuming that the ability to bring the membrane to its spiking threshold is directly proportional to the strength of this initial charge build-up, and recalling that leakage currents mediating this build-up are proportional to the membrane voltage deviations, the latter metrics provides a good estimate of a the \"relative excitation power\" (or efficiency) of a given protocol.\n", + "\n", + "Hence, we compare here use the efficiencies of all protocols by plotting the average voltage deviations they induced, normalized by the value obtained for the single LF drive used here as reference." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "def plotDepEfficencies(Vm_devs, ref_key='LF'):\n", + " ''' Plot a bar chart about the comparative depolarization efficiencies elicited\n", + " by different acoustic drives.\n", + "\n", + " :param Vm_devs: dictionary of labels: voltage deviations (mV)\n", + " :param ref_key: dictionary key of the normalization value\n", + " :return: figure object\n", + " '''\n", + " x = np.arange(len(Vm_devs))\n", + " y = np.array(list(Vm_devs.values()))\n", + " yref = Vm_devs[ref_key]\n", + " ynorm = y / yref\n", + " colors = ['g' if yn >= 1 else 'r' for yn in ynorm]\n", + " colors[0] = 'k'\n", + " fig, ax = plt.subplots(figsize=(10, 5))\n", + " ax.bar(x, 100 * ynorm, color=colors)\n", + " ax.set_xticks(x)\n", + " ax.set_xticklabels(list(Vm_devs.keys()))\n", + " ax.set_ylabel(f'Relative efficiency (w.r.t {ref_key})')\n", + " ax.set_title('Predicted depolarization efficiencies')\n", + " return fig\n", + "\n", + "figs['Vm devs'] = plotDepEfficencies(Vm_devs, ref_key='LF')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We do notice the drop in efficiency when using a single HF source, and the progressive increase with unbalanced TI sources until saturation of the protocol's efficiency with high amplitude ratios." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Embedded bilayer sonophore model (with high-frequency damping)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's now check how much tissue embedding should affect our predictions. For that, we embed the same 32 nm radius bilayer sonophore inside 10 um of surrounding tissue with a frequency-dependent elastic modulus." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "embedded_bls = bls.copy()\n", + "embedded_bls.d = 1e-6 # um\n", + "\n", + "embdded_figs, embedded_Vm_devs = {}, {}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's also define a constant peak pressure amplitude of 500 kPa (conserved across all acoustic drives), to \"compensate\" for the cavitation attenuation." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "peak_pressure = 500e3 # Pa" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Low-frequency drive" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 20:19:33: Simulating BilayerSonophore(32.0 nm, d=1.0 um) model with AcousticDrive(500.0kHz, 500.0kPa)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 64.91 mV\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYsAAAEhCAYAAACOZ4wDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xd8VFX+//HXJw0SOgQIvRNgEUGQLoooiAgICEpLQJSirH2Luq6762+/61rXsiooJYQiAooUaYqIINIFVDoCAUMJ1QAhZT6/P2aGjUj63HtnJuf5eMyDzOTOOe8ZMvO559wmqophGIZh5CbE6QCGYRiG/zPFwjAMw8iTKRaGYRhGnkyxMAzDMPJkioVhGIaRJ1MsDMMwjDyZYhEARKSuiKTm8LsRInJORL676tbnGsuuEpF7rnosWkQ02/32IvKliGwXke9FZImI/C6XbC1FZIrn5+4ickhENohIZCFfazkRSbvqtXT1/K6RiKwWkR89fTTJ9rz7PY/vFZF3RSQ8h/avuZyIRInITBHZKSK7ReTuHJ7/m/fQ8/jfROTtazx+UETaFOa9yNZGuIgki8iSorRzVZubPe+D9z3+g+fxHN8HEWknIhs9v/tCRKrl0HaOy4nI0yKyS0T2ed4zucbzc3ovs/+tb/X8u1ZEOuTj9U7P/vdiFIKqmpuf34C6QGoOvxsBLMpnO6uAe656LNr9Z6AAJYAU4IZsvx8GHAZCr9FeCLAZqOG5Pxn4SxFfaw9geQ6/2wAM8fzcE/geEKA5kARU9mSaBfzxGs/PcTngJWCi5+fawFGgZn7eQ8/jfwPevsbjB4E2RXxP7gWWACeBpj74eyoFnAXCr/G7a74PQITnvevk+d044LNrPD/H5YA7ga2e/ksCXwGDCvBe/uZvHegNJANhebzm+sC3gBT1/SuuNzOyMLKLAsoDpbM9NgMYD4ReY/lBwE+qetSzZno3ME5EXs6+kIg0u8bI5zsRGXmNNjsCFUXkW8/a4zhPGzWAJsCHAKq6xJOzFdAXWKCqJ1XVBUzAXeSultty/YD3PW0fBlZ4Xt81iUiYiHwkIjNEJCyn5bIt3++q154qIol5Pc9jHPApMBt4NJc+vrnGe/zfayzaFkgFlorIDhF5PdtIMKf34UbgvKqu9Sw3CegmIpWuaju35foBM1X1gqqmAVO49v9T9tf0mIhsE5GYHBb5AogByotIYxFZ4fnbOSQin4pISc9rOYC7QP5mxG3kT55/5EZAuElEvst2/1tVHVvQRlT1jIj8EfeXyDFgLfAl8KGqpl/jKfcAizzPfdkzXfW9qr5yVbs/Ai3zGSMTWAi8iHvU86WIJAPHgJ89X/JeR3Cv9dbCvQZ/9eNXy225WrjXiPNqA9xrz3Nwr3X/XlXVM5tyr4h0vmrZ6gCq+gnwCYCI9AZeB57Kof0rRKQZ0AEYgHsU95WIPKuqp65eVlU75tWeRxnc/6+PAhdxrxD8C3iMnN+Hn7M/rqrpInISqAFkz1Irl+Vq4f5yv7rta/L8LfYFblbVs1fPWHmmsEbj/ptLEZE/AQmqOt0zvbgZ6AXM8zxlOdAfd+E1CsgUi+DwtarelY/lXNd4LCT746r6moi8D9wMdAH+BPxJRNqq6rmrntsE+E9enXq+8GZe41dvqOqU7A+o6gvZ7h4VkQm410gnAFefm0aALM9r0Gs8frXclstvGwCv4v7CbaCeOQ6P2ao6/lcBRQ5edb898C5wu6oez6H97Mbhnno5BZwSkZ9wf0H+6+oFReQb3KPD7Naq6sPZH1DVBcCCbM/7P+Bj3MUip/fh6sez/y673JYryHvcH6gG9FbVs9ke964YKe5p0124Cym4/1Zv9xSZxrgLdfZR8k/kMlo0cmeKRfGSAlw9bVAVz5qhiHQCOqrqy7hHDItE5Bnc2wZuB+Ze9VwlHztJFGRkISK/Bz71TIGA+wslA/d2k2oiItm+oKvjXjs97PmZqx6/Wm7LeX93PNvvso/Wskv05HqfAkxriEhj3Gu5Q1V1Zz6WLwUMBy5nKzplgfEi8oqqZmRfPr8jC8/I5pyqrvY+hPs9hpzfh1+9d54190q4R1fZ5bZcfv+fAPYBvwfeEZE12QpGbitGs3B/p30ELMa9zSX7cCSDnIuTkQezzaJ4WQKMFJFy4J53x7094jPP708Cf7lqKqUaUA7YcY32dgMNfJyxM+DdM6ciMAr3GvsR3F8g93p+1wP3iGgH7rXkPiJSJdvUxPxrtJ3bcp967iMiNYE78EyxXcMG4DmgoYg8mJ8X5ZlzXwL8QVVX5ec5wFDchby6qtZV1bq4N9SWBgbms41rqQm8IiKRIhIKPIF7ewjk/D6sByqJiLcg3Q+su2qtnzyW+xQYKiKlRKQE7g3W1/p/AtiuqvNwT1tda7vLtfQA/qGq3tfSjl9va6uHeyRiFIbTW9jNLe8b7r2hFPdGyey36yjY3lACPIt7pPAd7i/794Cy2ZbpCqwGDgA/AuuAO3Jo7z7cX+Te+1OBp4r4WivjnhL5AdgDPJLtd41w7430PbCJX++1NdLz+G5gGlDS83gfsu21k8typXGPGH7A/YUyLId8q/DsDYV7Q/FZ3AXzb+SyNxTuabRfcBea7zw3715CHwBjr/HcrcDD13j8BWBjEd7jEOBlYCewF5gIlMjrffC83g2e360G6noe944+que2nOd3z3ge3wu8wjX2Tsr+XuJeUUnCPX00glz+1oGHPH+3O4A1uFcO/pXt94tz+ls2t7xv4nkTDaPAPGulm4Feqnr1dISRTyJyO+7tH+85nSVYiUgD3BvyO6j50isUMw1lFJqqZgEPAv/ndJYAVwn3F5lhnf8HPGAKReGZkYVhGIaRJzOyMAzDMPJkioVhGIaRJ1MsDMMwjDyZYmEYhmHkyRQLwzAMI0+mWBiGYRh5MsXCMAzDyJMpFoZhGEaeTLEwDMMw8mSKhWEYhpEnUywMwzCMPJliYRiGYeTJFAvDMAwjT6ZYGIZhGHkyxcIwDMPIkykWhmEYRp5MsTAMwzDyFOZ0AF+Jjo7WunXrOh3DMAwjYGzevDlFVSvnZ9mgKRZ169Zl06ZNTscwDMMIGCJyKL/L2l4sRGQrcM5z9ydgAvAGkAksV9W/i0gI8A5wPXAZ94XW99md1TAMw3CztViISEkAVb0l22PfAQOAA8BiEbkBqAuUVNUOItIeeBXoa2dWwzAM43/sHllcD0SJyHJP338DSqjqfgARWQZ0A6oBSwFU9VsRaWNzTiOb06dPk5iYyKJFi9i/fz9hYWFcd911DBw4kP79+xMREeF0xGJHVfnyyy9JTExk06ZNpKamUr16dW655RZGjRpF/fr1nY5YLB07dowpU6awfPlyDh48SMmSJbn++uu599576dOnD6GhoU5HLDS794a6CLwC9ADGAlM8j3n9ApQDyvK/qSqALBH5TWETkdEisklENp08edK61MWUqjJx4kQaNmzIY489xvHjx+nQoQPXX389GzduZPDgwTRv3pwvv/zS6ajFyr59+7j99tvp1q0b8+fPp27dutx0002ICC+++CKxsbH84Q9/IC0tzemoxUZWVhavvPIKDRo04JlnnuGXX36hc+fONG3alFWrVtG/f39uvPFGNm/e7HTUwlNV225ACSAy2/0twE/Z7j8KPAW8BgzK9viRvNpu3bq1Gr6TlpamQ4cOVUC7du2qW7du/dXvs7KydMGCBdqgQQMNCQnR1157TV0ul0Npi49ly5ZpuXLltHz58vrWW2/pxYsXf/X7pKQkfeCBBxTQG2+8UY8ePepQ0uLj/Pnzetdddymgffr00V27dv3q9xkZGTpjxgytUaOGlihRQqdOnepQ0t8CNml+v7/zu6AvbsA44B3Pz9WBXcD3QANAgM+Adri3YUz1LNceWJJX26ZY+E5aWtqVP/4XXnhBs7Kyclw2NTVV+/fvr4D+4x//sDFl8bN48WINDw/XFi1a6E8//ZTrsp988omWKlVKGzdurMnJyfYELIZSU1O1Q4cOGhoaqv/9739zXfbkyZParVs3BfTdd9+1KWHu/LlYRAAzgTXA10BHTzH4FtgI/NOzXAjwHvANsA5oklfbplj4hsvl0iFDhhToDzorK0vj4+MV0LffftvihMXTmjVrtESJEtq6dWs9e/Zsvp6zdu1aLVWqlDZv3lzPnz9vccLiJz09XXv06KEhISE6b968fD0n+4rYnDlzLE6YN78tFlbeTLHwjZdeekkB/ec//1mg52VkZGifPn00NDRUV69ebVG64unnn3/WmJgYbdiwoaakpBTouStWrNCQkBAdMGCAmSb0saeeekoB/eCDDwr0vLS0NO3QoYNGRUX9ZnrXbqZYGIXyzTffaEhIiA4cOLBQXyxnz57VRo0aaUxMjJ44ccKChMVPZmamdunSRaOionT79u2FauPll19WQF9//XUfpyu+FixYoIA+9NBDhXp+cnKy1qhRQ5s0afKb7U52MsXCKLALFy5oo0aNtE6dOkWasti2bZuGh4frvffe68N0xdd//vMfBYq0UdTlculdd92lJUuW1D179vgwXfGUkpKilStX1latWumlS5cK3c7nn3+ugD7yyCM+TFcwplgYBfb4448roF988UWR23rhhRcU0I8//tgHyYqv/fv3a1RUlN55551FnkI6evSoli9fXjt16pTrDgtG3uLj4zUsLKzQI73sHnnkEQX066+/9kGygjPFwiiQHTt2aEhIiI4dO9Yn7aWnp2vLli21Ro0ampqa6pM2i6M77rhDy5Qpo4cPH/ZJe1OnTlVAJ0+e7JP2iiPvaODZZ5/1SXupqalaq1YtbdGihWZkZPikzYIwxcLIN5fLpd26ddMKFSoUeONpbtasWaOA/u1vf/NZm8XJkiVLFNBXX33VZ226XC7t0KGDVq1aVc+dO+ezdouLzMxMbd68udavX79I009XmzNnjmN7EppiYeTb/PnzFdC33nrL520PGjRIIyMjNSkpyedtB7OMjAz93e9+pw0aNNC0tDSftr1hwwYF9E9/+pNP2y0OJk2apIB+9NFHPm03+wrbmTNnfNp2XkyxMPIlMzNTmzZtqk2bNrVkCPzTTz9piRIldOTIkT5vO5hNmDBBgXzvu19Qw4cP15IlS5qjuwsgNTVVq1evru3bt7dkF+QtW7YooM8995zP286NKRZGvsycOVMBnT17tmV9PP744xoaGqp79+61rI9gkpaWpjVr1tQOHTpYdlzE/v37NSwsTH//+99b0n4wevHFFy3fEH3PPfdo6dKlbd3t3BQLI0+ZmZnapEkTbd68uaV7xyQnJ2vJkiV1xIgRlvURTLyjimXLllnaz4MPPqgRERFmijAfLly4oJUrV9YePXpY2s+PP/6oISEh+sQTT1jaT3amWBh5mj59um2nHDCji/xJT0/XOnXqaLt27Sw/2vrgwYMaHh6u48aNs7SfYPDGG28oYMuZCeLi4jQyMlJPnjxpeV+qplgYecjKytKmTZvqddddZ8s+997RxahRoyzvK5B5N6AuWrTIlv4efPBBLVGihB4/ftyW/gJRWlqa1qhRQ7t06WJLfz/88IMC+vzzz9vSnykWRq4WL16sgE6fPt22PseOHaslSpTQY8eO2dZnIMnKytLGjRtrq1atbDuH065du1RE9K9//ast/QWiiRMn2jItmF3v3r21UqVKthyjZIqFkatbb71Va9Sooenp6bb1uWvXLgXMF1MOvAV8xowZtvbbt29frVSpkl64cMHWfgNBVlaWxsbGauvWrW09CaP3GKU333zT8r5MsTBytHXrVgX03//+t+199+7dW6Ojox09cZq/uv3227V69ep6+fJlW/v9+uuvFdB33nnH1n4DwdKlS20fgXt17NhR69Spo5mZmZb2U5BiYfdlVQ2Hvfbaa5QuXZrRo0fb3veTTz5JSkoK06ZNs71vf/b999+zYsUKxo8fb/v1zDt16kS7du149dVXcblctvbt7954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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "label = 'LF'\n", + "drive = AcousticDrive(f_low, peak_pressure)\n", + "figs[f'emb {label}'], embedded_Vm_devs[label] = plotResponse(embedded_bls, drive, label)\n", + "print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### High-frequency drive" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 20:19:44: Simulating BilayerSonophore(32.0 nm, d=1.0 um) model with AcousticDrive(50.0MHz, 500.0kPa)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 19.00 mV\n" + ] + }, + { + "data": { + "image/png": "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8ahduzb+/ve/448//kC7du3QoEEDbNy4EX379kWLFi2wa9cus0PNO5KGPQD4AwjM8Ho3gN8yvH4JwGsAPgXQP8Py847KbtasGZXrJCYmcvDgwQTATp06cc+ePXe9n5aWxmXLlrF27dr08vLip59+SovFYlK0RceaNWtYsmRJlipVihMnTuSdO3fuev/cuXN8+umnCYAtWrTghQsXTIq06Lh16xZ79OhBAOzZsyePHj161/spKSmcOXMmK1euTH9/f06fPt2kSP8MwE46e/x2dkVXPAA8C+BL2/NKAI4COAigNgAB8B2AlrCOYUy3rdcKwCpHZWuycJ3ExMT0P/7333+faWlp2a4bHx/Pvn37EgD/7//+z8Aoi56VK1fS19eX9913H3/77bcc1128eDGLFSvGevXq8dKlS8YEWATFx8ezdevW9Pb25n//+98c171y5Qo7d+5MAPzqq68MijBnnpws/ADMAvATgM0A2tiSwTYAOwB8aFvPC8DXAH4GsBVAfUdla7JwDYvFwkGDBuXqDzotLY2RkZEEwC+++MLNERZNP/30E/39/dmsWTPeuHHDqW22bNnCYsWKsVGjRrx165abIyx6kpOT2a1bN3p5eXHhwoVObZPxi9j8+fPdHKFjHpss3PnQZOEa//73vwmAH374Ya62S0lJYc+ePent7c1Nmza5Kbqi6eLFi6xQoQLr1KnDuLi4XG37/fff08vLi48//rh2E7rYa6+9RgD89ttvc7VdYmIiW7duzaCgoD917xpNk4XKk59//pleXl7s169fng4sN27cYN26dVmhQgX+/vvvboiw6ElNTWX79u0ZFBTE/fv356mMcePGEQA/++wzF0dXdC1btowA+Nxzz+Vp+0uXLrFy5cqsX7/+n8adjKTJQuXa7du3WbduXVavXj1fXRb79u2jr68vBwwY4MLoiq7PP/+cAPI1KGqxWNijRw8GBATw+PHjLoyuaIqLi2NoaCjDw8OZkJCQ53LWrVtHAHzxxRddGF3uaLJQuTZ27FgC4A8//JDvst5//30C4KJFi1wQWdF18uRJBgUF8dFHH813F9KFCxdYqlQptm3bNscJC8qxyMhI+vj45Lmll9GLL75IANy8ebMLIss9TRYqVw4cOEAvLy+OHj3aJeUlJyezSZMmrFy5MuPj411SZlH08MMPs0SJEjx79qxLyps+fToB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3L59G3379kXjxo3RtGlTPPzww7h165bZYRVtJN3+APBfd9fRrFkzFkSHDx9m1apVKSIMCQkhAD711FNMS0szO7RC55tvviEADh8+nNu2bWOTJk0YGBjIvXv3mh2aymTo0KH08vLihx9+yE8++YQ+Pj7s2rUrU1NTzQ6tUAGwk84ex51dMT8PWO9h8T6AKQD6Aqjj6joKYrL4/fffWbNmTZYvX547duxgWloa33zzTQLgX//6V7PDK1R+++03Fi9enA8++GB6Io6NjWXFihV5zz338M6dOyZHqOxiYmIIgO+++276Mnuif//9902MrPDxxGQxH8BTADYDaAPgR1fXUdCSRWJiItu1a8eAgABu3749fbnFYuHo0aMJgMuWLTMxwsIjLS2NHTt2ZIkSJXj69Om73lu9ejUB8KWXXjIpOpXRiRMnWLx4cT7wwANMSUm5672BAwfS19eX+/btMym6wscTk8X6TD83ubqOgpQsLBYLIyMjCYBz5sz50/sJCQkMDw9n6dKlefbsWRMiLFwmTJhAAJwyZUqW748ZM4YAuG7dOoMjUxklJSWxRYsWLF26NM+cOfOn969cucJy5cqxadOmTE5ONiHCwscjkwWA+rafVQBscHUdBSlZfPzxxwTAd955J9t1jh8/zuLFi7N9+/baT5sPR48eZWBgILt3706LxZLlOrdv32ZYWBirVKnC69evGxyhsvvLX/5CAFy4cGG26yxcuPBPXVQq7zwxWdwLYCuAGwC2AWjq6joKSrKYN28eRYQDBgzI9uBlFx0dTQB877333BZPbGwsFy1axFmzZvHIkSNuqSMlJYUzZszggAED2LFjRw4aNIgzZ85kYmKiW+qzS05OZvPmzVm2bFlevHgxx3V/+eUXent7c/DgwW6NSWVt2bJlBMDRo0c7XHfIkCH09vbmtm3b3B7X8ePHOXfuXM6dO5e//vqrW+uKj4/nrl27ePDgwT91wbmLxyULIx4FIVksWLCA3t7ebNOmjdMDqkOGDKGXlxc3b97s0lguXryYXjasZ9kTADt06MBDhw65rJ69e/eyQYMGBMBKlSqxXbt2rFixIgGwZs2aXLlypcvqyuytt94iAC5YsMCp9d99910C4OTJk90WU3auXbvG/fv38/jx425PohldvXqVu3bt4r59+/jHH38YVm9Gv/76K0uXLs3w8HAmJCQ4XP/G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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "label = 'HF'\n", + "drive = AcousticDrive(f_high, peak_pressure)\n", + "figs[label], embedded_Vm_devs[label] = plotResponse(embedded_bls, drive, label)\n", + "print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### TI drives" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 20:19:44: Simulating BilayerSonophore(32.0 nm, d=1.0 um) model with AcousticDriveArray(AcousticDrive(49.8MHz, 250.0kPa), AcousticDrive(50.2MHz, 250.0kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 40.64 mV\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 20:20:13: Simulating BilayerSonophore(32.0 nm, d=1.0 um) model with AcousticDriveArray(AcousticDrive(49.8MHz, 166.7kPa), AcousticDrive(50.2MHz, 333.3kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 42.68 mV\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 20:20:44: Simulating BilayerSonophore(32.0 nm, d=1.0 um) model with AcousticDriveArray(AcousticDrive(49.8MHz, 83.3kPa), AcousticDrive(50.2MHz, 416.7kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 55.93 mV\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 20:21:18: Simulating BilayerSonophore(32.0 nm, d=1.0 um) model with AcousticDriveArray(AcousticDrive(49.8MHz, 45.5kPa), AcousticDrive(50.2MHz, 454.5kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 73.13 mV\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 20:21:52: Simulating BilayerSonophore(32.0 nm, d=1.0 um) model with AcousticDriveArray(AcousticDrive(49.8MHz, 23.8kPa), AcousticDrive(50.2MHz, 476.2kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 76.73 mV\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 20:22:27: Simulating BilayerSonophore(32.0 nm, d=1.0 um) model with AcousticDriveArray(AcousticDrive(49.8MHz, 9.8kPa), AcousticDrive(50.2MHz, 490.2kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 79.73 mV\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 10/02/2020 20:23:03: Simulating BilayerSonophore(32.0 nm, d=1.0 um) model with AcousticDriveArray(AcousticDrive(49.8MHz, 5.0kPa), AcousticDrive(50.2MHz, 495.0kPa))\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Average voltage deviation from resting potential: 79.62 mV\n" + ] + }, + { + "data": { + "image/png": "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nD59mkGDBhEbG2tXU6xSijt37nDz5k369evHrVu3GDZsGG3btqVGjRpZml8HDx7M2rVrGT9+PAB9+vTBx8eH9u3b06xZM0Tkro9933zzTTZu3EhoaCj9+vVjzpw5uLhoBrAPPviAdu3acfnyZZ5++mmefvppjh8/TocOHWjTpk22chQn9CjoDsSyZcsYP348/fv3zzK8v61ISkrKWJTev38///znPx3K/GgvoqKieOyxx1izZg3+/v706tXrrpGuLUlLS2PPnj1s2rQJgC+//JIxY8Y45DpZURMREcHXX39N165dKVu2LD4+PkXaIcfExBAfH4+npye1a9fG3d29yMoGCAwM5Pjx4/n6YLu4RUHXlZSDkZiYyIEDB1i7di1//PEH3t7etGjRImP0VNgkJCSwdetWwsLCGDNmDC+//DJ16tTRO8J7WLJkCc8++yyRkZH06NGDlsFgmykAACAASURBVC1b2rS8kydPsm7dOm7fvk39+vVZvnx5luswJZWUlBT27NmDu7s7BoMBX19fvLy8bPbspqWlAZqLfGpqKu7u7lSoUMEu74qupIopzqCk0kmPX3bo0CH8/Pxo0aIFzZo1K7RQN9HR0ezevZt9+/aRmppK586dmTdvXrGNIFEUxMfH88YbbyAilClThuvXr5OamkqVKlUKpaMym82ISIbL8sWLF/nss88YNmyYPmjIgvDwcCpXrsyFCxdISUnBaDRmKKvCwmQycefOHRISEvDy8qJq1ar4+voW23uiK6nsCtPu6iXglOXQTqXUGyLSB3gHMAFfK6XmiognsBAoD8QBo5RS2YatdiYllc7y5ct5/fXXOXnyJK6urgwYMCDf22EopRARTCYTH330EcnJybRu3Zr//e9/NG7cuJAld16Sk5M5cuQIo0eP5siRI1SqVInGjRtTp06dPH9KoJTi2rVrHD58mMOHDzN06FCqVq3Ko48+Sv369YvcjFTcCA8Pz3gfIiMjuXz5Mm5ubvj5+aGUIiUlBTc3t3wplMTEROLj4zM2KfTz86N69erFLiaiNUopjh8/riupLAsTqQ3MVEr1sTrmCoQDDwHxwHagD/AY4KeUmioiw4DWSqlJ2eXvjEoqnR07djBt2jSCg4MpW7Ysx44dIywsjOrVqxMQEIC/vz9eXl74+fkhIsTHxxMVFcXt27e5ceMGERERpKam8vTTTyMi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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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KzNr1izmzZtHTBGfwltYhg4dSlRUFC+++CKjRo2idu3aOOSwi0T//v1Zs2YNzz77LKCly8vLi/bt29O8eXNEhHLl/ly79+677/LHH3/QoUMHHn30UWbOnHl3GcukSZNo164dly9fZtSoUYwaNYqIiAg6duzIAw88QM2aNXOUozRh7IJuI1y5coWZM2eydetWbty4QXh4+F8Ka0lw7do1Vq9ezblz5wgMDGTRokW0bds2b492SkpKCuPGjWPKlCn4+PjwyCOPUL9+/RJdlJ2amsquXbvYunUrTk5OrF27lgceeMDuFobnF4vFwkcffcQHH3yAyWRi3bp11KlTp8Qr47S0NG7fvk2FChVwcXHB39+/RGUICgoiIiICN7eCL2Q2dkE3KBRVq1Zl/PjxBAcHc/jwYT7//HPWrl1bYuuq9uzZw4wZM7h27RoffPAB586dK9MKCrT5w08//ZRly5bh5ubG4sWLmTNnDmfOnCn2uNPT09m5cydTp05lw4YNNG7cmKNHj96d5yirODg48O6773L69Gm6detGamoq165dK7HlAyaTibi4OGJjYzGZTHh6elKpUiW76LHYKkZPygY5evQoL7/88t0hp65du9K8efMijcNisRAZGYm3tzcBAQHExcVx8+ZNpkyZUuonWosDk8nE5MmT+eijj6hcuTIDBw4ENGVSlLuIKKUQEeLi4vj888+pW7cuX331FR07diyyOOyJgwcP4uPjg6urK6AZlbi6uhb5zi5KKeLi4khNTUVE8Pf3JzAwsFQOt5a2nlSJKinRmoCXgNP6rR1KqXEi0guYAKQDXyulZomIO7AAbXuv28BTSqlcB6HtRUllcPDgQd59910qV65MjRo1iImJ4fTp09StW7dQikQpRXR0NMePH+fw4cPcvn2bpk2bMn36dO6//36jNZgPUlJSOH78OCtXruTatWvMnj2b+vXrU69ePUJCQnB2LvgWPYmJiZw8eZJjx47h6urKgAEDCA4Opl69erRqZTs7l9siJ06coF69elgsFm7dukVUVBSgGSe5ubnh5uaGk5NTgXufSilMJtPd3hJo84JeXl5UrVq11G5vppQiIiLCUFI5RiZSG/hUKdUr0z1n4ARwP3AH2Ab0AgYD3kqp90VkINBGKfVqbuHbm5LKwGQycfbsWd544w1WrFgBaLsLVK9encqVK9OmTRscHBy4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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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kkQLFy706dOn+5tvvul3332333jjjf7111874E8//XSF8iUlJQ54nz59fMuWLT5p0iTv1auXr1ixwt3dR4wY4e+++268/CWXXOK33nqr7969u9x8Sr+DA7ulS5f6JZdc4kcffbQDfu2118anKfu/9+qrr/rKlSv95JNPdsBfeOEFz8vLq3J5V65c6aNGjfJly5bVdJXVOSDLE5gDatIFUwk8leg66ioplZSU+Pjx433r1q3lhufm5nqnTp38008/dXf3goKCCj/qhx56yN3dd+7c6fv37/fNmzeXG3/BBRc44C1atKj0H6NsN3HiRG/Xrl2l4x988MFqzedwuzFjxpTrv/XWW8v1DxkyxAFv06aNDxkyxLdu3eoTJ070/fv3+7p16+LrbOvWrT58+HAvLCz0PXv2lFuf+/bt86lTpx40kZdVUFDgt912W7kNfnFxsT/66KO+b98+/+STT3zNmjVeXFzsS5Ys8fz8fH/wwQd98+bN7h7d8C1cuND37dvnQ4cOLbccgwcPdqDcOs7MzPTdu3d7JBIp9x2///77PmHChHh/u3btfMKECb58+fJy8xw9erTv2rWrwjq98sorKwx75513Drr+33rrLZ8+fbrPnDnT77777oOWOfvss8v9NsuOu+KKKxzwnJycSn/je/fu9Q0bNvjNN9/sRUVFXlhYeNCykUjEly9fHv/ODiY3N9cHDRrk33//fYVxH3/8se/fv7/C8NLkc2B34oknxj//4x//8PT0dH/99de9oKCgXGI4sJs7d278c6mDlatsfVbW5ebmel5eXrXKvvjiiz5x4kR/+OGH4zHcd999Dvjw4cPLlX3uuef8+++/91dffdWLi4v9888/P+i6Lfs95Obmxr+/0p3C6iTDQ+EITkotgf8EngOuAE6r6zpqmpS2bt3qgPfr18/XrVvn6enpDviFF14Y3xhnZmb6P//5Twc8IyPDH3744Qobo9Juw4YNCUkUQXatWrWqsAE8VPm0tLQKw2644Qb/9a9/7YDfddddDvisWbM8JyfHx44dGy/Xtm1bv+aaa+J7s3v27PHRo0d7QUGBz58/3ydPnuyA33TTTf7ee+854CNGjKgQ1/XXX+/wQ4I5VDIv7Xr06FHtddKmTZukfy/V7Uo37NOnT48PW7lypV966aXlynXp0sXhhw3mPffc44Bv2bLF165d6+np6d67d2+H6NEA4DNnzvScnByfMmWKT5kyxXft2hXf8I4bN87d3bOzs33IkCE+adKk+Hfz17/+1QF/5ZVXPBKJVGs5qrvzFsbuhBNO8FNOOeWQZbp3716uPysry5cvXx5PVO+9955v2rTJ//znP5crV7ozVdqtWrWqRts+9yM7Kb0GDALmAz8DMuu6jpompXnz5lXrR9a8efNy/T179kz6Dz9Vuk6dOlVZZuzYsb5w4UIfOXKkQ3SnoOz4VN5ABd21b98+aXU3adKkyjLPPvts0tdRferefPPNGm373MOZlIJq0eE4j74XqcjdPyb6WvSUkpeXV65/165dSYok9axZs6bKMlOmTKFXr168/HL0fY4ffPBBufF79uxJSGxStwoKqm6s5bbbbgsgEklVQSUlzKxz7O+JQCSoehOlpKSqV0LJ4fj2228B2LRpU5IjSX3RHeDwys/PT3YI9YpZyu3jH1JQzQwNA/4GnAHMBIYGVG/CFBUVJTsEEZF6J5AjJXdf5u493b2Vu/dw9yVB1FsdNd2rXL9+fR1HIlI3So86w6pr167JDkFCLNHNDK0nejGuVBHQCChw9zMSWXd1hf1Ux5HmqKOOori4ONlhSAItW7Ys2SHUK/VtG5boI6XOwJnAR8AAdz8duBJYkOB6q03XhsJFCUnk8NS3pJTQIyV3LwAws47u/lls2Bdmdnoi6z0ckUjK33MhIkew+rZjHdSNDrvN7D+Bz4CeRBtqrZSZNQAmAecQbaLoJndfm4jAlJREJJVt3rw52SHUqaBuCb+GaBt4/WJ/b6yi/OVAU3fvCYwCHk1UYHreSERS2bBhw5IdQp0K6iV/e4GnDmOSnwPvxqb91MwyEhIYcPXVVydq1iIicpgCe3j2MLUEvi/THzGzCgnUzAabWZaZZeXk5AQXnYiIJERYk1Iu0KJMfwN3r3Bblrs/4+4Z7p7Rpk2bGlXUsWPHGoYoIiJ1LaxJaSHwHwBm1gNI2IMNEydOTNSsRUTkMAV1993hegPoY2aljbdWdWNEjV122WWJmrWISMKNHz8+2SHUqVAmJXcvAW5OdhwiImF11113MXDgQM44IxSN49SZsJ6+C9Sdd97J5ZdfztSpU7n66qsrbXX3rLPOYvLkyaxZs+agze8fqkn+OXPm0K1bN26//XZ+//vfc99999GjRw969epVrtyAAQO48847K0z/l7/8pVx/Rkb0hsT+/ftXWufRRx9d6biyevfuzahRo2jYsCHDhg3j7bffjo9r164dH374Ybnyv/jFL1iyJNp8YadOncjMzCQSiTBq1Khy5T766CM2b97MunXrDlrvlClTWLVqFevXr2f79u0sXbqUnJwcIpEIq1atOug03bt3591332Xu3LksXbqUtWvXsnLlSqZPn86//vUvxo0bx+LFi3nooYfIzs7m888/p7CwkNdee40//OEP5eb16KOP0q1bt3LDqtMuW+k0I0eOBOCpp57i+uuvB2D06NHxOAGaNWt20HmMGTMm/nnkyJEMHTqUJk2axO8GHT58OABNmzaNl/vVr37FSy+9xBNPPMH8+fPjwx944IEqYy7rsccew92ZNm0aM2fO5KuvviIvL4+3336bRYsWsXHjRlavXs22bdt48sknmT9/foVXiRzod7/7HTNmzCg37I477qhQbvLkybzzzjvVivP999/nqKOqv9+cm5vLtGnTOP/887n//vvJycnhJz/5CQCtWrWq9nxKXXPNNYwcOZIzzzyTsWPHxod3796dxx9/PN4/aNAgJk2aFO/v27cvHTt2pGHDhnzyySeUlJTEv89S9957LytWrKB58+aVfn99+vRh1KhRHHvssUD0d7Z7924yMzPJzc3loYce4swzz6x3rYRbfWmiIiMjw7OysgKvNzc3l40bN9K2bVtat25NJBKJN/uxfPlyvvrqK8444wzOPffcSufh7uTm5rJo0SIuvvhiIPqU9r59+2jevHm8XCQSYdasWVx22WXlfoiFhYWMGzeOiy66iLS0NObMmcOf/vSn+AYxEokwZswY2rdvT9euXfn6669p2rQp8+bNY/To0aSnp1eIadmyZTRu3JhTTz2VRo0asWPHDtavX0+nTp340Y9+VKN1VVRUhLvTuHHjGk1fF/Ly8sjOzuaYY47hpJNOAmDbtm3Mnj2b0047jZ49e8bL7ty5kxkzZpCenk7Lli0577zzSEtLO+h83Z3CwkKaNGkS79+/f398x6C4uJjXXnuNtm3b0rFjRzp06FDtmBcsWEDz5s3p0qVLpRvpjRs3snLlSn7605/GN2L5+fk0bdqU4uJiSkpKaNy4ca03YPEXsTWo3f7snj17WLZsGWlpaZx11lns3r2bSCRCgwYN+PjjjznxxBMr7DBs376dDz74gA4dOtCiRQsaNGjA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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEhCAYAAAAu+OTtAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xd8FGX+wPHPN733kISWQOhgAQEBQUFQRBAbNhRPPc8720+9Oz2s51lOvfPO3s9y1rOhIhasKAIiVSCA9JCQSnpPdvf5/TGbEGISkpDsbpbv+/XiRXZmduY7szPzneeZZ54RYwxKKaWUp/JxdwBKKaVUazRRKaWU8miaqJRSSnk0TVRKKaU8miYqpZRSHk0TlVJKKY/WpkQllv+KyJ/bO52I+IrIoyKyVUR2iMgfmvlelIisd/7bISJVjT7/0zmNEZG4Zr57t4g82czwTSIy2fl3koi8LSIbRWSDiKwUkTNbWY9wEVksIsHO+eeLyELnuGdEZLeI3N/atmgLERkjIjX16+XcfveJyHbnuj8tIkHNfG9+o+2zXkT2iUipc1ykiFQ3GT+lmXnc7dymlzcZHioi5SKyyPn5svq/m0y3RETmdMI2WC0im0VEDndeTeZ7o4hsajJsf5PtcvEh5vFo43Vvx7Z9pbljpdG+tF5E1jn3xa9EZNAh4rhfRPY29zs0M+0S5/55l4hEiMgyEUkTkXMO9d1W5vm+87isX+dHnMMPeWw7pwsWkZecx2Sa8+9g57ijnPtb4206uJl5vOLcX6c0GZ4iIo76c0Ar54M9IjK6o9vAOQ9/EckWkc8OZz4tzLvd+5qI9BORwpbWq7VtKyLXi0hOo+FLW5hHS+fdPSLyS6N9OU1EHhGRFnOKc39Z74xpjvPzIhHpccgNZIxp9R8wFPgGqAD+3N7pgGuATwE/IBrYCoxtZT6TgU3NDDdAXDPD7waebGb4JmCy8+9PgJsajRsGFAFDW4jhaWBOc/MHHEDvQ223NmzXOGBN4/UCLgfWA1HOz3cCDx9iPlHANmCG8/N04Is2LP9uIB34psnwS4EcYJHz82X1fzeZbkn9NjqMbXC883daD5x2uNu00XxPALIa70fAYGBbO+ZxPpDfeN3bsW1fae5YaW5fBa4HVrdhns3+Dq39LsCJwI5O2J5ZQM9mhrfp2AbuA17FujD2Bd4C7nGO+z3wfBu3aTrwUpPhdzn31ydb2sbO4XuA0Ye5HS4APnPuF82eOzo433bva0AQsAwob2m9Wtu2zt9gbhtia+m8e9D2BAKAFcB1HdhH3zvUd9pSoroW+A/wbuOBIjJaRNYfajrgbOBlY4zNGFME/A+4pA3L7UxJQHB9tjfGbAZmYyWrg4hIH+AM4MNmxi0FBPhMRCY1Gde0lFP/L7aZ+fgArwO3NRl1HPChMabY+XkBcKhSy8PAZ8aY+qu8CUCMiPzovNK5upXvfg4MF5HejYb9xhlbm4jI8U3Wt7Clq7NmXA0sci7vxlaW8V4z2/WDFqZNAJ4Ebm4yagJgF5GlzpLMXSLi28I8hgK3APc0M4+2btv6eT0iIl+LSFgLk3wNDHFOO05EvherxL9XRF481PxbWe5g4CWgl3N7BTcZ36ZtKiL9gHDgBbFqJF4WkRjn6LYe298D9xljHMYYO7AOSHaOmwAMFZG1IvKTtF7y+x8wu8m6XAC8c6jt0Wh9zm6yzuUi8lobv3418BHwNnBDK8tY3sy2faqFaTu6rz2Flbz3txJva9t2AnCx81hYLCJHtTIfRCRRrBLxtc2NN8bUAks5sC/f5tyPN4jIThE5u4XvfQ8ME5FjW1u+X2sjnTO6zrngU5sMXw0ce6jpgD5ARqPPmcDRh1puJ/sz1snwjyKyDPgBeNMYk9PMtGcCXxtjbE1HGGMmiYgBphhj9jcZ9yDwYBvjuQf4yRizWA6u8VoJ3CRW1UUhVukmqaWZiMgw4CwgtdFgG/CxM5Y44FsRyTbG/CrxAnVYB/nFwEMi0hfrpLQJ5w7nNKnJRQnAAABjzEqc+4GIjAHeB37X8qo3xB6DdZIZg3WwPSAiw5wXEQcxxrSpitGZeN7EOvDrmoz2A74C5gP+WKXsUuDRJvMIA17DKsE0rVJpz7YV5+/YEzjdGFPT5LdGRPyA3wLfOgfdANxljFnijGO3iBxnjFnTlvVvzBjzi4hciVW6+NVJoK3bFOiBtd3+D6tk9ShWAjyLNh7bxpgv6v8WkWSsi5KrnIMqsK7unwMGAd+JyF7n+aWpfKyr9tnA2yIyEdiCdaw0rp66wDmusZ7OWD4APnDGcgbwCNb5oVXOY208cC5WTch3InK7MaagmfWdcKj5OefZoX3N+bv6G2NeEJHbW1lEs9sWa5ttBR4yxnwvIudjXXwPMcaUNzOf3sAbwN+NMW+0sC49sS7w73D+xtOwarSqRORCrHNesxeXWPvX2Vg1K806ZKLqBD5Yxcd6Atg7cf6OVpZrBzDGfOM8CY/DKmqeAdwlIicbY1Y1+d4QYEd7gxCR+cCFzYya2nhnFpGZWFVe05tOaIx5zVm6qa9CfR6obWWxN2KdiEoazePeRuP3ichzWDtBcydTsKpkXgIeAuY5Pze11Bgzq/EAEVnS5PMArBLgJcaYra3EXO9yYLMxZpPz+19inah/33RCEXkPZ2JsZLcxpulV2gPA98aYL8V5f7KeMeaFJvP8N9bJ96BEBbwIPGGM2SRN6v7buW3/iHWSP9YYU9NoeOOTaADWSa8+sf8GOF1EbsPaD4OBlkpih6Wt29R5IXJ2o+/dDeSISADtPLZF5Disk9WTxphFzvlf02iSLSLyNtbx2VyiAmv/vBSrVPMbrFJF05P82/UXzo2WvafJ53HAM8ApxpjclmJu5GqsqrkCoEBEdmMl2weaTigiy4GQJoOXGWOalkbava85E80fsM5jrWpp2zovAqY3mu4dEbkT66LxW37tU6yLkDebDH9DRKqw9oM64D/GmPcBRORSrBLbAKzzbmv78W6sc2KLXJGo9uK8mnHqibXSnWU/1v2xphKwdqgeWPXW1xtjfsAqTf1dRP6DtaM3TVSGDrSGbEeJ6gqsK5S1ja6wvxWrUcMurJLeAwAiMoEWkqaz9HAuVnVh4+HXAx8ZY/bWD+LXpYvGca8S66bmsVglnMlYV6xt5tzGnwHzjTHftWF6wTrYYhqdQEKAySJyW9Or1HZc/c8D8pzVDGE4q72MMceKyDzgZ2PMhvowaLJdnBcJk4DBInITEANEisinxpjT27ltv8O6h/CKiIwzxtRP96uTaCPfAxuwqmTfwTp4O7WRSb12lFInAdHGmIX1g7AuDu2049h2XlU/jXUP403nMF+sEu7jxpiyRvNvcX8FFgJPiVVFfyJWAmlXIwmxGq+8D1xsjNnShulDsfatmkb7awRwnYg83Oi3BdpWojqMfe1S57KXO88fPbESxs2NfqNWt62zxDPbGPNE45Boebv/Hrgd6+LrX42GX9xcyVdERmFVkT4CfIF1LDzTyuao4xCFF1c0T/8IuEJE/EQkCqvU0dLVfUd8BUwVkYaqKmc2L8Eq3hYCpwA3OE+QiEgIVnXZ2mbm9wsHV6V1KmPMucaYocaYYxtVyUxx/uCjgQ/Eal3kh7WjNVvUBo4Ciowxe5oMn4jz/oyzeu23WFefrXkNa6faZowpbM/6OKsvPgFebKlaoBmnYJU2+htjUowxKVgHXDbNlKjayhiTZIw5xrldrwR2NtrGI4B7nEk5GLiOJtvFGJNpjOnZ6Le5C6s0ebpzkvZs29VY98qKsS6UWuU8NsYAfzHGLMC6mBmA1fjAncKAJ+TAfambsW5+22njse2sYnscOLU+SQE45zEbZzWg8wR6LlYSaZazdPoBVsnq4+aq6FsjIolYF1U3G2OWtPFrFwMFWA1K6vfX/ljb5rz2LL9eR/c1Y8yNxphBjb6XhZUwFjaZf2vbtgK4T0TGOsedjnWh+FML4a7Auqi/Q0RGtGH1TsRqIPRvrCR1Fq3vx/2wztUt6nCikl83pmjJM8BO4Ges0suLbbnqbitjzDasH+M1sW5absE6YGYY6+atDTgVq355t1hNlldiFeNfamaWHwJTpIUb7V3JWZf/GdZVdRpWXXJ9U+DZIvJpo8kHYrW8aeo6rJJEGvAj8Iwx5stDLPp1rJ3rlQ6EfT1wDFa1xDrnb7DeGfM9ItL0JjFYV8HPN6mytAF/B64VEf8OxHEof8O6aNmItX2XYzX+QUT+4CxhH0q7tq0xxmCVoK9xlo5bZKwGNA9glbQ3YV2kLOPX1XPN7QtdxliNdB4HlolI/UVcfYmwxWO7yW//MNYV+3/k140LLgZmiMhGrH3/xjaUcl7FKvm/0oFV+hvWRdKNjWL51Bnzf6T5JvZXA/92nvyBht/rceCmDsTQFh05jhGRT0Wkvkak2W1rrPvr5wPPOed/J3C2sRpENMsY8wtwL/C6s9q3NW8Bcc5z8WaslokxIhLewvSnAu+1ul7WsaQaE5Hnga+cdbd3YzXPbKm6RrVARAYCvzXGzHd3LN2diFyG1aR3lrO0/YYx5oJmpluCdQ+o1QNf/ZqInAKkGmOedXcs3qzxPirWveRrjTGtlky1Z4rm3QL8Tg40g71AnA/8qnYZjHXVqQ6DWA+XNy6ZDsVZ0m7BP0Xkrq6NyivF0nJVuzpMzmr39TjvKTprrW7BatTU+ne1RKWUUsqTaYlKKaWUR9NEpZRSyqNpolJKKeXRNFEppZTyaJqolFJKeTRNVEoppTyaJiqllFIeTROVUkopj6aJSimllEfTRKWUUsqjaaJSSinl0TRRKaWU8miaqJRSSnk0TVRKKaU8miYqpZRSHk0TlVJKKY+miUoppZRH83N3AJ0pLi7OpKSkuDsMpZTqVtasWbPfGBPv7jha4lWJKiUlhdWrV7s7DKWU6lZEJN3dMbTGLYlKRNYBJc6Pu4HngMcAG/CFMeZvIuIDPA0cA9QAVxpjdrgjXqWUUu7j8kQlIkEAxpjJjYatB84FdgGfiMgoIAUIMsaMF5FxwL+AM10dr1JKKfdyR4nqGCBERL5wLv9uINAYsxNARBYDU4Ek4HMAY8yPIjLaDbF6DGMMZWVlLFy4kB07dpCZmUlOTg4FBQXMnj2buLg40tLSeOuttwAQEfz9/QkODuaGG24gNTWVXbt2sW3bNpKTkxk0aBDDhg0jOTkZHx9tU9NRNpuNtLQ0fvzxR7Zu3UpWVhaFhYXU1NRw+eWXU1FRwYIFC9i6dSvGGPz9/QkKCiIuLo758+cTHh7OunXrqKmpoV+/fgwZMoShQ4cSGBjo7lXrthwOB9XV1XzwwQds3ryZzMxMcnNzKSoqYtCgQUyaNImKigoeffRRqqqq8PHxISAggKCgIMaPH8/cuXOx2+18/vnnJCcnM3DgQIYOHUpycjIBAQHuXr0jkjsSVSXwMPAfYCDwGVDcaHwZ0B+I4ED1IIBdRPyMMbbGMxORq4CrAPr27dvhoL799lsiIyMZNWpUh+fRGRwOB2vXrmXp0qWsWrWKtLQ0UlNTOfrooykqKuLxxx9vmDYoKIiQkBDWr1/P0KFDKS4uJiYmBrASm91up66ujrS0NPLz81m9ejWffPLJQcvz8/Pj9ttv5/jjj6eoqAgfHx+mTJlCQkKCS9fb0+3du5elS5eybt06Nm/ezI4dO7jgggvw9fXl008/ZdWqVQANiSg0NJQ9e/YgIvj5+REREYGIYLPZqK2tpaCggLVr1wLw6quvsnv37oOWl5yczD//+U/69u1LRkYG/fv355hjjsHX19fl6+6pqqqqWLlyJT/88ANr1qxhy5YtBAQEcM455wDwxBNPUFhYiIgQGhpKcHAwIkJqaioOh4PQ0FBCQ0NxOBzY7XZqa2spLS1lxYoVVFZW8sQTTxy0PF9fX+bOncull15KaGgo27dv58QTTyQ5ORkRcccmOGKIMca1CxQJBHyMMVXOz2uBaGNMP+fnGwB/oCfwozHmHefwTGNM79bmPXr0aNPRxhT1O5ort4cxhg0bNvDjjz8yfPhw1qxZw/z586murgbAx8eHmJgYRo0axfjx46muriY3N5fIyEjCwsLw82v/dUb9wVhSUkJRURHFxcVMnToVEeHjjz9uOHlGREQwYsQIJk6cyO23305ERESnrrsnq6ys5JtvviE+Pp7s7Gyefvppvvzyy4bxQUFBxMbGctFFFxEaGkpBQQE1NTXExMQQFBTU7uXV1dVRUVFBWVkZRUVFFBYW4ufnx8SJEwF47LHHKC4uJiAggP79+zNmzBjOOusszj777CPmBGmMYcuWLSxbtozBgwezbt06nnzySXbssG5bBwQE0KNHD3r37s306dMByM/PJyQkhJCQkA5tp5qaGsrKyhqOlYKCAsaOHUt0dDRr1qxh0aJFAISEhDB8+HAmTpzIPffcQ1hYWOetuIuIyBpjjMfWWrkjUV0NHGWMuUZEegLfYDWiOBPnPSrgb0Bv4AxjzGXOe1R/NcbMaG3e3SFR7d69m+eee44lS5awYcMGqqqqiIiI4KabbgJg3bp1GGNITEykR48eHUpGHVVdXU1OTg5ZWVlkZWWRmZmJv78/1157LQDr168nISGBWbNmMW3aNIKDg10WW1eqrKzk008/5ZNPPuH7779nz549OBwOLrnkElJTU8nJyWH37t307NmT+Ph4QkJCXBpfbm4u2dnZ7Nu3j3379pGbm8vIkSOZNWsWPj4+rF69milTpnDmmWfSr18/r0lemzdv5t133+Wbb75h7dq1lJeXIyLceuut+Pv7s337durq6khKSiIqKsql611TU0NOTg7Z2dlkZWWxb98+CgsLueOOO/D19SU9PR1/f39OO+00pk6dSmRkZJfF8tBDDzF//nx27NhBampqh+ahiarpAkUCgFeAvoAB/gI4gEcBX6xWf7c3avV3NCDA5caYra3Nu8OJyhiiIsP5zayJPHbLpe3/fgtq62x8t3ozP6XtoqC4jIiwELbvzeHNz5YTEhRI38RY+iTGktIzjp7x0Z223M5UW2cjwN9Klv/9eCl7svIB8PXxIbVPDy44dTx/vvR0IsJce/I+HGUVVXy+7GdsdgdlldWs2bKb59//Bh8foWd8NMlJcfRNjCU5KY7AAH93h/srdTY7dXU2QoIDKS6r4Ln3v6G6pg6AiNBgjhvWjxsums7sycd1m6RljGHd1j18/P06BvdNZGt6Nj9u2MHiFRsIDw0iJSmePomx9E2MpUdMhEeuV0VVDcGBAfj4CG9+tpzte3Maxg1KTuKKM0/kmvNPITy0cy/wTr7qfr5dtZnFHy/g1Flnd2gemqhcqMOJymEnLDSEy6aP4t/XnN5wYm4vYwzVtTY+WJrG/BcWk5F/4BbbScf0Y/Ix/SirrKGmzkZsRMeqI9ytutbG3rxi9uQUsSenmAG9Yjh5ZCo2u50PftjCCSP6MmvcUKYdl0pIkGfceHY4HLy9ZCOLV21j6YZ09uQU4TCG0YN6MXPcYBwOw+6cQvrER3b4t3cnYwx5xRWk5xazN7eY9LxiZk8YysBesWTkl/BLxn6mjkzlzBOGckxqEr6+ntF4Jj2niJc/X8M363axdnsWFdW1AJx30giGJfegsrqW6job0WHB3fJYKSytJHN/KbuzC9masZ9LTxlJUmw4W/fm8836XQzuHceFJx/NzHFDSEns+IXqCdc/y/K0vXzy5HxOv/aBDs1DE5ULdThR2W28fOuFXPHP9+kdH0naSzcQEdryvQZjDDa7g4y8Yp77+CfeX5rGzqxCAG4+37qv8PC7PxAdFsyAXrEM7BVLSmIUfl54I9wYg4hQWFbJu99tIreoHGOsqtQ+8RH88byJnDNpOD2iQvH38+3yFoZ5ReUsT0tn2aZ0KqrrGNwnjsLSSh59fznlVbX0jAsnJSGa5IQo+vaIIsDfO38TsH6DrXvzWbx6O8Xl1n3PQH9fhiX34N9Xz+S4wb0ICw5wSRLYX1zOl2t3smT9LqJCgwgO9KeorIrHP1hBREggyQlRpCRGk5IQRXR490xMbWG3O/jgh81s2ZuPw/k7RYcHc+9lp+DrK6zYvJfZE4Zy3KBe9IqLwN+v9f2zpLya8dc/w5b0fD589M+cecM/OxSXpyeq7nf52CUM2/ftByAzv4TIM+5hSN94RqQkEBzoT3VtHeedNIINu3K57/VvAeiXGM0pxw3g+U9WNcwlONCfgtIq+vSI5K55J7tlTVyt/oQSEx7C72eNpbq2joy8EvbmlZCRX8KGnTkUlVWxOT2Pj5ZvoU98JMNTejA8OYFhKT2YNX4wUe2sNjTGUFZZw779pcSEB1NQWsnfXv2GLxqdkMH6jXpEhSIiXDLtWCJDg7wyMTXV+CQ/pG88Q/rGU1JR3VDa2re/lK/X7mDJz7v4fNV2duzbz8BecQxL7sFR/RM5NjWJySP7t3u51bV15BaWU1xeRURoELmF5fzfkx/zS8Z+SitrnLHBpKNSmHJsf6LDg7nhnPFEhgZ5bWJqytfXhzknjcAYQ25ROZvT89mbV8z2ffn8vDOHJT/v5tUv1gHQKy6Cq2cfz8PvLKV3XCTTjkvl6tnjuOe1b9iVVUhocAAjBySxJd2qjq+rs7W26G5NS1SAsdXi49/6cyvTRqXy1dqdDZ+njx7I6MG92LArh7iIEHrHR+Ljc2QcbB2RXVDG2h1Z5BWVk1NYTq3NDsAN54wnKiyY5Wl7Wb1tH5EhgQQF+BMS5E+gvx83njsBEeHDZZv57ufdlFbUUFlTh93hwN/Ph1svOgkR4bsNuykoqSQpNpykmHASY8IJCtDrsEPZsCuHLXvzyS+uoLCsCmMMESGB3DTnBAA++CGN3KIKwoICCA7yx9dHSIoJ58qZY6iz2Xnqo5Vsz9xPSUU11bXWibJ/UjTzThkJwNtLNuLv60N8VCh94iPpGRveLatXXaGorIo9uUVs3JXL7pwizp44DAEW/LC5YZqQQH8qnfcjm3rpb7/n8rue7dCytUTVDdTV1jY7fGCvWLbvKwCgd3wkM8YOIiIkkL49IgkO9EdEGDWwpytD7baSYsOZGTsYsEpElTV1FJVVERFiVbHGRYbQKzaCqpo6qmrrKKmops5uZ/2ObAL8fSmtqCYsOID4qFBCAv0JDQogLDgAhzH4inDS0f3cuXrd1tH9Ezm6fyJgVUsVlVdRVXPgyjwuMpQ6m4OaOhsl5dUYYzAGNu6yGgpU19YRHRZEnx6RhAcHEBoUQEzEgRLyBZOPcu0KdWPR4cFEhwczcsCvzykbd+dy3KCefLJyGwARIYENpVSAMYN74bA7XBarq2mJCqgsLSI0Mqbh85Rj+2N3OBg/rA9+vr74ecjNZ6XUkc1md7C/pIKIkEDe+W4T6blWXwmnjh7ApWefysW3PdWh+Xp6iUrPwBxcohrYK5axQ3ox5dj+BAX4a5JSSnkMP18fEmPCCQkK4LLpo5gxdhAAX6zeQWZuoZuj6zp6FgZsNqvO95TjBjB36jEEeeCzM0op1dTYIQc669m6J8uNkXQtTVSA3W7Hx0fw1cYQSqlu5sIpRwPgcHjPbZymtDEFEBkRwZ2XTHF3GEop1W69461+OL03TWmJCgBjvLe1jFLKuwmu71Db1bREBezfv58Pl21m5IAkkhM8s889pVTzAoJDGXXqhUTGJVlPFB9hjDGcfHkNocGBbNmypdVpg4KC6N27N/7+3es+vCYqoKyslJ935ji71nF3NEqp9hh16oX0Hzyc0ODAI6aHi8aMAbvDQVBwMD16pbQynaGgoIDMzEz69etezx1q1R8Huh7RniWU6n4i45KO2CQFViHSz9fnkI3BRITY2NiG9911J1qiwnpxHRyRtQZKdX8iR2ySAqtEVVFdCz6HPp131+2kiQqwO5+j8ummP6JS6shWWlmDrwtfsupqWvWHlaCCA/zw7eJXUCilVFdauXIlkydPdncYnc57U3A7DBqYyi0XnujuMJRSqsOef+FFPv18MaGhoe4OpdNposKq41VKdX8/7q2goMreqfOMDfZlXN+WT/47d+3mpltuxd/PD19fPx7710MkJSbwt/sfZNXqtQCcNXsWV15+KTfePJ8zZ81kykmT+Pa7pXy06BMe/eeDjJ14MgNS+zEgNZXL5s3l5lvvoLaujuCgYJ55/N9U19Twl9vvorqmhqDAQB66/x569Uw6KI6+ffqwYMEC5s2b16nr7wk0UQHpezN4Z8lGJgzvS+/4SHeHo5TqRpb+sJyjRwznr7fPZ+WqNZSUlLApbTMZGfv4eMHb2Gw2zj7/Yk4Yf3yL88jKzubzj98nJjqay6+6huuu/j1TTprEwk8+Y9Pmzbz1zvtc8Zt5nDz5RJYuW8ED//gXTz76sPVl56316dNPxa+bPR/VVm1KVGI1FZkJTAZigTzga+BL4wWPQ5eUlLBlbz5H9dOHqJTqzlor+XSVCy+Yw9PPvsDFl/2OiPBw5t98Ezt27mLsmOMQEfz9/Rk18hi27dh50PcanzpjYqKJibY6G9i5azfHjTwWgNkzZwDw13sf4Imnn+Pp517AGIO/f0DDdwVIiA4jKCiYirpufzpu1iFbD4jIyVhJ6SRgA/AmsAaYDnwlItO6NEIXcNidVQXa6k8p1U6Lv/yasWNG884brzDr9Ok89ewLDEjtz6rVawDr8ZfVa9bRPyWZwIBA8vLyANiYduDNvT5y4FQ8cEAq6zdsBGDBhx/z0n9fY0D//tz2lz/x3luv8dD99zBzxqkHxeDrI179HGhbSlQDgVOMMU0rft8REV/gKuCrTo/Mhep7Hfben1kp1VWOOWoE1//xZv71qB8+PsLdd9zKUSOGs2LlT5xx7gXU1dVxxukzOGrEcOZeMIc//eV2Fny0iP79Upqd3x3zb+Yvt/+Vx596huCgYB5/5B9MnTKZW++8m5qaGqqra/jbXbcd9J2yqloc4ou33s3p8Bt+RcTfGFPXyfEclo6+4ffrTxYwbda5XDjlKAb3ie+CyJRSXWX6lXeS3Dvp0BN6sayCMiLDQhg4ZNghp92yZQtDhw49aJjXvOFXRP4gIttEZJeI7AY2H/JL3YSfjy+RoYH4+/q6OxSllGo3b68Nas8Trldi3af6DLgcSOuSiNxg2JCB3Hg/3tq6AAAgAElEQVTuCfTvGePuUJRSqv28PFO1J1HtN8ZkA+HGmCWA15zV9X1USqnuzjvb+1nak6hKROQswIjI7wGvuZmzbccuXvtyHfv2l7o7FKWU6hBvLlS1t+ovHZgPDAKu7pKI3KCkpJRd2UVU1nhU2xCllGqThOgwoiO8r+ukeodsyygioVj3pMqBV41VT/anrg7MlRwOq+W9N1+RKKW8l4+Xv+qkLSWq/wK9gXHAfV0bjns4HNY9Ki/+nZVSXqygpJzfXXM9kyZNYuzYsSxcuNDdIXWqtjwdFmeMmSMiPsAXXR2QOzT0TKFlKqVUN/TeBwsJD49gwQcfUVBQwMiRI5k9e7a7w+o0bUlUDgBjjMOZrLxOUFAg8VGhBPjrc1RKdWeB+1bgU1XQqfN0BMdS02t8i+M9off0adOmERoS2PDZz8teotiWtfEREX+sasL6vwXAGFPblcG5ylHDhnDN7JZ7NlZKqZa4vfd0ICQkhLCQIMrKypgzZw733eddd2nakqiSgV84UC9W/7cB+ndRXC5lHPoclVLeoLWST1dxd+/pYJ2Qs7OzmTvvN1xzzTXMnTu3C9fY9Q6ZqIwx/ZobLiJe88DvhrQtvPjZamaMHUxSbLi7w1FKtZM7H3at7z39phuu48OFi3jq2Rc4/bRTefu9Bfzut5c19J4+55yzWL4ikNy8PAwHek83WL2n16/DAGfv6ZMmTmDBhx9TXFJMav/+/OF3lzP6uFHs2LmLH1f+dNA6FxQU8Ier/8Dzz7/A1KlTXbsBXKDNFZki8oQx5nrn36cCT2I9T9XtlZaVkZlfSmZhBXYf76rbVcrb2R2GOpv7akWGDRvGTX/+C76+vvj4+HDnbfMZMXwYP6xYyRnnWL2nz5xxGkOGDOW8Oedyy213sODDj+nXLwWHA+psDgwH1mH+zX/i9jvv5tEnnyE4KIhHHn6IkyadyB1339PQe/pf77j1oHV+843XKC8r59577+Xee+8F4LPPPiM4ONgNW6Tztbn3dBG5H/AFwoARwBXGmF1dGFu7dbT39DdfeIyLr7qRGeOHkRSnb/hVqju5/E/307tnorvDcLuI8DBiEvsccjqv7j3dGHM7VqIaYIyZ7IokJSI+IvKsiKwQkSUiMqArltPwPip9kEop1Q1VVNdSXlnl7jC6TFt6psjmQBWwAAkikgVgjOnZhbEBnAUEGWPGi8g44F/AmZ29kAPPUSmlVPdTXWvDz897u4BrS2MKd76RbCLwuTOOH0WkS4qmRZW1RIUHa88USqluKTo8mCAvuR/VnENW/YnIMyIyvIVxx4rIc50fVoMIoKTRZ7uIHJRcReQqEVktIqvz8/M7tJCQyFiKy6ro4MuOlVLKraprbdQ5vPdKuy1N3G4H7nOWZn4BcoFo4BjgJ+COrguPUqBxe3EfY4yt8QTGmOeB58FqTNGRhcQm9u5wgEop5W5VNXX4BXnvLYy2VP0VAteISDhWx7RxQB7wf8aYii6ObxlwBvCO8x7Vxq5YSICXdTeilDqyRIUFExHrNa8I/JU2n6GNMWXAl10YS3M+AE4RkeVYDTku74qFBPhZNaBtbaqvlFKexNfH6gHDW3l0UcL57qs/dPVy/P2szmiD/X0IC9SOaVVb1N8P8JaLm/pe0bofEfDx8d77M21RVVOHqasCvLNBRYcSlYj4G2O8pi3kiBEjOO+kESQnRBEaFHDoLyilPIaPCH7ORPXtd0vJ62Cjqpb0iI9nykmTWhzftPf0C887ly+/+ZZnHv83AMeOncj6n37gxpvn4+/nT+a+fdTW1jJ71ky++vpb9mVn89JzT5GS3LfDMVZU1VJaUkp0tNf0bHeQNj/wKyK/E5FHnB8/EZF5XRSTy8XHxzMsuYcmKaVUu9X3nv6/117m/679AyWlJS1O27t3L9569SUGpKaSkZnJay8/z+nTT+HLr789rBgMePWbX9tToroamOD8eybwPfBap0fkBkVFRezMKiApJoKQIO+t51XK27VW8ukqTXtPP3HSCQeNb3zv+6jhwwCIjIggNdXq7zsyMpKamhrXBdwNtedFiHZjTDWAs9qve1ZoNyMtLY3Xv/qZ7MIyd4eilOpm6ntPf+eNV5h1+nQWfvIpeXl5AGTu20dxyYESVld20+a95an2lag+EpGlWM9OjQIWdk1Irndg5/Ga3KuUcpFjjhrB9X+8mX896oePj3DHrbfw+FPPMuvs8xkwoD99evdyTSBenKna3Hs6WD1RAIOBrcaYn7ssqg7qaO/py5cv54QTTuDiqccwoFdsF0SmlOoq06+8k+Te7uzpzf3sDkNS31T82tBE3at7T3f2XD4DK1Gd1cVdJ7mU9pqulOrOfH0EX1/vfbSmPfeoXnX+PxHoB3hN0aM+UWnFn1KqOyqrqqWktNTdYXSZ9iSqSmPMA0CmMeYyIKFrQnK9IUOGcPHUY+ipr6FXSnVD5VU1lHlxompPYwoRkUQgTERCAa95siwqKkrvTSmlujcvvoXRnhLV34CzgdeB3cBnXRKRGxQVFbE5PY+ySn2WQSmlPE2bSlQiEgGsNsZ87xzUo+tCcr1du3bx7nebuHDKUQwO8d4eiJVSXsp4d6Owtrw48TrgZ+BnEZne9SG5XkNjCm1NoZTyAHMumseOnbvaPL23n7raUvU3F6tJ+njgxq4Nxz28+UpEKeX9EmPC6Nmzp7vD6DJtqfqrNsbUAvtFxCt7bdXm6Up5jzkX/bq/7Fmnz+CyeXOpqqpi3hVX/Wr8eeeezQVzzqGwsIirrv2/g8a991brXZrW1dUx/4672b0nHYfDwS1/uoG7/nY/444fw5atvyAivPTc0/z78ScZNnQI5597Nnn5+Vz629/z+cIFPPCPf/HjqtU4HA6u+u3lnHH6aQ3zLikt5fqbbqa8vAKb3cYtf7yRiRPGMfnUmYwdcxzbtu0gKiqSpx/7F3a7nd/97nds374dh8PBfffdx+TJkzu2ET1Me1/z4ZVFj4YSldb9KaXa6c233yMmOpp/PXQ/hUVFnHvhPCorKznzjJncd/edXHfjn/n2u++5+MLzue2v93D+uWfz/gcLuWDOOXyz5Hv2Zu7jo3fforqmhjPOuYATJ05omPdjTz7DiRNP4MrLLyU7J5ezz5/L8iVfUlVVxTlnnsG4sWO498F/8sIrb5CQ1JO4uDhefPFFCgoKOPHEE0lLS3Pjluk8bUlUw0XkTawkVf83AMaYuV0WmQsNGDCAK047jtiIEHeHopQ6TK2VgIKDg1sdHxMTfcgSVFNbf9nGT6tWs+5nq1c5m81GUXExI5w9pfdMSqK6poaBA1Kx2+xk7tvHwkWf8r/XX+aNt95hw8a0hlKgzWYjc19Ww7y379jFOWeeAUBSYgJhYWEUFBTi5+fPuLFjABg9aiSfLP6anLx81q5dy8qVKxvmVVBQQGxs93/0pi2J6vxGfz/bVYG4U2hoKH16RLo7DKVUNzQgtR9JiQn837V/oKq6msefepb3FnzU7L3vC88/l/sefJiBAwcQGRHBgNT+nDB+LP/4+704HA4efeJpkvv0bph+4ID+rFy1mhHDh5Gdk0tJSSnR0VHYbHWkbdnK8KFDWLV6Lf379ycyMpLBgwdz2223UVVVxf333090dLQrN0WXOWRjCmPMdy39c0WArlBcXMz6ndkUl1e5OxSlVDdzyUUXsmPXbs698BLOnHMRvXv1xMen+bskZ5x+Gt99/wNzL5gDwClTpxASEsLZ51/MabPPRUQICwtrmP76a37PshUrOeeCS/jt76/lH3+/Bz8/q3zx9LMvcNZ5c8nJzeWcc85h3rx5bN26lZNOOokJEyaQnJyMj097HpX1XO3qPd3TdbT39LS0NEaMGMGcE4czPMVreoZS6ohwJPaefvykk/nuq88ICgzEGMguLKNXr14kJR16O3h17+neTJ+jUkopz9XeVn9eqb4o7U2lS6WU91q59JuGv0WgZ2w4iYmJboyoa2mJigOJyqGJSqnuxxi9yKRtHRd01+2kiYpGicrRPX9EpY5kJfuzqaiq6bYn4cNlDBSXV1N6iNd8GGMoKCggKCjIRZF1Hq36AxITE7l69vGEB3tlxxtKebW1X/wPuJDIuCSvftVFS4wxlFbWUFZZTURERKvTBgUF0bt371an8USaqICAgAASY8JxOBzuDkUp1U61VRX8+NGL7g7DbSqra/nnOz/wxBNPcN1117k7nC6hVX9AdXU1K7dkkFNY5u5QlFKqXeprPL3lmanmeO+atUNNTQ2frvyF3TlF7g5FKaXaZdHKXwBNVF7P19cXgI27c6mqqXNzNEop1TYOh4Ote/MB6xaGt9JExYFWf9kFZfzj7aVk5JccsS2IlFLdw968Yh7831IAkmLDueKKK9wcUdfRxhQcKFHVW/1LJi9/nsvFU49lf0kFESGBDOodh6+v5vWu4nAYKqprqaqtw2Z3UFtnp87uIDUpGh8fH8oqa6iz2wkJDCDQ31dfdukitXU2qmps1NTZqLM7cDgM/n4+JMaEA1BQWomPCOEhAfg1OY5U56mutRHg58Pm9HxW/ZLJmMG9eX/pgVd4jBzg3V1IaaLi14lqw65cAD5avoWyyhrA2hE27cnFZjcM6xvPqWMGEhES6PJYu7M6m5284gpyCssoKq+muKyKM8YPITDAj+827Ob7DXt+9Z3b5p6Ejw8sS9vLyi0ZAPiIEBLkT3hwIFfMOA4/Xx+KyqoI8PMlVB8xaBdjDCUV1eQVV7C/pJKC0kqMMcyeYPUF9+Y3G0jPLT7oO4nRYfz+jLEALFiaRlaB1QgpKMCP0KAAUhKjmDVuCGDVUkSEBBIS5K8XF21UU2tjf2kl0WFB+Pv58vc3rf6/4yJD2F9SCcDevJKDvvPpym0sW7aME044weXxuoImKqybkJecciyvf7n+oOH1SQpg/PC+rNuRDUBaeh4iwoyxA3nxszXU2uwMT0ngqH4J9IwN1wMSsDsc5BVVEBUWRHCgPxt25fDBD5sbxvv4CNFhwfSKj2R4Sg/6JkRx8shUekSFEhYcQGRoMCGB/hw3qBcInHh0Cut35pBXVE5uUTk5hWWUVNTg5yzlfrFmB1v35hMeEkhSTDhJMWH0io9kYK/u/y6ezlRTayO7sIyUROv1Dx8u28KGXTkN40MC/UlJjGbskD7ERAQTFxlCZXUd0eHBhIcEEuDnS3hIIGOG9MZuN4zol8DOrEIy80vJKighp7CcMOfFgjGG179eT2V1HSGB/vSOj6B3fCQDesaSFBvulvX3RCUV1YQGBbB0456DLtbGDO6Fb6MGEvtLKpk9YQgLl29tdj6ZmZldHarbaKJySog60LX+dWeN4+Jpx9InPpLAAD9sdgcBfr7cOncy36zbyfK0vcSEBRMeGkhhmfVqkJVbMli5JYOLTj6a1J4xrP5lH317RJEYE3ZEJC6b3UFmfgnpucWk5xaTub+UOpud804awbDkHpwwIpm4yFCOH9qHCcP7/qoqdcoh5n/yqAGcPGpAs+OMMUw7LpWv1uzkxy0ZbNyVw3cb9tMrLqIhUX21ZgdBgf6kJESRFBt+0AnAm1XV1DX8Jul5xeQUlmEM/Om8ifRNiGLu1GOYc+IIxg/vyzH9E4mPDjvo++OG9W11/nNOOqrFcXV1NkYO7MWKzems3Z7Fzzty2JZZQHWtjaTYcGx2B1+u2UHfHlEkJ0Q1JDhvV1RWxbbM/WzfV8Cu7CJE4KZzJ9AjKrRhmpBAf44f2oc7501hzbYsesdHEhMeTM+4CPKLKygorWTf/lJKK6o5927rXbb+/v7uWqUup6/5cPrjeRP5fNU2br1oMvNOHdnm79nsdrZl7GfB0s1szchj+uiBfLl6B699daB0lpwQxZRj+5OcENWh2DyRze5g3/4SAvz8SIoNp7C0kic+/BGwOsgcN6wPU0emcuYJw+gV7/qXUlZU1ZJVUEqAny/bMvdz6YPvklNYDoC/ny994yMZOTDJ617rUlpRTXpeMckJ0USEBLJuexYLV2zFz9eHIX3imXR0CqcfP4hpowYQFOj6E1tBSQX5JZVUVtfy8Yqt3P/GEupsdsCq2kpJjGbs4N7ENzppd3c1tTa2ZuQzLLkHPiK8vHgt+/Yf6O5o2qgBPP+ns0iMCaOqxkZMO980Pv66Z/hxcwYff/wxs2bN6lCMnv6aD01UThFhIVw5YxT/vmbmYcdRWlHNR8u3sOD7Tfy4JYOC0iqOTU3k9OMHszfXekljckIUKQnRRIQGdpsS156cooar84z8Emx2B0f1S+Dy045j3LA+pOcWM23UAOI89CSTU1DKwhVb+XTlL/y4OYMRKT2YeFQKVTV1vL80zfpNEqPp2Y1KXDW1Njan55GeZ/0uxeXVAJwxfgi/mzmGHtFhVFbXMmF4MoEBnleBUmez8cPGdBYu38LX63byy979XDztGPr2iCI9t5hNe3JJSagvcXWfe8LpuUVs3J1L1v4ysp0dCcwYO4jTjx/MsOQe7Mou5OSR/enf8/Crpifd8Bw/bEzn888/Z/r06R2ahyYqFzqcRCUiJPftzZ5NHft+axwOB+kZmVRWVvK/9z7ivn8+0jAuPDyMwQNSmTl9GmBVY3lC4iorKyczK5vq6mpGHmNV7zz1wsvsLyikZ1Iik8Yfz8zTpnHatCnEx8W5OdqOcTgc5OTm8ekXX3PHPQ+Sm289j+Ln50fvnkmccvJJ9ExM8JjfpLa2jqycHPZl5xATFcXQwQOpqKzk4cefISQ4mKNHDGPq5EmcfupUjh896leNhLqD2tpaqqur2bM3k38/+SxvvvsBdXXWs40x0VH07d2L00+d6lHVXBUVlWRmZZOZlc1JJ4zDz8+P/775DukZmSTExzN29LGcO3sW06dNIaFHfKcv/8wLf8PCTxfz1VdfMXXq1A7NQxNV44VZR3smsN05aIUx5lYROQO4C7ABLxljXhCRYOB1oAdQBvzGGJPf2vwPN1GBa7rBr62t5dtvv2XRokUsX76cjIwMrrnmGgBeeuklqqqqSEpKIiEhgYSEBBITEw96PXVncjgcDU+0b9q0iY0bN5KdnU1ZmXUVGBoayoMPPsiYMWOora1lyJAhxMd3/sHmCfLy8vjoo4/44osvWLlyJTNnziQhIYH169fz7bff0rNnT+Li4oiNjSUmJoZevXp1STIwxlBXV9fwAOeiRYvIzMwkLy+vYf8cNWoU9913H4MGDaKqqorhw4d7RDLtbLW1taxYsYKPPvqI77//nt27d3PdddchIixatIi8vDwSExMbjpW4uLgu6x3cbrcjIvj4+LBr1y5WrVpFdnY2JSVWCzxfX1+efPJJRo+2zvdtfePu4dqwYQPr16/nggsuIDCwY6VOTVSNFyYyAHjEGHNGo2H+wBZgDFABLAPOAOYCEcaYu0XkQmC8MeaG1uZ/OIkqJSWFlJQUlixZ0qHvHy6Hw8GePXu488472bBhA7t376aiogKAsWPHMmPGDIqKili8eDGRkZGEh4cTFhZGSEgICQkJREZGUlNTQ2VlJSKCMQa73U5dXR3R0dEEBQWRl5fHli1bKCsro7i4mKKiIkpKSrjlllsICAjgyy+/ZPv27YwYMYJx48Yxbdo0xo8fT3BwsFu2iScoLS3l3Xff5dVXXyUtLY3CwsKGZHHzzTcTEhLC2rVr2b17NzExMYSHhxMcHExQUBD9+/dHRCgvL6e2thYRwWazUVdXhzGGXr16AbB+/XqysrIoLy+nqKiIwsJC4uPjufLKKwF46623CAwMZMyYMUyePJmTTz654btHIrvdzr59+3jooYdYvHgxGRkZ1NbWAhAXF8e1114LwFdffQVAWFgYoaGhhISEEB4eTo8ePaxm+SUliAgOh6Phd4mIiCAsLAy73c7SpUspKyujpKSEoqIiiouLueiiixgwYAC7d+/m448/ZtiwYRx//PFMnTqV8ePHEx0d7bbtcjg0UTVemMgFwF+AEqAKuAkIBP5hjDnNOc0jwHLgIufwH0UkElhujBne2vwPJ1GB51S71du3bx/Lly8nLCyMwMBAfvnlF+68805KSkqw2WwN05133nkMGzaMzZs38+677/5qPldddRVJSUmsXLmSzz//nODgYGJjY+nbty8DBw7khhtuYMiQIQQGBnp1f2Gdoa6ujrS0NNatW8eQIUPIzc3lxRdf5IcffqC4+MDzRv7+/tx2220AvP/++2zatOmg+YSFhfGnP/0JgP/973+kp6cTFhZGr169SE1NZdSoUVx99dVERkZ2yyo8V7Lb7ezcuZPly5dTXl7O4MGDycrK4q677mLfvn3Y7faGaYcPH86cOXMwxnDffff96o0JEyZM4JRTTqG4uJjHHnuMoKAgYmNj6d27NwMHDuS8885j+vTpBAQEeNS54nAdsYlKRH6LlYgauxboYYx5V0QmAo84p7neGHOB83v3AHuBC53Dt4iID7DXGPOrF6mIyFXAVQB9+/Y9Lj09vUvWx9MUFRWRkZFBTk4OAwcOJCAggKysLL7++mscDgd+fn4EBgYSFhbGqaeeSlxcHHV1dQQGBna4ekC1rqamhpycHHJzcykuLuaoo47CZrOxYsUKMjIycDgcBAUFER4eTnR0NCeffDJBQUGISEM3Xqpz2e12CgsLycjIIDs7m8jISFJSUrDZbHz44YdUVlYedKwMGjSIMWPG4OPjg81mIySkfS3wuqsjNlE1uzCREMBmjKl1fs4CZgAPGGNOdw57BKv6by7woDHmJ2eJapkxZkRr8z/cEpVSSh2JPD1Rubqe56/AjQAicgxWyWkzMFBEYkQkADgRWIGVrE53fm8GsNTFsSqllPIArq5veBB4XURmYrXwu8wYUycifwQWYyXOl4wx+0TkGeC/IvIDUItVwlJKKXWE8arnqEQkH+joTao4YH8nhuNOui6eyVvWxVvWA3Rd6iUbYzz2uROvSlSHQ0RWe3IdbXvoungmb1kXb1kP0HXpLrQtslJKKY+miUoppZRH00R1wPPuDqAT6bp4Jm9ZF29ZD9B16Rb0HpVSSimPpiUqpZRSHk0TlVJKKY92xCcqEfERkWdFZIWILHH28N6ticjxIrLE3XF0lIj4i8hrIrJURH4SkdnujqmjRMRXRF4SkWUi8r2IpLo7psMlIj1EJENEhrg7lsMhIuucx/wSEXnZ3fF0lIjc6jx/rXH2sep1tCdMOAsIMsaMF5FxwL+AM90cU4eJyC3APKxXpnRXlwAFxph5IhILrAMWujmmjjoDwBhzgohMBv5N996//IHnsN5+0G2JSBCAMWaym0M5LM59agJwAhAC/NmtAXWRI75EBUwEPgcwxvwIdPcH5nYC57g7iMP0LnBno8+2lib0dMaYD3H27g8kA7luDKczPAw8C2S5O5DDdAwQIiJfiMg3zovU7mg6sBH4APgYWOTecLqGJiqIwHo/Vj27iHTbkqYx5n2gzt1xHA5jTLkxpkxEwoH3gDvcHdPhMMbYROS/wBNY69MtichlQL4xZrG7Y+kElVhJdzrwB+CNbnrcx2FdXJ/HgfXwnhdlOWmiglIgvNFnH2NMt72C9xYi0gf4FnjNGPOmu+M5XMaY3wCDgBdEJNTd8XTQFcApzvufxwKvikiie0PqsG3A68ayDSgAuv698Z2vAFhsjKk1xvwCVAMe22dfR2miavQ6EWfxf6N7w1EikgB8AfzFGPOSu+M5HCIyT0RudX6sBByAvZWveCxjzInGmJOc93XWA5caY3LcHFZHXYF1PxoR6YlVs5Lt1og65gfgNLH0BEKxkpdX6Y5F3c72AdZV4nJAgMvdHI+C24Bo4E4Rqb9XNcMY0x1v4C8AXhaR7wF/4EZjTLWbY1LwIvCK8zVCBriiO9akGGMWiciJwE9YBY9rjTHd8kKoNdozhVJKKY+mVX9KKaU8mscnqiPhYTallFIt8+hE1eRhtpOAPm4NSCmllMt5emOKxg+zRQA3uzccpZRSrubpiSoO62n+WUA/YKGIDDGNWoCIyFU4n/wPDQ09bsiQbt39mFJKudyaNWv2G2M89vkrT09UBcBWY0wt8IuI1D/Mllc/gTHmeZwvDBs9erRZvXq1WwJVSqnuSkTS3R1Dazz6HhVHyMNsSimlWubRJaoj5WE2pZRSLfPoRAVgjLnF3TEopZRyH0+v+lNKKXWE00SllFLKo2miUkop5dE0USmllPJomqiUUkp5NE1USimlPJomKqWUUh5NE5VSSimPpolKKaWUR9NEpZRSyqNpolJKKeXRNFEppZTyaC7vlFZERgCxQJ4xZourl6+UUqp7cUmiEpFA4C/A+UAukANEi0gv4G3gEWNMlStiUUop1b24qkT1HPAGcJ8xxlE/UEQEOM05/lIXxaKUUqobcUmiMsZc1sJwA3zm/KeUUkr9ikvvUYnIWOBCIKh+mDHmGlfGoJRSqntxdWOK/wIPAUUuXq5SSqluytWJarsx5hUXL1MppVQ35upE9b6I/A/YXD/AGHOPi2NQSinVjbj6gd9rgHVYTdTr/x2SiPQQkQwRGdKVwSmllPI8ri5RFRpjHmrPF0TEH6v5uj5npZRSRyBXJ6r9IvIcsBYwAMaY5w/xnYeBZ4Fbuzg2pZRSHsjVVX87gCwgEUhy/muRiFwG5BtjFrcyzVUislpEVufn53dmrEoppTyAWM/cunCBIj04+Dmqva1M+z1WycsAxwLbgNnGmJzmph89erRZvXp15waslFJeTkTWGGNGuzuOlrj6gd+ngJlYpSrBSkATWpreGHNio+8uAf7QUpJSSinlnVx9j+p4oH/j/v6UUkqp1rg6Ue3AqvarbO8XjTGTOz0apZRSHs/ViaovkC4iO5yfjTGmxao/pZRSytWJ6iIXL08ppVQ355Lm6SJyv4jEGGPSm/4TkXgRecAVcSillOp+XFWiehl4yfmixA1YXSdFAeMAO3CLi+JQSinVzbjqxYk7+P/27j06qvLc4/j3oXIRFzcFKYw+lq0AABUtSURBVHJzlYtA5YDAUqEoyClyRKxVWysLscVaxSparFSl2qYV22Kh1VprBJVKkUpB8SBChQoBgYNAioUWECTcCqEiEAghgSTzO3/MZMwQck/2zMTns9ZemX153/fZO3vmmX2Zd8PXzawrMAhoCWQCD0raGUQMzjnnklOg16gkbSf8o13nnHOuQoLuQsk555yrFE9UzjnnElrQXSg1Aa4jtq+/mUHG4JxzLrkE/Tuq/yXcz9++yHiwPeI655xLOkEnqnqSbg+4Teecc0ks6GtUm8zsCjNraGYNzKxBwO0755xLMkEfUQ0Cbig2LuBLAcfgnHMuiQT9O6pekd4pWgGHJRUG2b5zzrnkE+ipPzMbDOwE3gV2mtnQINt3zjmXfII+9TcJGCjpgJm1Bd4ElgYcg3POuSQS9M0UhZIOAEjaD+QF3L5zzrkkE/QR1XEzGwesBK4GjgTcvnPOuSQT9BHV7YSf8vsU0B64M+D2nXPOJZlAjqjMrJ2kfwOtgenFZrUCjgYRg3POueQU1Km/hyLDi4R/O2WR6QKGBBSDc865JBTUgxMfirz8jaS3i6ab2a1llTOz+sArwMVAQ2CSpAW1FadzzrnEE9SpvxHAV4CRZtY/MrkecCPwlzKK3k74h8GjzewCYCPgico55z5Hgjr19w/gAiAX2Eb41F8IeL2ccnOBecXGC85cwMzuBu4G6NChQ03E6pxzLoEEctefpH2SXiXc19+ByOumwO5yyp2QlB15jtU84PGzLDNNUj9J/Vq1alUL0TvnnIunoG9Pfw1oHnl9FJhVXgEzaw8sB/4kaXYtxuaccy4BBZ2ozpM0DyCSdBqXtbCZtQaWAI9IeiWA+JxzziWYoBPVaTMbamZNzOy/CV+nKstEoAXwhJmlRYZzaz9M55xziSLoLpTuAqYAzwJbgXvKWljSg8CDAcTlnHMuQQX9PKqPzexHQGdgE7A/yPadc84ln0ATlZndD9wEnA/8EegC3B9kDM4555JL0NeobgO+CmRJeha4IuD2nXPOJZmgE1VRe4r8PRVw+84555JM0DdTzCb8LKqOZrYIeCvg9p1zziWZoG+m+L2ZvQdcCnwkaVOQ7TvnnEs+QXVK+0s+O91X5DIzu03SxCBicM45l5yCOqLaDeQF1JZzzrk6JKibKb4d6Yj265JeLT4E1H7CKygo0TF8qSQxZcoUDh06FDN95cqVHDt2rNRy27dvJzc3t8y6V6xYQUZGBgB79uwhKyurwnG5ynv55Zc5cOBApcqcOHGC/Pz86HhGRgYHDx6s6dDiJhQKkZmZWe5yBQUFLFy4EOnMkzUlSWLevHkcOXKkzPqKrFu3jhMnTsTMX7duHZ9++imhUHkd6rgaJ6nWB2AmcJDwXX4HIkMm4Z7Ua6ydvn37Kgi7du3SLbfcor1795aYt3btWgFavny5QqGQjh07phtuuEGET30K0P79+2PKTJ48WYCGDRumUChUbvtFbVx//fXRcoMHD47W/8ADDyg7O1uhUEiAUlJSlJmZGRPDFVdcoV69emn48OGaNm2aAD3zzDPR+ZKirw8fPqz8/Pxo+0ePHtXtt9+uUaNGafny5frud7+r9u3b61//+pe2bt2qDz74QD179tSFF16o06dPV3r75ufnKycnp9LlihQUFGj//v06cuSIpk+fHhP3yJEjNW3atBLtffDBB9HxUCikV155RQMGDNCYMWOUk5OjX//61zHbIBQK6Z133lFBQUF02qlTp/SDH/xAR44c0UsvvaQOHTpozJgxmj9/vlasWKGCggK1bdtWt912m8aNG6e5c+cKUNu2bTVt2jQNGTJE48eP1+rVq0tdt08++STm//iNb3wj5n8mSStWrNDbb78d3T+3bNmiJ554QhMnTtScOXOiy2VkZOjjjz8+azuhUOis++L8+fM1ZswYZWZmKjs7W3v27InO+/3vf6/+/fvr5MmTys3NlSS9+eabat++vVasWKGsrCwtXbpUkpSVlaVf/OIXuvrqqzVlypSYNn75y18K0IwZM3TffffFbOOsrCxNmDBBp06d0s9//nMBGjVqVHR+YWGhXn/99WiZzZs3Kzc3V3PmzIlup+eff14XX3yxevTooW3btunUqVPReTNmzIjZvn/4wx/UpEkTPfLII9Fp48aNi7a3aNEi/ec//5Ekpaamau7cuZo7d642b96sUCikCRMm6LXXXlN6eroOHDgQLbd161Zt375dl1xyibp166YdO3acdbv/85//VFpamqZOnap77rlHS5YsUWpqqh544AFJ0qFDh7Rz586z/g8rA9igAHJBVYdgG4Pna7P+6iSqSZMmCYh+yE2dOlWPPPKI+vTpo6VLl6pJkyaaMmWK5syZo0GDBkV32n79+unEiROSpLy8vJidvOgNd7ahXr16euONN7Rs2bKY6c8++6wuuuii6Pj999+vAwcOKBQKafHixSooKNDTTz9dar3FhzVr1kTbqsjyxYcLL7wwZrx169bRbdW0adNK1/ezn/1M69evV1pamg4ePChJ+trXvqZ69eopJydHx48f1ze/+U0BuvHGG6MfvDk5Odq1a5fee+89paSkCFD//v11+vRpZWZmRhPRvn37tGjRIknSj3/8YwHq27evAC1atEg9evSIiadp06bRD9nHHntMgNLT05Wdna0///nPMcteddVVAtShQwfNnj1b7733nl599dWY+SNGjNAll1xS7jao6PZat26djhw5Iknq1KmTunTpUiJJnW3o1q1bzLikEstI0vHjx6PjW7du1Y4dO6IfkAMHDozOu/766/W73/1OM2fO1LXXXhtTT9H2nTlzpnr37l2inaIvQEXD0KFDo6+vueaamHmLFi3SpZdeqhEjRpSoZ+3atcrMzFRKSkp030tNTS13WxRfj+JD48aNSy1T/AsfoJ49e551uaFDh2rJkiXR8aIvHWUNjRs3jr6HzjY/Ly9PzZo1E4S/vJS2XPHtf95550X/p9WBJ6qYRNUUeBJ4GbgZ6FyT9VcnUTVs2FCATp48WeJDrUWLFhX+gCk+nH/++VUqV9NDVRLV2Ya9e/eWSMZVHYreYGUNktSuXbuzziv+gTxy5Mgy6/nyl79crVg7dOhQI+tctI9VZli1alW12ly5cuVZt2tp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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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7NHs7OwKcaanpyug//rXvyL9gsGgtm/fXgHt37+/AnrllVcqoG+99ZaOGDFCn3nmGQ0EAnrddddpVlZWJJbc3FxVVb3lllsi/ZYuXao7d+7U8ePH64UXXqg7d+7UnJwcHT16dGSc5cuXq6rq999/r4Deeeed2r9/f7311lv1xBNPVCCyzz3//PM6YsQIPe2003TlypUV1mfSpEl69dVX65w5c3Tv3r06depUbdeunT7++OMVxgO0bdu2qqo6atQo/fOf/xzpD+g555yjL7/8sgI6ZMiQ/co8FApFPg8bNqzCuquqjvz/9u4/OIoyTeD49wkEQkjASHISWRAKRVg5TSApCCiCohwiLkJpAScc6gooFl6hKCjcIYJy/kJKcxot9VjxinM9EN2DVYSERZBgtkRUAokQwB8EDRATQAiS5/6YyZghM5BkfnQnPJ+qrul+p9/u552ZnhA1TgYAAA5XSURBVGd6uvvtq6/W1NRUVVXNz8/Xd999V4uLi311pkyZov369dPs7Gy/9e7YscM3/thjjymgffr0qbPd1JaZmemrc+DAAf3555/10Ucf1YyMDB0xYoTvuf3796uq6ldffaW9e/f2laekpCigZWVlQdehqvr1118roPPmzVNAr7nmGh01apRmZ2cr4Nt2brrpJgX0zjvvrLOMpUuX6qRJk3TChAlaWFio7733ni+Ovn376pEjR1RVdcqUKfrBBx+oqurkyZN985z5PjYUUKARzgWhDNFbEWRHeh2hJKozN7jayaNm/IUXXvB77tZbbw1ar2Y4deqU33Tbtm1947Nnz9aRI0f6LX/BggX63HPPaWxsbJ1lzZ8/XwcNGqSAJiYmnnW9t99+u06dOlUBnThxos6cOVMXLVoUdP6kpCTNyckJ+Nz69evrlK1Zsybg67Z792594IEH9JVXXvErb9mypd5888115v/hhx/8pgsKCnzjq1atqjN/SUmJ7tu375yve32HQ4cO6WWXXeabTktL03vvvddvno4dO+rmzZt1zpw5vrLk5OSgy3zxxRfrlC1dulTLy8sbHN+0adMCfhZqDzVf2LWHTp066fHjx7WgoEArKirOWn/69Om6a9cuv/fznXfe8Y1nZWXVO97hw4fXKUtISNCtW7fqzp07A9YRkYDl9X2f165dq6tXr9ajR49qaWmpbt68WXNzc+sdc25urq5du1ZH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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "for k in [1, 2, 5, 10, 20, 50, 100]:\n", + " label = f'1:{k} TI'\n", + " A1, A2 = getAmpPair(peak_pressure, k)\n", + " drive = AcousticDriveArray([AcousticDrive(f1, A1, phi=np.pi), AcousticDrive(f2, A2, phi=np.pi - delta_phi)])\n", + " figs[label], embedded_Vm_devs[label] = plotResponse(embedded_bls, drive, label)\n", + " print(f'Average voltage deviation from resting potential: {Vm_devs[label]:.2f} mV')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Comparing efficiencies" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "figs['embedded Vm devs'] = plotDepEfficencies(embedded_Vm_devs, ref_key='LF')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Conclusions \n", + "\n", + "Model simulations show that the interference of two high-frequency waves of equal amplitude can generate a low-frequency envelope of cavitation in the neuron membrane in order to induce depolarization. Furthermore, by modulating the ratio of intensity of the two high-frequency sources, we could induce an offset in the cavitation envelope, which enhances the depolarization efficiency to values that can exceed those obtained with a single low-frequency source." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Save figures as PNGs" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "Please specify the output directory: \n" + ] + } + ], + "source": [ + "root = input('Please specify the output directory:')\n", + "if len(root) > 0:\n", + " for k, fig in figs.items():\n", + " k = k.replace(':', '-').replace(' ', '_')\n", + " fig.savefig(os.path.join(root, f'{k}.png'))\n", + " for k, fig in embedded_figs.items():\n", + " k = k.replace(':', '-').replace(' ', '_')\n", + " fig.savefig(os.path.join(root, f'{k}.png'))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}