Running the Santhakumar/Morgan model

Discussions of particular models.

Moderator: tom_morse

Post Reply
pascal
Posts: 106
Joined: Thu Apr 26, 2012 11:51 am

Running the Santhakumar/Morgan model

Post 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.
neuromau
Posts: 97
Joined: Mon Apr 20, 2009 7:02 pm

Re: Running the Santhakumar/Morgan model

Post 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.
Post Reply