I have been using the rxd module to model paracrine signaling between pancreatic islet cells. While creating a simple example I have run into a problem.
I have three cell (nrn.Section) types: A cells that secrete rxd.State G, B cells that secrete rxd.State I, and D cells that secrete rxd.State S. Each cell type has a corresponding density mechanism mod file that defines the secretion rates of their respective hormones into one rxd.Region. I followed this tutorial on how to connect mod file ion channels with rxd and this forum post showing how to negate the effect of my "hormone" current on membrane potential.
Code: Select all
# Create h.Sections
A = h.Section(name="A")
B = h.Section(name="B")
D = h.Section(name="D")
# Insert respective mechanisms
A.insert("G_secretion")
B.insert("I_secretion")
D.insert("S_secretion")
# Create rxd.Region. Specify nrn_region='o' so that
# hormone "currents" secrete their hormones out of the cell
hormone_compartment = rxd.Region(secs=[A, B, D], name="hormone_compartment", nrn_region="o")
# Create rxd.State's
G = rxd.State(regions=hormone_compartment, name="G", charge=1)
I = rxd.State(regions=hormone_compartment, name="I", charge=1)
S = rxd.State(regions=hormone_compartment, name="S", charge=1)
Now what I would like to do to model the effect of each cells rxd.State on the other cell types. What I would like to do is, using cell B secreting I which affects cell A as an example, set the concentration in the I node corresponding to cell A as a function of the concentration of I in the B node (e.g., set the concentration of I in the A node to I in the B node divided by the distance between cells A and B). The G_secretion mechanism has a POINTER I that I would then like to be set by this concentration.
I don't think my simple, distance-weighted concentrations would be worth the overhead of using rxd.Extracellular for this. I have tried to set this in multiple ways
Code: Select all
# Set distance between cells A and B to 2 for simplicity.
A2B_dist = 2
# Node 0 of I corresponds to cell A and node 1 corresponds to cell B
# Attempt 1
I.nodes[0]._ref_concentration = I.nodes[1]._ref_concentration / A2B**2
# Attempt 2
I.nodes[0].concentration = I.nodes[1]._ref_concentration / A2B**2
Any help with this is greatly appreciated!