Skip to content

Commit c0bd692

Browse files
author
Facu_r
authored
Merge branch 'development' into changePlotMethod
2 parents 5187dc8 + 5309c24 commit c0bd692

1 file changed

Lines changed: 51 additions & 1 deletion

File tree

netpyne_ui/netpyne_geppetto.py

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,6 @@ def getPlot(self, plotName, LFPflavour):
217217
if LFPflavour:
218218
args['plots'] = [LFPflavour]
219219
fig = getattr(analysis, plotName)(showFig=False, **args)[0]
220-
print(fig)
221220
if fig==-1:
222221
return fig
223222
elif isinstance(fig, list):
@@ -289,6 +288,57 @@ def deleteParam(self, paramToDel):
289288

290289
def validateFunction(self, functionString):
291290
return utils.ValidateFunction(functionString, netParams.__dict__)
291+
292+
def generateScript(self, metadata):
293+
def convert2bool(string):
294+
return string.replace('true', 'True').replace('false', 'False')
295+
296+
def header(title, spacer='-'):
297+
return '\n# ' + title.upper() + ' ' + spacer*(77-len(title)) + '\n'
298+
299+
try :
300+
params = ['popParams' , 'cellParams', 'synMechParams']
301+
params += ['connParams', 'stimSourceParams', 'stimTargetParams']
302+
303+
fname = metadata['scriptName'] if metadata['scriptName'][-3:]=='.py' else metadata['scriptName']+'.py'
304+
305+
with open(fname, 'w') as script:
306+
script.write('from netpyne import specs, sim\n')
307+
script.write(header('documentation'))
308+
script.write("''' Script generated with NetPyNE-UI. Please visit:\n")
309+
script.write(" - https://www.netpyne.org\n - https://github.com/MetaCell/NetPyNE-UI\n'''\n")
310+
script.write(header('script', spacer='='))
311+
script.write('netParams = specs.NetParams()\n')
312+
script.write('simConfig = specs.SimConfig()\n')
313+
script.write(header('single value attributes'))
314+
for attr, value in netParams.__dict__.items():
315+
if attr not in params:
316+
if value!=getattr(specs.NetParams(), attr):
317+
script.write('netParams.' + attr + ' = ')
318+
script.write(convert2bool(json.dumps(value, indent=4))+'\n')
319+
320+
script.write(header('network attributes'))
321+
for param in params:
322+
for key, value in getattr(netParams, param).items():
323+
script.write("netParams." + param + "['" + key + "'] = ")
324+
script.write(convert2bool(json.dumps(value, indent=4))+'\n')
325+
326+
script.write(header('network configuration'))
327+
for attr, value in simConfig.__dict__.items():
328+
if value!=getattr(specs.SimConfig(), attr):
329+
script.write('netParams.' + attr + ' = ')
330+
script.write(convert2bool(json.dumps(value, indent=4))+'\n')
331+
332+
script.write(header('create simulate analyze network'))
333+
script.write('sim.createSimulateAnalyze(netParams=netParams, simConfig=simConfig)\n')
334+
335+
script.write(header('end script', spacer='='))
336+
337+
return self.getJSONReply()
338+
339+
except:
340+
return self.getJSONError("Error while importing the NetPyNE model", traceback.format_exc())
341+
292342

293343
class LoopTimer(threading.Thread):
294344
"""

0 commit comments

Comments
 (0)