Page 1 of 1

Running the Santhakumar/Morgan model

Posted: Mon Dec 10, 2012 11:42 am
by pascal
I recently downloaded the Santhakumar/Morgan dentate gyrus model from ModelDB (listed as Model Number 231, Accession Number 124513). Unfortunately, when I run 50knet.hoc on both my machine (Windows 7, NEURON 7.3) and a Linux machine (NEURON 7.3), I get the following error:

nrniv: syntax error
in 50knet.hoc near line 1402
killList = cvode.netconlist(MossyCell[killWhich.x(h)],"","")

I've perused the surrounding code and tried multiple fixes, but none of them work. Here is the surrounding code:

Code: Select all

objref killList, killWhich
//******************************************************************************************
proc killHilarCells () { local h, i, j, killCount, numKill, cell2Kill, percentKill, killIndex
   killCount = 0
   percentKill = $1
   killList = new List()
   synRandomizer = nmcell - 1
   setupSynRand()
   numKill = int(percentKill * nmcell / 100)
   if (numKill != 0) {
   killWhich = new Vector(numKill, -1)
   while (killCount != numKill) {
	cell2Kill = synRand.repick()
	if (killWhich.contains(cell2Kill) == 0) {
	   killWhich.x(killCount) = cell2Kill
	   killCount += 1
	}
   } 

   for h = 0, killWhich.size - 1 {

      killList = cvode.netconlist(MossyCell[killWhich.x(h)],"","")
      print "Now killing MossyCell #",killWhich.x(h)
      i = int((mcellPos.x(killWhich.x(h))-0.5*dentateBinSize)/dentateBinSize)
      for j = 0, killList.count-1 {
	 killIndex = nclist[i].index(killList.object(j))
	 if (killIndex != -1) {
	    nclist[i].remove(killIndex)
	 }
      }
   }
killList.remove_all()
}

   killCount = 0
   numKill = int(percentKill * nmcell / 100)
   if (numKill != 0) {
   killWhich.x[0]= -1
   while (killCount != numKill) {
	cell2Kill = synRand.repick()
	if (killWhich.contains(cell2Kill) == 0) {
	   killWhich.x(killCount) = cell2Kill
	   killCount += 1
	}
   } 

   for h = 0, killWhich.size - 1 {

      killList = cvode.netconlist(HIPPCell[killWhich.x(h)],"","")
      print "Now killing HIPPCell #",killWhich.x(h)
      i = int((hcellPos.x(killWhich.x(h))-0.5*dentateBinSize)/dentateBinSize)
      for j = 0, killList.count-1 {
	 killIndex = nclist[i].index(killList.object(j))
	 if (killIndex != -1) {
	    nclist[i].remove(killIndex)
	 }
      }
   }
killList.remove_all()
}
}
If anyone can identify what is wrong, I would very much appreciate it. Thank you.

Re: Running the Santhakumar/Morgan model

Posted: Tue Nov 05, 2013 7:16 pm
by neuromau
Hi pascal, I just now noticed this post, sorry. The ModelDB version is meant to be run from the GUI. If you start NEURON, then load the 50knet.hoc file from within the NEURON GUI, this error will not occur. Let me know if you want a version of this code that runs independently from the GUI.