ReDiClus3
Simulation Space
ReDiClus Model Space
ReDiClus is simulated on a 2D surface in 3D space
 The surface area represents a dendritic membrane with two synaptic spines
 Baseline dimensions are scaled to realworld values
 these values are based on empirical observations of distal dendrites
 base dimensions are set to 60x30 units
 Scale
 1 unit ≃ 100 nm
 10 units ≃ 1 µm
 2D space: 2.3 µm x 4.6 um
 PSD: 0.3 x 0.3 µm
 periPSD: 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
Particle Types
 There are 2 types of particles in the simulation
 'Red' particle dots represent AMPA receptors
 Red dots can randomly diffuse anywhere on the XY plane
 Red dots only diffuse on the surface Z = 0
 'Blue' particle dots represent PSD95 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
Particle Diffusion
Simulating Molecular Diffusion
ReDiClus Diffusion
Particle diffusion is generated from Einstein's equations on Brownian motion. This allows the model to generate realworld 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), postsynaptic density 1 (PSD1), postsynaptic density 2 (PSD2) and the perisynaptic PSD1 region (pPSD1) and PSD2 region (pPSD2). The PSD and pPSD diffusion rates (D_{psd}) can be automatically scaled in realtime by the number of PSD95 SAP molecules currently expressed in a PSDcluster 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 (D_{es})
 D_{es} ≃ 0.3 um²/s
 Base PSD Diffusion rates (D_{psd})
 D_{psd} ≃ 0.03 um²/s
 ↑ to ↓
 D_{psd} ≃ 0.003 um²/s
 D_{psd} SAP scalar function
 D_{psd} ≃ D_{es}/SAP
 D_{psd} ≃ 0.3/10 ≃ 0.03 um²/s
 ↑ to ↓
 D_{psd} ≃ 0.3/100 ≃ 0.003 um²/s
Diffusion Equations
Optional Subroutines

in1 ≃ 1; % in1: do PSD Sclusters

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=stdev
10 Ld = sqrt(2*d*D); % average diagonal XY step size
11 LdA = Ld/sqrt(2); % average linear X or Y step size
12 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 scaled
15
16 % SET POTENTIATION LEVELS
17 PSD0 = 1; PSD3 = 1; % ESS D Base Diffusion Rate of ExtraSynaptic Space
18 PSD1DSc = 100; % PSD1 D Scalar base
19 PSD2DSc = 100; % PSD2 D Scalar base
20 PSD1D = D/PSD1DSc; % PSD1 D value after being scaled
21 PSD2D = D/PSD2DSc; % PSD2 D value after being scaled
22 PSD1 = LdSfun(PSD1DSc); % PSD1 D Scalar Function, LdSfun(i) ≃ 1/sqrt(i)
23 PSD2 = LdSfun(PSD2DSc); % PSD2 D Scalar Function, LdSfun(i) ≃ 1/sqrt(i)
Homeostatic Scaling
PSD95 SAP Cluster Scaling
 From Tatavarty:
“  Synaptic scaling is a cellautonomous process in which neurons detect changes in their own firing through a set of calciumdependent 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).  ” 
 From Sheng:
“  PSD95 family molecules outnumber AMPARs (up to 20fold). 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 homeostaticallycontent 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 2555 receptors. Just to be clear, that is 2555 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 D_{psd} 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 reallife 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 truetolife. 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.
Physical Properties
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 XY 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(R_{step}) = R * (10*(1 ⁄ B_{n}))
 where R_{step} is the baseline Red dot step size
 where B_{n} is number of Blue dots currently expressed at the PSD surface
 f(R_{step}) = R * (10*(1 ⁄ B_{n}))
ReDiClus in Matlab
Malinow  ReDiClus  Quantum Dots  Choquet  AMPAR 