Search found 211 matches

by ramcdougal
Wed Jan 01, 2020 2:13 pm
Forum: NEURON + Python
Topic: Associative arrays in HOC
Replies: 5
Views: 728

Re: Associative arrays in HOC

As long as Python is installed, you can use Python dictionaries from inside HOC:

Code: Select all

oc>objref py, d
oc>py = new PythonObject()
oc>d = py.dict()
oc>d.__setitem__("axon", 100)
	NULLobject 
oc>d.__setitem__("soma", 10)
	NULLobject 
oc>d.get("soma")
	10 
oc>d.get("axon")
	100 
by ramcdougal
Wed Jan 01, 2020 2:00 pm
Forum: NEURON + Python
Topic: Converting HOC extracellular to Python
Replies: 3
Views: 583

Re: Converting HOC extracellular to Python

In HOC, if foo is an array, assigning to foo is a syntactic shortcut for assigning to foo[0].
by ramcdougal
Tue Dec 17, 2019 5:13 pm
Forum: UNIX/Linux
Topic: CentOS with RxD and NEURON build from source
Replies: 1
Views: 544

Re: CentOS with RxD and NEURON build from source

Looks like something went wrong with the Cython part of the compilation (which provides voxelize2). If you're using Centos 7 and Python 3.4, try recompiling after something like: yum -y install python34-Cython (I understand you may not have sudo rights on this machine, but you ought to be able to in...
by ramcdougal
Wed Dec 11, 2019 12:09 pm
Forum: Anatomically detailed models
Topic: Precise 3D morphology
Replies: 6
Views: 842

Re: Precise 3D morphology

NEURON doesn't use cylinders. It uses truncated cones ("frusta of a right circular cone") for the electrophysiology. For 3D reaction-diffusion domains, we use essentially the algorithm of McDougal et al., 2013 to convert Neurolucidia-style point-diameter measurements into watertight surfaces. The SW...
by ramcdougal
Mon Nov 25, 2019 1:36 pm
Forum: Other questions
Topic: Could neuron be installed on Windows/MacOS through the command line?
Replies: 2
Views: 487

Re: Could neuron be installed on Windows/MacOS through the command line?

We have two active projects that may be of interest to you: (1) pip installable wheels at https://github.com/neuronsimulator/nrn/tree/setuppy/dist Important: this is a work in progress. At this writing, neither nrnivmodl nor the GUI work. If you don't need those though, you should be good. (The nrni...
by ramcdougal
Fri Nov 22, 2019 1:28 pm
Forum: NEURON + Python
Topic: Is it possible to run nrnivmodl from python?
Replies: 4
Views: 1031

Re: Is it possible to run nrnivmodl from python?

As long as you're using NEURON 7.7+ installed by the regular installer, just use nrnivmodl on every platform. The Linux (at least with the deb, didn't check rpm), Windows, and macOS installers all default to putting nrnivmodl on the path. In Windows, in particular, one can open a regular cmd or Powe...
by ramcdougal
Tue Nov 12, 2019 12:28 pm
Forum: Reaction-diffusion in NEURON
Topic: The equilibrium between the FS and external
Replies: 20
Views: 2168

Re: The equilibrium between the FS and external

Similarly, NEURON automatically updates Nernst potentials for species defined using rxd. For more on the math governing Nernst Potentials, see this entry on Wikipedia. Ion current through a channel is typically proportional to the difference between the membrane potential and the corresponding Nerns...
by ramcdougal
Tue Nov 12, 2019 11:17 am
Forum: Reaction-diffusion in NEURON
Topic: length scales and SparseEfficiencyWarning
Replies: 5
Views: 782

Re: length scales and SparseEfficiencyWarning

The first issue should go away when you upgrade to 7.7. As far as tolerance goes: if you're using variable step, you can specify an atolscale when you declare the Species... I don't know that that's related, but I'm mentioning it just in case. As of this time, we have no automatic advice for automat...
by ramcdougal
Tue Oct 29, 2019 9:41 am
Forum: Reaction-diffusion in NEURON
Topic: Node.d (Diffusion) for Node3D objects
Replies: 2
Views: 673

Re: Node.d (Diffusion) for Node3D objects

It looks like when going from 7.6.x to 7.7.x we lost the ability to have non-uniform diffusion constants in 3D. Sorry about that; we're working on a fix. I'm not sure I fully understand your other observations; could you explain more? With 7.7.x, crxd and rxd are now the same thing... that is, rxd g...
by ramcdougal
Tue Oct 29, 2019 9:21 am
Forum: NEURON + Python
Topic: Parallel NMODL array assignment
Replies: 8
Views: 1340

Re: Parallel NMODL array assignment

The above code requires NEURON 7.7.2 or newer.

Older versions won't recognize _ref_foo, and instead need to have the pointer set using h.setpointer; i.e. replace the for loop in the above with:

Code: Select all

# tell each pp about the pointer
for pp in pps:
    h.setpointer(ptr, 'foo', pp)
by ramcdougal
Mon Oct 28, 2019 6:05 pm
Forum: NEURON + Python
Topic: Parallel NMODL array assignment
Replies: 8
Views: 1340

Re: Parallel NMODL array assignment

You can assign your data to a numpy array, get a pointer to the numpy array using neuron.numpy_element_ref, send that pointer to all point processes (this is fast... there's no copying of data), and then have the point process read from the array using a single VERBATIM line. Our driving Python prog...
by ramcdougal
Mon Oct 21, 2019 1:02 am
Forum: OS X
Topic: Problem importing NEURON in python
Replies: 2
Views: 1098

Re: Problem importing NEURON in python

Sounds like the PATH and PYTHONPATH environment variables didn't get set correctly somehow. Please try reinstalling to see if this fixes the problem. During installation, it should prompt you for permission to let it modify your paths. Be sure to agree to this. Changes won't be effective in existing...
by ramcdougal
Thu Sep 19, 2019 1:41 pm
Forum: NEURON + Python
Topic: Filter Mechanism params by NMODL PARAMETER
Replies: 8
Views: 1494

Re: Filter Mechanism params by NMODL PARAMETER

As long as you're using NEURON 7.7+, mod file code is available for introspection from Python, so it can be parsed manually with a handful of lines of Python. Here's a function that seems to work to get parameters: from neuron import h import re def get_parameters(mech_name): mech = h.MechanismType(...
by ramcdougal
Thu Aug 29, 2019 10:45 am
Forum: Other ways of using NEURON in neuroscience education
Topic: Running NEURON tutorials on webpage
Replies: 5
Views: 23441

Re: Running NEURON tutorials on webpage

We've started a process of redoing those tutorials, which are pretty old. The new versions use more modern idioms and come as Jupyter notebooks. We haven't moved these to the website because we don't have a full replacement, but here's a few: https://neuron.yale.edu/ftp/ramcdougal/pythontutorial.ipy...
by ramcdougal
Thu Aug 29, 2019 10:15 am
Forum: Other questions
Topic: debugging/profiling NEURON execution
Replies: 3
Views: 917

Re: debugging/profiling NEURON execution

Are you trying to debug NEURON itself or a NEURON simulation? For debugging NEURON simulations written in Python, you can use pdb as with any other Python code. A quick search will lead you to many pdb tutorials. For debugging NEURON simulations written in HOC... there's no equivalent. Going forward...