The surface area represents a dendritic membrane with two synaptic spines
Baseline dimensions are scaled to real-world values
these values are based on empirical observations of distal dendrites
base dimensions are set to 60x30 units
1 unit ≃ 100 nm
10 units ≃ 1 µm
2D space: 2.3 µm x 4.6 um
PSD: 0.3 x 0.3 µm
peri-PSD: 0.3 x 0.3 µm
PSD separation: 2.0 µm
The Z axis is only 2 levels: 0 and 1
1 represents the membrane surface
0 represents intracellular space
There are 2 types of particles in the simulation
'Red' particle dots represent AMPA receptors
Red dots can randomly diffuse anywhere on the X-Y plane
Red dots only diffuse on the surface Z = 0
'Blue' particle dots represent PSD-95 molecules
Blue dots are contained in predefined PSD areas and cannot leave
Blue dots can exist at the surface Z = 0 or intracellularly Z = -1
Simulating Molecular Diffusion
Particle diffusion is generated from Einstein's equations on Brownian motion. This allows the model to generate real-world diffusion at rates that are empirically relevant. There are currently 5 different regions in the model that can each independently scale the diffusion rate: the extrasynaptic space (ES), post-synaptic density 1 (PSD-1), post-synaptic density 2 (PSD-2) and the perisynaptic PSD-1 region (pPSD-1) and PSD-2 region (pPSD-2). The PSD and pPSD diffusion rates (Dpsd) can be automatically scaled in real-time by the number of PSD-95 SAP molecules currently expressed in a PSD-cluster region. For most simulations the starting SAP cluster size is 7x7 yielding 49 total SAP molecules. The amount of SAP dynamically fluctuates. It can hold a fairly steady number of about 50 SAPs, but it can also be made to grow and shrink to values ranging from 10 to 100 SAPs. The PSD diffusion rate can be scaled from these SAP values. The function for this scalar can be seen to the left. Given a range of 10 to 100 SAPs, the PSD diffusion rate values will range from 0.03 um²/s - 0.003 um²/s.
Base ExtraSynaptic Diffusion rate D (Des)
Des ≃ 0.3 um²/s
Base PSD Diffusion rates (Dpsd)
Dpsd ≃ 0.03 um²/s
↑ to ↓
Dpsd ≃ 0.003 um²/s
Dpsd SAP scalar function
Dpsd ≃ Des/SAP
Dpsd ≃ 0.3/10 ≃ 0.03 um²/s
↑ to ↓
Dpsd ≃ 0.3/100 ≃ 0.003 um²/s
in1 ≃ 1; % in1: do PSD S-clusters
in2 ≃ 0; % in2: do homeostatic
in3 ≃ 0; % in3: do calcium
in4 ≃ 1; % in4: do FRAP
in5 ≃ 0; % in5: do 1dot plot
in6 ≃ 0; % in6: do manual step size
in7 ≃ 0; % in7: do track MSD
in8 ≃ 0; % in8: do track step sizes
in9 ≃ 0; % in9: do MainPlot
in10 ≃ 0; % in10: do GluR1
in11 ≃ 0; % in11: do 3D Plot
1 %=========================================================% 2 % STARTING PARAMETERS 3 %---------------------------------------------------------% 4 D=3;% Diffusion Constant [2d*D*t] 5 d=2;% N dimensions 6 dT=1;% time delay between measurements 7 k=sqrt(d*D*dT);% stdev of step size distribution D 8 MSD=2*d*D*dT;% mean squared displacement 9 muN=k*sqrt(2)/sqrt(pi);% mean of half normal distribution k=stdev10 Ld=sqrt(2*d*D);% average diagonal XY step size11 LdA=Ld/sqrt(2);% average linear X or Y step size12 DSc=10;% D Scalar: DSc[10, 100] equals D[0.1, 0.01]13 LdS=1/sqrt(DSc);% D Scalar Function, adjusts LdA LdSfun(i) = 1/sqrt(i)14 Dn=D/DSc;% Local D value after being scaled15 16 % SET POTENTIATION LEVELS17 PSD0=1;PSD3=1;% ESS D Base Diffusion Rate of ExtraSynaptic Space18 PSD1DSc=100;% PSD-1 D Scalar base19 PSD2DSc=100;% PSD-2 D Scalar base20 PSD1D=D/PSD1DSc;% PSD-1 D value after being scaled21 PSD2D=D/PSD2DSc;% PSD-2 D value after being scaled22 PSD1=LdSfun(PSD1DSc);% PSD-1 D Scalar Function, LdSfun(i) ≃ 1/sqrt(i)23 PSD2=LdSfun(PSD2DSc);% PSD-2 D Scalar Function, LdSfun(i) ≃ 1/sqrt(i)
PSD-95 SAP Cluster Scaling
Synaptic scaling is a cell-autonomous process in which neurons detect changes in their own firing through a set of calcium-dependent sensors, and then slowly increase or decrease the accumulation of synaptic AMPARs to compensate (Turrigiano et al., 1998; Ibata et al., 2008; Goold and Nicoll, 2010).
PSD-95 family molecules outnumber AMPARs (up to 20-fold). Quantitative MS counted 60 copies of AMPAR subunits (GluR1, GluR2, GluR3) in the average PSD, which equates to 15 tetrameric AMPAR channels, of which >80 percent appears to be GluR1/GluR2 heteromers. Fifteen may be an underestimate because some postsynaptic AMPAR channels might be extracted by Triton during purification of PSDs.
Given those two observations, I wrote a matlab function that allowed for homeostatic scaling. Based on Sheng's review (and a few other sources), on average, there are about 20 AMPARs per PSD. In our current model we have 2 PSD areas, so there should be about 40 total receptors (combined) in those PSDs, on average.
To anthropomorphise, we want our modeled neuron to be homeostatically-content when there are 40 receptors in its synapses (content/satisfied meaning all diffusion parameters are running at some predefined baseline value, or whatever we specify). We can also specify a range of values at which our neuron is content; I arbitrarily set this range to 25-55 receptors. Just to be clear, that is 25-55 total combined receptors -- let's call this value PSDT. For example, PSD1 could have 35 receptors and PSD2 could have 10 receptors, making PSDT ≃ 45. If both PSD1 and PSD2 have 16 receptors each, PSDT ≃ 32. Our modeled neuron would be satisfied with either of those scenarios. However, if PSD1 had 35 and PSD2 had 30, making PSDT ≃ 65, our neuron will not be happy, and should take some action to decrease the total number of AMPARs being expressed at its PSDs.
Homeostatic Scaling Function
IF PSDT > 55 THEN increase the PSD diffusion rates (make less sticky)
IF PSDT < 25 THEN decrease the PSD diffusion rates (make more sticky)
Remember the model functions are modular, so we could actually do something as simple as above, and directly alter the PSD diffusion rates. But we also want our modular functions to "play nice" with each other -- so if we are scaling PSD diffusion rates based on SAP expression ( function doSAP ≃ SAPfunc(on) ), instead of directly setting Dpsd we'll instead want to increase or decrease SAP expression. Doing this will automatically update the diffusion rate of respective PSD areas. The easiest way to incorporate this function is by manipulating the SAP repulsion lattice constant (L) based on PSDT.
When L≃2 the SAP cluster is relatively stable
When L≃1 the cluster starts to grow
When L≃3 the cluster starts to shrink.
So when PSDT > 55 then L ≃ 3 and when PSDT < 25 then L≃1 and when PSDT is between 25 and 55 then L≃2. And I should note that these are global changes to L (both PSD areas get the same L), because in a real-life scenario the neuron only cares that it's firing too much or too little, not necessarily which of its hundreds of PSDs are responsible. Does this make sense?
The homeostatic function can be made more complex, or flexible, but it can really be this simple (and I know you are a proponent of eloquence), which is nice for when we are testing out predictions unrelated to homeostatic scaling. But from here, we can begin to consider what manipulations to this function would make it more true-to-life. For example, homeostatic scaling is a relatively slow process -- maybe we only want the model to check the PSDT value once every 10 minutes, maybe we want to make more subtle changes in L, maybe we want to change another parameter instead of L. The choice is ours. But ultimately, we want to update the model based on what we know happens in the real world.
two independent processes
In this model, there are two independently occurring processes.
1. Blue dots can be expressed at the surface or internalized within their PSD area
The Blue dot internalization/externalization rate properties are set by the Shouval cluster model equations.
2. Red dots diffuse on the X-Y plane with brownian motion
Each Red dot has an initial step size randomly drawn from a normal distribution with a mean = 1 and sd = .2
The step size for Red dots is dynamically altered when it's located in a PSD area
In a PSD, the step size is reduced by a by some factor based on the number of Blue dots currently expressed at the surface of that PSD
The more Blue dots at the surface, the more the step size is reduced
The current step size function is:
f(Rstep) = R * (10*(1 ⁄ Bn))
where Rstep is the baseline Red dot step size
where Bn is number of Blue dots currently expressed at the PSD surface
ReDiClus in Matlab
Screen Shot of the ReDiClus Matlab GUI interface
Screen Shot of a final data output from a simulated-30 min of receptor diffusion (took approximately 15 seconds to generate)