/*******Cerebellar Golgi Cell Model ********** Developers: Sergio Solinas & Egidio D'Angelo Code contributors: Thierry Neius, Shyam Diwakar, Lia Forti Data Analysis: Sergio Solinas Work Progress: April 2004 - May 2007 Developed At: Università Degli Studi Di Pavia Dipartimento Di Scienze Fisiologiche Pavia - Italia Model Published in: Sergio M. Solinas, Lia Forti, Elisabetta Cesana, Jonathan Mapelli, Erik De Schutter and Egidio D`Angelo (2008) Computational reconstruction of pacemaking and intrinsic electroresponsiveness in cerebellar golgi cells Frontiers in Cellular Neuroscience 2:2 ********************************************/ objref trace, filename strdef sys_comm // Append a string to a text file proc name2file() { filename = new File() filename.aopen($s1) filename.printf("%s\n",$s2) filename.close() } // Write a two column matrix to file proc tr2file() { filename = new File() filename.wopen($s1) trace = new Matrix($o2.size(),2) trace.setcol(0,$o2) trace.setcol(1,$o3) trace.fprint(filename,"%g\t") filename.close() sprint(sys_comm,"~/bin/flrm.sh %s",$s1) system(sys_comm) } // Write a spike train vector to file proc spt2file() { filename = new File() filename.wopen($s1) $o2.printf(filename) filename.close() sprint(sys_comm,"~/bin/flrm.sh %s",$s1) system(sys_comm) } // Write a matrix to file proc SaveRates() { filename = new File() filename.wopen($s1) trace = new Matrix(3,$o2.getcol(1).size()) trace.setrow(0,$o2.getcol(1)) trace.setrow(1,$o2.getcol(1).div($o2.getcol(1).get(0)/100).sub(100)) trace.setrow(2,$o2.getcol(9)) trace.fprint(filename,"%-4.1f\t") filename.close($s1) sprint(sys_comm,"~/bin/flrm.sh %s",$s1) system(sys_comm) } // Read from file Golgi_count.txt the simulation index // and write the index+1 func cplus() { local cnt filename = new File() strdef countfile countfile = "Golgi_count.txt" filename.ropen(countfile) if (!filename.isopen()) { system("echo 0 > Golgi_count.txt") filename.ropen(countfile) } cnt = filename.scanvar() filename.ropen(countfile) filename.close() filename.wopen(countfile) cnt =cnt+1 filename.printf("%f",cnt) filename.close() print "Simulation number : ",cnt return cnt }