//proc setMPTPinput()
//proc setNORMALinput()
//proc setPROBinput()
//proc saveData(indx, resVec)
//proc setDBS(bSTNflag, bGPiFlag)
//-----------------------------------------------------------------------------------------------------
proc setMPTPinput() {local i
//---------------
probCtxSTN.fill(.25)
probStrGPe.fill(.25)
probStrGPi.fill(.25)
imnCtxSTN = 75
imnStrGPe = 75
imnStrGPi = 150
gDA_CtxSTN = 1.25
gDA_StrGPe = 1.25
gDA_StrGPi = 1
gDA_STNGPe = 1.25
gDA_STNGPi = 1
gDA_GPeSTN = 1.25
gDA_GPeGPe = 1
gDA_GPeGPi = 1.25
INPupdateWeights()
CONupdateWeights()
}
//-----------------------------------------------------------------------------------------------------
proc setNORMALinput() {local i
//---------------
probCtxSTN.fill(.05)
probStrGPe.fill(.05)
probStrGPi.fill(.05)
imnCtxSTN = 100
imnStrGPe = 100
imnStrGPi = 100
gDA_CtxSTN = 1
gDA_StrGPe = 1
gDA_StrGPi = 1
gDA_STNGPe = 2
gDA_STNGPi = 1
gDA_GPeSTN = 1
gDA_GPeGPe = 1
gDA_GPeGPi = 1
INPupdateWeights()
CONupdateWeights()
}
//-----------------------------------------------------------------------------------------------------
proc setPROBinput() {local i
//---------------
probCtxSTN.fill($1)
probStrGPe.fill($1)
probStrGPi.fill($1)
INPupdateWeights()
}
strdef str
//-----------------------------------------------------------------------------------------------------
proc saveData() {local i localobj resVec, f //(indx, resVec)
//---------------
//Append line of result vector values to filename encoding numeric value indx - eg stats000.txt
resVec = $o2
f = new File()
sprint(str, "stats%03d.txt", $1)
f.aopen(str)
for i=0,resVec.size-1 {
f.printf("%f\t", resVec.x(i))
}
f.printf("\n")
f.close()
}
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
objref r2
r2 = new Random(seedVal)
//-----------------------------------------------------------------------------------------------------
proc setDBS() {local i,j,k,p //(bSTNflag, bGPiFlag)
//---------------
//Set DBS flags to stimulate bSTNflag percent of STN axons and bGPiFlag percent of GPi axons
//... and then turn on DBS inputs if any flags were actually set
dbsRESET()
if ($1 > 0) {
if ($1 > 1) {
p = 1
} else {
p = $1
}
// p% central block of STN
j = ((1-p)/2)*numSTN
k = j + p*numSTN - 1
for i=int(j),int(k) {
dbsONflags[DBS_STN].append(i)
}
}
if ($2 > 0) {
if ($2 > 1) {
p = 1
} else {
p = $2
}
// p% randomly chosen GPi
for i=0,numGPi-1 {
if (r2.repick() < p) {
dbsONflags[DBS_GPiTha].append(i)
}
}
}
if ($1 || $2) {
//Override current DBS parameters with the following values
//... if not otherwise save, the old values will be lost
dbs_del = 0
dbs_dur = tstop
dbs_direct_amp = 10
dbs_direct_pw = .25
dbs_ad_amp = .15
dbs_ad_pw = 2
dbs_period = 7.35 // _136_ Hz STIupdateWeights()
dbsON()
}
}
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------