Is there a "restore to initiation defaults" command?

Using the graphical user interface to build and exercise models. Includes customizing the GUI by writing a little bit of hoc.
Post Reply
Ohad.Dan
Posts: 2
Joined: Tue Jun 25, 2013 9:39 am
Location: Hebrew University of Jerusalem
Contact:

Is there a "restore to initiation defaults" command?

Post by Ohad.Dan » Mon Aug 05, 2013 10:11 am

I have designed a few experimental designs, each exported to its own session (*.ses) file.
I am now writing some code which iterates over the scenarios and save some parameters of the current simulation.

An example for such scenarios are : (a) Load morphology 1 and inject current at dend[200] for 10ms. (b) Load Morphology 2 and inject current at soma[0] for 1 ms.
The iteration is performed as I want to check for each scenario the maximum voltage change (in each of the scenarios) at axon[4].

As each scenario is independent and stands on its own (not incremental) I am wondering if there is a simple command that deletes all existing variables\morphologies\mechanisms, closes all opened windows and practically restores the system to the state of just invoking the GUI.

This will make my implementation very easy :
Load session1 // In which the right parameters for the experiment are defined
print axon[4].v
restoredefualts()
Load session2
print axon[4].v

So, does this kind of command really exist?

Thanks.

ted
Site Admin
Posts: 5231
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Is there a "restore to initiation defaults" command?

Post by ted » Mon Aug 05, 2013 11:00 am

No, you have to take care of that yourself. Here's a description of how to do it.

In broad terms, you have a set of experimental protocols and a set of model cells. Each protocol involves its own set of instrumentation (signal sources, maybe vectors for recording results, analysis code). At the end of a given protocol on a particular model cell, you want to discard the model cell and perhaps also the instrumentation. Of course, there must also be some supervisory code that controls the whole process and takes care of anything that is generic across all protocols and cell classes.

Wrap each cell in a template so it defines a class, and give each class a unique name. If each protocol involves different kinds of instrumentation, do the same for each protocol. Then for each combination of cell class and protocol, you can

Code: Select all

for each cell class to be tested
  for each protocol to be applied
    create an instance of the cell class
    create an instance of the protocol class
    using a method internal to the protocol class, attach the protocol's instrumentation to the cell instance
    run a simulation
    using a method internal to the protocol class, analyze the results and print them or save them to a file
    discard the protocol class instance and the cell class instance

Post Reply