Adding uniform Synapses on 3D structure Cell

Moderator: tom_morse

Adding uniform Synapses on 3D structure Cell

Postby Mohamed_Hisham » Thu Jul 13, 2017 5:43 pm

Hello

I am trying to put uniform synapses on a 3D structure of a motoneuron , the motoneuron consist of 731 section.
I want to spread the synapses uniformly on the 3D structure of the cell. so that if a section consist of 3 nseg , we should Have 3 synapses on that section.

Code: Select all

SysIVibrationFreq    = 180
SysITimeofVibration = 1e9
STARTTIME         = 1
INTERVAL         = 1

R_SysISyn_Erev    = 0               #...FR...
R_SysISyn_tau1    = 0.2
R_SysISyn_tau2    = 0.2            # deactivation

netParams.popParams['FR'] = {'cellType': 'FR', 'numCells': 2, 'cellModel': 'HH3D'}
cellRule0 = netParams.importCellParams(label = 'FR',conds={'cellType': 'FR', 'cellModel': 'HH3D'}, fileName= 'FRcellTemplate.hoc', cellName='FR_Cell',importSynMechs=False)
netParams.cellParams['FRrule'] = cellRule0       

netParams.synMechParams['FR_syn'] = {'mod': 'Exp2Syn', 'tau1': R_SysISyn_tau1, 'tau2': R_SysISyn_tau2, 'e': R_SysISyn_Erev}


netParams.stimSourceParams['stim1'] = {'type': 'NetStim', 'interval': 1000/SysIVibrationFreq , 'number': SysITimeofVibration*SysIVibrationFreq/1000, 'start': STARTTIME   , 'noise': 0}

netParams.stimTargetParams['stim1->FR'] = {'source': 'stim1', 'conds': {'cellType': 'FR'} ,'weight': 1,'sec':'all','synPerConn':??? , 'delay': 1, 'synMech': 'FR_syn'}


for the "stimTargetParams" i am not sure how to mention the 731 sections for the "sec" attribute , and how to set the "sysPerConn" attribute , as the number of synapses for each section should be the same as nseg at the same section.

I want to ask also if there is a way i can set the total conductance of these synapses.


Thanks
Last edited by Mohamed_Hisham on Mon Jul 17, 2017 11:36 am, edited 1 time in total.
Mohamed_Hisham
 
Posts: 3
Joined: Thu Oct 08, 2015 2:56 pm
Location: Wright State University

Re: Adding uniform Synapses on 3D structure Cell

Postby ted » Fri Jul 14, 2017 10:21 pm

uniform synapses
Does your definition of "uniform" have any relationship to what anatomists call "synaptic density"? Two different definitions of synaptic density have been proposed. One is
# synapses/dendritic length in um
and the other is
# synapses/dendritic surface area in um2.
The last time I looked at the literature on synaptic density, there was some evidence that the second definition made more sense in terms of how cells are actually innervated, but most modelers were using the first definition. Then there's the question of whether synaptic density is uniform over the surface of a cell, or whether there is systematic variation, e.g. with radial or path distance from the soma or, in the case of neurons in layered cortex, with distance (depth) from the cortical surface or with vertical distance from the cortical layer where the cell bodies are located. There was some evidence that, in pyramidal neurons, density of excitatory varied with path distance from the soma, reaching a maximum somewhere around 100-200 um from the soma as I recall.

If you want each segment to have just 1 instance of a particular synaptic mechanism, do you plan to adjust synaptic weight according to segment length to reflect the fact that, in a real cell, the number of synapses attached to a particular part of a neurite depends on the length of that piece of neurite? Or, if your afferent spike streams have negexp statistics, and each synaptic mechanism is driven by a single NetCon, will the mean event rate delivered by each NetCon be proportional to the anatomical length (or surface area) of the segment to which the synaptic mechanism is attached?
ted
Site Admin
 
Posts: 4987
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine

Re: Adding uniform Synapses on 3D structure Cell

Postby Mohamed_Hisham » Mon Jul 17, 2017 1:57 pm

ted wrote:
uniform synapses
Does your definition of "uniform" have any relationship to what anatomists call "synaptic density"? Two different definitions of synaptic density have been proposed. One is
# synapses/dendritic length in um
and the other is
# synapses/dendritic surface area in um2.
The last time I looked at the literature on synaptic density, there was some evidence that the second definition made more sense in terms of how cells are actually innervated, but most modelers were using the first definition.


Yes , my definition of uniform synaptic density is per unit area , I used to calculate each section area in "hoc" and divide it with the total dendrites area to calculate the section share from the total conductance of the synapses.

