from glob import glob
from sys import argv
files = glob('*.hoc')
for f in files:
fp = open(f,'r')
name = 'n'+f.rstrip('.hoc')
lines = ['begintemplate %s\n' % (name),
'public soma, dend, ais, axon, all, somatic, basal, excitozone, axonal, abd, cv\n\n']
is_done = 0
for line in fp:
if line.startswith('create'):
createline = line.rstrip()+' ais\n'
line=createline
if line.startswith('begintemplate'):
is_done=1
break
if line.lstrip().startswith('objref'): # additional
newline = line.rstrip()
for things in [' excitozone', ' abd', ' axonal']:
if things not in newline:
newline+=',%s' %things
newline+='\n'
lines.append(newline)
continue
if line.lstrip().startswith('soma somatic.append()'): #changes to subsets
lines.append(line)
lines.append('excitozone = new SectionList()\n')
lines.append('axonal = new SectionList()\n')
lines.append('abd = new SectionList()\n')
lines.append('ais all.append()')
lines.append('ais excitozone.append()')
continue
if line.startswith('celldef()'): # create init, end template
lines.append('proc init(){\n\n')
lines.append(createline)
lines.append('access soma\n')
lines.append('celldef()\n\n}\n\n')
lines.append('endtemplate %s\n' % name)
continue
lines.append(line)
if is_done:
continue
fp.close()
for line in lines:
print line,