import matplotlib matplotlib.use('Agg') import numpy from pylab import * import time import scipy.io import pickle import sys import mutation_stuff import mytools Nmc = 150 rateE = 0.72 rateI = 7.0 NsynE = 10000 NsynI = 2500 rdSeeds = range(1,51) tstop = 12000 #ms oscfreq = 1.0 #Hz rateCoeffDiff = 0.25 for i in range(0,len(sys.argv)): print "sys.argv["+str(i)+"]: "+sys.argv[i] if len(sys.argv) > 1: oscfreq = float(sys.argv[1]) if len(sys.argv) > 2: rateCoeffDiff = float(sys.argv[2]) rateCoeffs = [1-rateCoeffDiff, 1+rateCoeffDiff] phases = [2.0*numpy.pi*x/50 for x in rdSeeds] tmax = 10000 nts = 100000 nphases = 30 probsE = numpy.zeros([nphases,nts]) probsI = numpy.zeros([nphases,nts]) for irdSeed in range(0,len(rdSeeds)): try: rdSeed = rdSeeds[irdSeed] phase = phases[irdSeed] unpicklefile = open('backgroundspikes_'+str(oscfreq)+'_'+str(rateCoeffDiff)+'_'+str(tstop)+'_'+str(rdSeed)+'.sav', 'r') unpickledlist = pickle.load(unpicklefile) unpicklefile.close() for icell in range(0,len(unpickledlist)): theseSpikes = unpickledlist[icell][0] iprev = -1 tprev = 0 for ispike in range(0,len(theseSpikes)): t = theseSpikes[ispike][1] if theseSpikes[ispike][0] != iprev: tprev = 0 iprev = theseSpikes[ispike][0] dt = t - tprev myphase = phase + 2*numpy.pi*oscfreq*0.001*tprev while myphase >= 2*numpy.pi: myphase = myphase-2*numpy.pi phaseslot = int(myphase/(2*numpy.pi)*nphases) dtslot = int(dt/tmax*nts) if dtslot >= nts: dtslot = nts-1 tprev = t probsE[phaseslot,dtslot] = probsE[phaseslot,dtslot] + 1 theseSpikes = unpickledlist[icell][1] iprev = 0 tprev = 0 for ispike in range(0,len(theseSpikes)): t = theseSpikes[ispike][1] if theseSpikes[ispike][0] != iprev: tprev = 0 iprev = theseSpikes[ispike][0] dt = t - tprev myphase = phase + 2*numpy.pi*oscfreq*0.001*tprev while myphase >= 2*numpy.pi: myphase = myphase-2*numpy.pi phaseslot = int(myphase/(2*numpy.pi)*nphases) dtslot = int(dt/tmax*nts) if dtslot >= nts: dtslot = nts-1 tprev = t probsI[phaseslot,dtslot] = probsI[phaseslot,dtslot] + 1 except: print 'Could not open backgroundspikes_'+str(oscfreq)+'_'+str(rateCoeffDiff)+'_'+str(tstop)+'_'+str(rdSeed)+'.sav' for iphase in range(0,nphases): probsE[iphase,:] = probsE[iphase,:]/sum(probsE[iphase,:]) probsI[iphase,:] = probsI[iphase,:]/sum(probsI[iphase,:]) file = open('isidists_'+str(oscfreq)+'_'+str(rateCoeffDiff)+'.sav', 'w') pickle.dump([probsE,probsI,tmax],file) file.close()