Hi
I have problems initializing my simulation that has some additional membrane mechanisms (included using NMODL). I am using Mac OS 10.4 and NEURON 6.2.
More specifically, I drag the folder with the mod.-files on `mknrndll' that successfully compiles all mechanisms. Thus, I assume that all mechanisms are coded correctly. But, when I want to insert these mechanisms (let's say mechanism xyz.mod) in specific regions on an anatomically detailed neuron using hoc.-code (let's say: `insert xyz') I receive a parse error as if the simulator does not see/recognize mechanism xyz. I placed the mod-files in the same directory as the hoc-codes calling these mechanisms so I don't think it's a path issue.
Would anybody have any suggestion how to overcome this issue?
Thanks a lot!
Parse error when trying to use compiled mechanisms
Re: Parse error when trying to use compiled mechanisms
Did dragging the folder containing the mod and hoc files create a umac directory?
When you launched neuron did you see a line after the banner stating "loading
membrane mechanisms..." and a list of loaded mod files? Does one of the
mod files declare SUFFIX xyz?
When you launched neuron did you see a line after the banner stating "loading
membrane mechanisms..." and a list of loaded mod files? Does one of the
mod files declare SUFFIX xyz?
Re: Parse error when trying to use compiled mechanisms
Dear Michael
Thanks for the reply. Well, when I drag-drop the folder with the .hoc and .mod files on `mknrndll' the `umac' folder is created. Moreover, all mechanisms are compiled and at the end of the compilation I receive the message `'. Upon compilation, in the `umac'-folder, all .mod-files have resulted in .c- and .lo-codes.
I am not sure I saw the `loading mechanisms'-message when initializing NEURON though (after compiling the .mod-files). Am I supposed to see that when initializing NEURON? The I initialize NEURON is through a script with a series of commands that call (1) nrngui and (2) the scripts that control the simulation:
Furthermore, all mechanisms that I introduced using NMODL include explicitly the mechanism-name using SUFFIX, i.e., SUFFIX xyz.
I assumed that upon compilation these mechanisms are uploaded and immediately retrievable by NEURON. Obviously, I am missing something... Maybe the way I initialize the simulation is wrong...
Thanks so much!
Costas
Thanks for the reply. Well, when I drag-drop the folder with the .hoc and .mod files on `mknrndll' the `umac' folder is created. Moreover, all mechanisms are compiled and at the end of the compilation I receive the message `
Code: Select all
Successfully created umac/special
I am not sure I saw the `loading mechanisms'-message when initializing NEURON though (after compiling the .mod-files). Am I supposed to see that when initializing NEURON? The I initialize NEURON is through a script with a series of commands that call (1) nrngui and (2) the scripts that control the simulation:
Code: Select all
load_file("nrngui.hoc")
load_file("hoc/src/refs.hoc")
load_file("cells/d151.hoc")
load_file("hoc/src/file_util.hoc")
load_file("hoc/src/main.hoc")
I assumed that upon compilation these mechanisms are uploaded and immediately retrievable by NEURON. Obviously, I am missing something... Maybe the way I initialize the simulation is wrong...
Thanks so much!
Costas
Re: Parse error when trying to use compiled mechanisms
In addition to my previous Email: the mechanisms are not loaded after initializing NEURON. In the GUI I only see mechanisms `pas' and `hh' and none of the mechanisms I defined with the NMODL codes.
Best, Costas
Best, Costas
Re: Parse error when trying to use compiled mechanisms
Hi
I found the problem regarding the `parse'-error I was receiving.
Although I successfully compiled all .mod-files (which were in the same folder as the .hoc-routines calling them) I initialized the simulation outside this folder. Obviously, some path is being set in this process. Because the initialization-code was not in the folder containing the .hoc- and .mod-files, NEURON was not uploading the compiled procedures. When I initialized inside the folder, NEURON successfully uploaded all procedures and initialized the simulation.
Best, Costas
I found the problem regarding the `parse'-error I was receiving.
Although I successfully compiled all .mod-files (which were in the same folder as the .hoc-routines calling them) I initialized the simulation outside this folder. Obviously, some path is being set in this process. Because the initialization-code was not in the folder containing the .hoc- and .mod-files, NEURON was not uploading the compiled procedures. When I initialized inside the folder, NEURON successfully uploaded all procedures and initialized the simulation.
Best, Costas
-
- Site Admin
- Posts: 6303
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Parse error when trying to use compiled mechanisms
If you compile mod files in a particular directory, NEURON will automatically find and load the compiled mechanisms if you start NEURON with that directory as the current working directory. If you start NEURON with some other directory as the current working directory, and want it to find the compiled mechanisms, there is a command line option that you can use a want NEURON to load mechanisms that had been compiled elsewhere, you must use a command line switch to tell NEURON where to look.
For a list of command line switches, run
nrniv -help
from a system prompt in an xterm. Here is the list as of today 3/3/2009 for NEURON compiled with python and numpy:
For a list of command line switches, run
nrniv -help
from a system prompt in an xterm. Here is the list as of today 3/3/2009 for NEURON compiled with python and numpy:
Code: Select all
nrniv [options] [fileargs]
options:
-dll filename dynamically load the linked mod files.
-h print this help message
-help print this help message
-isatty unbuffered stdout, print prompt when waiting for stdin
-mpi launched by mpirun or mpiexec, in parallel environment
-mswin_scale float scales gui on screen
-NSTACK integer size of stack (default 1000)
-NFRAME integer depth of function call nesting (default 200)
-nobanner do not print startup banner
-nogui do not send any gui info to screen
-notatty buffered stdout and no prompt
-python Python is the interpreter
-realtime For hard real-time simulation for dynamic clamp
--version print version info
and all InterViews and X11 options
fileargs: any number of following
- input from stdin til ^D (end of file)
-c "statement" execute next statement
filename execute contents of filename