コード例 #1
0
ファイル: runsim.py プロジェクト: JustasB/Mig3DTest
def build_complete_model(connection_file):
  # distribute
  nmc.build_net_round_robin(getmodel(), connection_file)
  import distribute
  import multisplit_distrib
  multisplit_distrib.multisplit_distrib(distribute.getmodel())

  # set initial weights
  if len(params.initial_weights) > 0:
    weightsave.weight_load(params.initial_weights)

  # print sections
  nc = h.List("NetCon")
  nc = int(pc.allreduce(nc.count(),1))
  if rank == 0: print "NetCon count = ", nc
  nseg = 0
  for sec in h.allsec():
    nseg += sec.nseg
  nseg = int(pc.allreduce(nseg, 1))
  if rank == 0: print "Total # compartments = ", nseg

  util.show_progress(200)

  #from odorstim import OdorSequence
  #odseq = OdorSequence(params.odor_sequence)

  if rank == 0: print 'total setup time ', h.startsw()-startsw
コード例 #2
0
def build_complete_model(connection_file):
    # distribute
    nmc.build_net_round_robin(getmodel(), connection_file)
    import distribute
    import multisplit_distrib
    multisplit_distrib.multisplit_distrib(distribute.getmodel())

    # set initial weights
    if len(params.initial_weights) > 0:
        weightsave.weight_load(params.initial_weights)

    # print sections
    nc = h.List("NetCon")
    nc = int(pc.allreduce(nc.count(), 1))
    if rank == 0: print "NetCon count = ", nc
    nseg = 0
    for sec in h.allsec():
        nseg += sec.nseg
    nseg = int(pc.allreduce(nseg, 1))
    if rank == 0: print "Total # compartments = ", nseg

    util.show_progress(200)

    import custom_params
    if custom_params.enableOdorInput:
        from odorstim import OdorSequence
        odseq = OdorSequence(params.odor_sequence)

    if rank == 0: print 'total setup time ', h.startsw() - startsw
コード例 #3
0
def build_part_model(gloms, mitrals, dicfile=''):

    model = getmodel()
    model.clear()

    # gids
    gids = set()
    for glomid in gloms:
        gids.update(range(glomid * params.Nmitral_per_glom, (glomid+1) * params.Nmitral_per_glom) + \
                    range(glomid * params.Nmtufted_per_glom + params.gid_mtufted_begin, (glomid+1) * params.Nmtufted_per_glom + params.gid_mtufted_begin))
    gids.update(mitrals)

    # distribute
    nmc.build_net_round_robin(model, gids, dicfile)

    import distribute
    if False:
        # CoreNEURON does not support multisplit
        import multisplit_distrib
        multisplit_distrib.multisplit_distrib(distribute.getmodel())

    if params.gap_junctions_active:
        gapjunc.init()

    # set initial weights
    if len(params.initial_weights) > 0:
        weightsave.weight_load(params.initial_weights)

    # print sections
    nc = h.List("NetCon")
    nc = int(pc.allreduce(nc.count(), 1))
    if rank == 0: print "NetCon count = ", nc
    nseg = 0
    for sec in h.allsec():
        nseg += sec.nseg
    nseg = int(pc.allreduce(nseg, 1))
    if rank == 0: print "Total # compartments = ", nseg

    pc.spike_record(-1, parrun.spikevec, parrun.idvec)
    util.show_progress(200)

    odseq = [OdorStim(*od) for od in params.odor_sequence]
    model.odseq = odseq

    # record
    for rec in params.sec2rec:
        vr.record(*rec)

    if rank == 0: print 'total setup time ', h.startsw() - startsw
コード例 #4
0
ファイル: MC.test.py プロジェクト: JustasB/Mig3DTest
custom_params.customMitralCount = 1
custom_params.customGranulesPerMitralCount = 1
custom_params.makeSynConns = False  # Disconnect cells

import params
import runsim

from common import *
import params
import util
import parrun
import weightsave
import net_mitral_centric as nmc

nmc.build_net_round_robin(getmodel(), "c10.dic")

model = getmodel()

h.tstop = 300
h.dt = 1 / 64.0

# GIDs
mc = 0
gc = 110821
syn = 703836162

clampM = h.IClamp(model.mitrals[mc].soma(0.5))
clampM.delay = 50
clampM.dur = 200
clampM.amp = 0.8
コード例 #5
0
ファイル: FI.test.py プロジェクト: JustasB/Mig3DTest
custom_params.makeSynConns = True
custom_params.enableAmpaNmdasyn = False
custom_params.enableFIsyn = True

from math import *
import params
import runsim

from common import *
import params
import util
import parrun
import weightsave
import net_mitral_centric as nmc

nmc.build_net_round_robin(getmodel(), 'c10.dic')

model = getmodel()

#GIDs
mc = 0
gc = 110821
syn = 703836162

#clampM = h.IClamp(model.mitrals[mc].soma(0.5))
#clampM.delay = 50
#clampM.dur = 200
#clampM.amp = 0.0

spikes = 4
spikeInterval = 20 # <33.33 for LTP, 33.33 < LTD < 250