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
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
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
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
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