Code: Select all
Gsynapse = (Total_synapses_Conductance*$o1.SectionArea)/($o1.TotalArea*$o1.NumSysISynapsesPerSection)

and number of synapses per section used to be the same as nseg per section


Then there's the question of whether synaptic density is uniform over the surface of a cell, or whether there is systematic variation,

for now, the density is uniform over the surface of the cell ,no systemic variation needed yet.

do you plan to adjust synaptic weight according to segment length to reflect the fact that, in a real cell, the number of synapses attached to a particular part of a neurite depends on the length of that piece of neurite

in my project design the number of synapses should also be function in the section length , so I thought setting the number of synapses equal to nseg per section would be reasonable and practical. but I don't have an idea how to do it using NetPyNE package ,also i am not sure what it is meant by uniform density in the NetPyNE documentation , it is written that it should depend on each section length , but how about the conductance ? is it related to each section area.

Thank you very much ted , looking forward for your reply
Mohamed_Hisham
 
Posts: 3
Joined: Thu Oct 08, 2015 2:56 pm
Location: Wright State University

Re: Adding uniform Synapses on 3D structure Cell

Postby ted » Mon Jul 17, 2017 10:56 pm

Unfortunately I know almost nothing about NetPyNE--Salvador Dura will have to tell you how to do what you want with NetPyNE.
ted
Site Admin
 
Posts: 4987
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine

Re: Adding uniform Synapses on 3D structure Cell

Postby salvadord » Wed Jul 19, 2017 9:22 am

Hi Mohamed, thanks for your message. By default, when synsPerConn > 1, netpyne distributes synapses uniformly based on dendritic length in um (sums up all dend lengths and places syns at equally spaced intervals). However, it does not take into account section area. However, if you want to place 1 syn / seg thats also possible by creating individual stimTargetParams rules in a for loop.

In the code below I provide examples of both cases (uniform distribution based on dend length and 1 syn/seg):

Code: Select all
netParams = specs.NetParams()   # object of class NetParams to store the network parameters

SysIVibrationFreq    = 180
SysITimeofVibration = 1e9
STARTTIME         = 1
INTERVAL         = 1

R_SysISyn_Erev    = 0               #...FR...
R_SysISyn_tau1    = 0.2
R_SysISyn_tau2    = 0.2            # deactivation

# populations
netParams.popParams['FR'] = {'cellType': 'FR', 'numCells': 2, 'cellModel': 'HH3D'}

# cell rules
#cellRule0 = netParams.importCellParams(label = 'FR',conds={'cellType': 'FR', 'cellModel': 'HH3D'}, fileName= 'FRcellTemplate.hoc', cellName='FR_Cell',importSynMechs=False)
cellRule = {'conds': {'cellModel': 'HH3D', 'cellType': 'FR'},  'secs': {}}   # cell rule dict
nsec = 10
nseg = 5
for isec in range(nsec):
    cellRule['secs']['sec_'+str(isec)] = {'geom': {'nseg': nseg}, 'mechs':{}}
netParams.cellParams['FRrule'] = cellRule

# synapses
netParams.synMechParams['FR_syn'] = {'mod': 'Exp2Syn', 'tau1': R_SysISyn_tau1, 'tau2': R_SysISyn_tau2, 'e': R_SysISyn_Erev}

# stimulation
netParams.stimSourceParams['stim1'] = {'type': 'NetStim', 'interval': 1000/SysIVibrationFreq , 'number': SysITimeofVibration*SysIVibrationFreq/1000, 'start': STARTTIME, 'noise': 0}

# OPTION 1: syns distributed uniformly across sec length (in um)
netParams.stimTargetParams['stim1->FR'] = {'source': 'stim1', 'conds': {'cellType': 'FR'} ,'weight': 1, 'sec':'all', 'synsPerConn': nsec*nseg , 'delay': 1, 'synMech': 'FR_syn'}

# OPTION 2: 1 syn per segment
for secName,sec in netParams.cellParams['FRrule']['secs'].iteritems():
    for iseg in range(sec['geom']['nseg']):
        netParams.stimTargetParams['stim1->FR_'+secName+'_'+str(iseg)] = \
        {'source': 'stim1', 'conds': {'cellType': 'FR'} ,'weight': 1, 'sec': secName, 'loc': (iseg+1)*(1.0/nseg)-(0.5/nseg), 'synPerConn':1 , 'delay': 1, 'synMech': 'FR_syn'}

salvadord
 
Posts: 20
Joined: Tue Aug 18, 2015 3:49 pm


Return to NetPyNE

Who is online

Users browsing this forum: No registered users and 1 guest