# $Id: runone.py,v 1.2 2012/09/14 20:12:02 samn Exp $ # # loads a single sim, h.run() to run it # if __name__ == "__main__": import sys import os import string from neuron import h, gui # * h("strdef simname, allfiles, simfiles, output_file, datestr, uname, osname, comment") h.simname=simname = "mtlhpc" h.allfiles=allfiles = "geom.hoc pyinit.py geom.py network.py params.py run.py" h.simfiles=simfiles = "pyinit.py geom.py network.py params.py run.py" h("runnum=1") runnum = 1.0 h.datestr=datestr = "2021feb17" h.output_file=output_file = "data/10dec13.14" h.uname=uname = "x86_64" h.osname=osname="linux" h("templates_loaded=0") templates_loaded=0 h("xwindows=1.0") xwindows = 1.0 h.xopen("nrnoc.hoc") h.xopen("init.hoc") from pyinit import * exec(open("./geom.py").read()) # execfile("geom.py") exec(open("./network.py").read()) # execfile("network.py") exec(open("./params.py").read()) # execfile("params.py") # from params import * exec(open("./run.py").read()) # execfile("run.py") # from run import * if dconf['recordNetStimInputs']: net.record_all_netStim_times() if dconf['dorun']: if dconf['restorestate']: runFromSavedState(dconf['statestr'], h.tstop, statedir = './data/stateFiles/') else: myrun() if dconf['savestate']: savestate(dconf['statestr'], statedir = './data/stateFiles/') if dconf['saveout']: print ('calculating...') net.setsnq() net.calc_lfp() net.getnqvolt(onlyInterneurons = dconf['getOnlyInterneuronsSomaVolt']) if dconf['recPyrInputSpikes']: # make sure spike timings of pyr drive has been recorded net.setnqin() savePyrDrivingSpikes = dconf['savePyrInputSpikes'] else: savePyrDrivingSpikes = False if dconf['DoMakeSignal']: saveSignalSpikes = dconf['saveSignalSpikes'] else: saveSignalSpikes = False print ('saving...') saveSimH5py(dconf['simstr'], datadir='./data/batch/', savevoltnq = dconf['saveSomaVolt'], savePyrDrivingSpikes = savePyrDrivingSpikes, saveSignalSpikes = saveSignalSpikes) # to obtain and save connectivity matrix if dconf['saveconn']: print ('getting connectivity NQS and saving it as H5Py group...') f = h5py.File('./data/batch/'+dconf['simstr']+'_connMatrix.h5py', 'a') saveNQS_h5pyGroup(f, net.nqcon, 'connMatrix') f.close() # to save spike timings of netStims if dconf['saveout'] and len(net.linputVec) >0 and dconf['saveNetStimInputs']: # if net.record_all_netStims_times() is called print ('saving netstim spike timings as numpy array...') linputVecArr = np.array([np.array(myvec) for myvec in net.linputVec]) np.save('./data/batch/'+dconf['simstr']+'_netstimSpikeTimings.npy', linputVecArr)