insilicoIDE 0.2.0-0.2.4 Getting Started

Launch insilico IDE that you downloaded, then you will see blank white canvas (Fig. 1).

Load inisilicoML model / cellML model

Go into a directory named "samples" in the archive, and you will find two sample models written in insilico ML format. Drag and drop a file named "Hodgkin_Huxley_1952_model.xml" on the white canvas of insilico IDE. You find a yellow circle entitled "Hodgkin_Huxley_1952_model.xml". It represents a module (Fig. 2). If you again drag and drop another model file ("sinusoidal_current_generator.xml"), then it will add on the canvas, too. There are two ways to load model files from "File" menu. One is "Open New File..." and the other is "Add Another Model". You can treat cellML files in the same way.

By double clicking on the module you can browse modules in sub-layer of the module if the module has (Fig. 3a). Lines between the modules are called Edges. Drag a cursole with left button pressing from a blue port (Output Port) of "sinusoidal_current_generator" module with name "output_current" to an orange port (Input Port) of "Hodgkin_Huxley_1952_model" named "I_stimulus", a new edge between the output port and input port is spanned (Fig. 3b). If you again double click the top module, the substructure will be hidden.

blank onemodule expanded expanded
Fig. 1: Blank canvas Fig. 2: One module Fig. 3a: Substructure of a module Fig. 3b: Connecting a new edge


To perform numerical simulation on this model, once you need to export the model into C++ source code. Compile it by some means (g++ on cygwin, visual C++, etc) , and execute the binary file. You will have result.csv as result in which time series of every value involved in the model is written as a function of time. Since the data file is a text file, you can draw graphs by Excel, gnuplot and so on (whatever you want to use).

Select Export in File menu. Then a window opens (Fig. 4) and asks the method of numerical integration (Euler / 4th-order Runge-Kutta) , simulation time step (default 0.01 s), total duration of simulation (default 10,000 s) and rate of thinning out of the resultant time series to dump into a file.

You can use "Show simulated waveforms" in a context menu appeared by right clicking on any modules to view the time profile of variables obtained by numerical integration. Before you select "Show simulated waveforms" you need to select Ports that you want to observe by left click on the target Port. Shift + left click allow you to select several Ports to observe (Fig. 5).

Parallel computing

Large simulations generated by ISIDE can be run faster by compiling and executing them on a cluster using MPI (Message Passing Interface).

To generate a parallel simulation, check the "Generate MPI Parallel Simulation" option when generating the simulation source in ISIDE. Put this code in place of "inSilicoSim_parallel.cpp" in the "inSilicoSim" folder in the pacakge. Run "make" on UNIX systems or open the Visual Studio inSilicoSim.sln file on Windows to compile the simulation.

To execute the simulation, use "mpirun -np ### ./simulation", where ### is the number of processors to use. Optional arguments include "-timing" to print simulation times, and "-debug" to print debugging information and simulation results. The simulation results will appear in multiple files, one for each processor (result_0.dat, result_1.dat, etc).

source graph
Fig. 4: C++ source code generation Fig. 5: Graph drawing


(Top) 1, 2 (Next)