Hi everyone, has anyone successfully added a gap junction to an existing model using NESTML? I would like to add gap junction support to the aeif_cond_alpha neuron model but it is unclear how this can be done within NESTML. As suggested by Charl, I started to look into updating the jinja templates but I am not sure this will be possible since both the input/output of the neuron and the model's equation must be updated to support gap junctions. If anyone has any suggestions or if anyone has NESTML code for adding a gap junction to an existing model, I would be very appreciative. Thanks!
I'm trying to set the initial Calcium concentration for this model with no luck. I've tried
self.model_params = {'tau_m': 10.0, # membrane time constant (ms)
...
'Ca': 0.1 #initial calcium concentration
}
This method doesn't throw an exception but it also doesn't change the initial calcium concentration.
I've also tried self.nodes_e.set(Ca=0.1) which throws an exception
nest.lib.hl_api_exceptions.NESTErrors.DictError: DictError in SLI function SetStatus_id: Unused dictionary items: Ca
Any suggestions?
I'm running the structural_plasticity.py example and would like to make some modifications. I was able to change the initial Ca value with the help of Charl. Now I'm trying to specify connection rules such as disallowing autapses.
Does anyone have any suggestions on how I can implement this in the structural plasticity example? I'm not CS major but I am able to compile and run nest locally.
Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer
Video Conference, today
Monday March 27, 11.30-12.30 CET (UTC+1).
As usual, in the Project team round, a contact person of each team will
give a short statement summarizing ongoing work in the team and
cross-cutting points that need discussion among the teams. The remainder
of the meeting we would go into a more in-depth discussion of topics
that came up on the mailing list or that are suggested by the teams.
Feel free to join the meeting also if it's just to bring your own quick
questions for direct discussion in the in-depth section.
Agenda
* Welcome
* Review of NEST User Mailing List
* Project team round
* In-depth discussion
The agenda for this meeting is also available online, see
https://github.com/nest/nest-simulator/wiki/2023-03-27-Open-NEST-Developer-…
Looking forward to seeing you!
Cheers,
Jochen!
------------------
Log-in information
------------------
We use a virtual conference room provided by DFN (Deutsches Forschungsnetz).
You can use the web client to connect. We however encourage everyone to
use a headset for better audio quality or even a proper video
conferencing system (see below) or software when available.
Web client
* Visit https://conf.dfn.de/webapp/conference/97938800
* Enter your name and allow your browser to use camera and microphone
* The conference does not need a PIN to join, just click join and you're in.
In case you see a dfnconf logo and the phrase "Auf den
Meetingveranstalter warten", just be patient, the meeting host needs to
join first (a voice will tell you).
VC system/software
How to log in with a video conferencing system, depends on you VC system
or software.
- Using the H.323 protocol (eg Polycom): vc.dfn.net##97938800 or
194.95.240.2##97938800
- Using the SIP protocol:97938800@vc.dfn.de
- By telephone: +49-30-200-97938800
For those who do not have a video conference system or suitable
software, Polycom provides a pretty good free app for iOS and Android,
so you can join from your tablet (Polycom RealPresence Mobile, available
from AppStore/PlayStore). Note that firewalls may interfere with
videoconferencing in various and sometimes confusing ways.
For more technical information on logging in from various VC systems,
please see http://vcc.zih.tu-dresden.de/index.php?linkid=1.1.3.4
--
Dr. Jochen Martin Eppler (he/him)
Simulation and Data Lab Neuroscience
Jülich Supercomputing Centre
Institute for Advanced Simulation
---------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Stefan Müller
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Dr. Ir. Pieter Jansens,
Prof. Dr. Astrid Lambrecht, Prof. Dr. Frauke Melchior
---------------------------------------------------------------------
Hello,
I am trying to normalize connection weights using a code similar to the one on the Documentation (see code below). I receive an error when assigning the modified weights on the last line of the for loop below (only when I use several MPI processes). That is, when using
mpirun -np 1 python3 test_DumpLayerConnections.py
I do not receive any error, but when using 4 MPI processes:
mpirun -np 4 python3 test_DumpLayerConnections.py
I receive the following error when trying to start a Simulation:
Mar 16 11:13:53 NodeManager::prepare_nodes [Info]:
Preparing 675 nodes for simulation.
[dcccluster:747534] *** An error occurred in MPI_Allgather
[dcccluster:747534] *** reported by process [2696478721,0]
[dcccluster:747534] *** on communicator MPI_COMM_WORLD
[dcccluster:747534] *** MPI_ERR_TRUNCATE: message truncated
[dcccluster:747534] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
[dcccluster:747534] *** and potentially your MPI job)
I can avoid this error by commenting the last for loop assignament (the normalized weights assignment operation). I am using NEST 3.3 (compiled with MPI option) and Python 3.8.12. I guess it could be related to the DumpLayerConnections bug I told you some days ago.
Thanks a lot in advance!
Xavier
import nest
import numpy as np
pos = nest.spatial.grid(shape = [30,30] )
input = nest.Create('iaf_psc_alpha', positions=pos)
layer_0 = nest.Create('iaf_psc_alpha', positions=pos)
layer_1 = nest.Create('iaf_psc_alpha', positions=pos)
conn_neur = {'rule':'pairwise_bernoulli', 'use_on_source': True, 'mask': {'grid':{'shape':[9,9]}} }
nest.CopyModel('static_synapse', 'syn_1_model')
syn_0 = {'synapse_model': 'static_synapse'}
syn_1 = {'synapse_model': 'syn_1_model'}
nest.Connect(input, layer_0, conn_neur, syn_0)
nest.Connect(input, layer_1, conn_neur, syn_1)
nest.DumpLayerConnections(input, layer_0, 'static_synapse', 'conn.txt')
nest.DumpLayerConnections(input, layer_1, 'syn_1_model', 'conn.txt')
for neuron in layer_0:
conn = nest.GetConnections(target=neuron, synapse_model='static_synapse')
w = np.array(conn.weight)
if (w.size>1):
w_normed = w / sum(abs(w)) # L1-norm
w_nparray = 2. * w_normed
conn.weight = w_nparray.tolist()
nest.Simulate(100)
Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer Video Conference, today
Monday March 13, 11.30-12.30 CET (UTC+1).
As usual, in the Project team round, a contact person of each team will give a short statement summarizing ongoing work in the team and cross-cutting points that need discussion among the teams. The remainder of the meeting we would go into a more in-depth discussion of topics that came up on the mailing list or that are suggested by the teams.
Feel free to join the meeting also if it's just to bring your own quick questions for direct discussion in the in-depth section.
Agenda
* Welcome
* Review of NEST User Mailing List
* Project team round
* In-depth discussion
The agenda for this meeting is also available online, see
https://github.com/nest/nest-simulator/wiki/2023-03-13-Open-NEST-Developer-…
Looking forward to seeing you!
Cheers,
Dennis Terhorst
------------------
Log-in information
------------------
We use a virtual conference room provided by DFN (Deutsches Forschungsnetz).
You can use the web client to connect. We however encourage everyone to
use a headset for better audio quality or even a proper video
conferencing system (see below) or software when available.
Web client
* Visit https://conf.dfn.de/webapp/conference/97938800
* Enter your name and allow your browser to use camera and microphone
* The conference does not need a PIN to join, just click join and you're in.
In case you see a dfnconf logo and the phrase "Auf den
Meetingveranstalter warten", just be patient, the meeting host needs to
join first (a voice will tell you).
VC system/software
How to log in with a video conferencing system, depends on you VC system
or software.
- Using the H.323 protocol (eg Polycom): vc.dfn.net##97938800 or
194.95.240.2##97938800
- Using the SIP protocol:97938800@vc.dfn.de
- By telephone: +49-30-200-97938800
For those who do not have a video conference system or suitable
software, Polycom provides a pretty good free app for iOS and Android,
so you can join from your tablet (Polycom RealPresence Mobile, available
from AppStore/PlayStore). Note that firewalls may interfere with
videoconferencing in various and sometimes confusing ways.
For more technical information on logging in from various VC systems,
please see http://vcc.zih.tu-dresden.de/index.php?linkid=1.1.3.4
Hi, Charl
Thanks for your reply. And sorry about taking such a long time in this question. My main research interest is the biophysical model of glutamatergic cortico-striatal projections.
I previous constructed a striatal circuit (contain two neuron populations MSN and FSI) using simple Integrate-and-fire model, and it successfully reproduced the firing state of striatum MSN and FSI. In that case I simplified the glutamatergic cortical input from multi-synapse to single synapse.
Since glutamatergic cortico-striatal projections consist of AMPA and NMDA receptors, I then changed the simple Integrate-and-fire model to multi-synapse Integrate-and-fire model using NESTML. But the results didn't seem good, and got even worse when I handly tuned some parameters. I have been confused for a long time and I thought my multi-synapse definition might account for this.
I read about "cm_default" neuron model on NEST model directory, which you described containing AMPA_NMDA receptors. And the difference between your definition on this receptor and mine is the term of NMDA ratio (ratio of NMDA versus AMPA channels). So I thought that might help me resolve this issue and that's why I wrote to ask how to customize receptor types of "cm_default" neuron model through NESTML.
So briefly:
I wonder how I can apply the NMDA ratio in my own multi-synapse Integrate-and-fire model or is it possible to extract the AMPA_NMDA receptors from "cm_default".
And I read about the "cm_default" neuron model on NEST model directory, and you described like "For receptors, the choice is AMPA, GABA or NMDA or AMPA_NMDA. Ion channels and receptor types can be customized with NESTML."
------------------------------------------------------------------
Sender:Charl Linssen <nest-users(a)turingbirds.com>
Sent At:2022 Dec. 8 (Thu.) 16:56
Recipient:users <users(a)nest-simulator.org>
Subject:[NEST Users] Re: how to customize Ion channels and receptor types of "cm_default" neuron model through nestml
Dear Zirui,
Thank you for writing in. Just to double-check, the compartmental ("cm_default") model in NEST is intended for use in morphologically detailed models, containing dozens or hundreds of compartments. If your model can be described by only a few compartments, it could be easier to manually define these (define say a separate membrane potential and dendritic potential and the coupling between them; see https://nestml.readthedocs.io/en/v5.1.0/tutorials/active_dendrite/nestml_ac… <https://nestml.readthedocs.io/en/v5.1.0/tutorials/active_dendrite/nestml_ac… > for an example).
If you do indeed need the full morpological complexity in your simulations, then the cm_default model is indeed the way to go. We are currently working on extending NESTML to support defining the biophysics in NESTML (ion channels, membrane dynamics etc.) and then combining this with a morphology in NEST. For a prototype of this functionality, please see the branch in https://github.com/nest/nestml/pull/772 <https://github.com/nest/nestml/pull/772 >. The current effort there is focused on adding the ability to specify different ion channels in a more flexible manner.
If you could describe a little bit more about your use case and what exactly you are trying to achieve, we could probably give you some more specific advice.
Cheers,
Charl
On Mon, Dec 5, 2022, at 05:54, 王梓瑞 wrote:
Dear nest community,
I wonder if any of you know how to customize Ion channels and receptor types of "cm_default" neuron model through nestml.
I noticed some information on Extending NESTML- Running NESTML with custom templates, but I still found myself confused due to my poor understanding.
Is there any way to acquire the .nestml file of the cm_default neuron model?
Thank you.
Best,
Zirui
_______________________________________________
NEST Users mailing list -- users(a)nest-simulator.org <mailto:users@nest-simulator.org >
To unsubscribe send an email to users-leave(a)nest-simulator.org <mailto:users-leave@nest-simulator.org >
Hi,
I am using Ubuntu and just updated to Nest 3.4 however I get the following error:
Feb 26 15:53:59 SLIStartup [Fatal]:
SLI initialisation file not found at
/build/nest-xF9H0B/nest-3.4/debian/nest/usr/share/nest/sli/sli-init.sli.
Please check your NEST installation.
Moreover, is there a simple way to roll back and install Nest 3.3 , such as: sudo apt install nest=3.3?
Thanks,
Inton
Hello,
For the below code I get an error related to __cinit__ (Cython) when performing a deepcopy that includes a nest.spatial specification.
I am using NEST 3.3 and Python 3.8.12
Best,
Xavier
----
import nest
import copy
my_dict = {'rule': 'pairwise_bernoulli', 'p': nest.spatial_distributions.gaussian(nest.spatial.distance, std=1.0), 'mask': {'circular': {'radius': 4.}}}
new_dict = copy.deepcopy(my_dict)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python3.8/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib64/python3.8/copy.py", line 230, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib64/python3.8/copy.py", line 172, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib64/python3.8/copy.py", line 270, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib64/python3.8/copy.py", line 146, in deepcopy
y = copier(x, memo)
File "/usr/lib64/python3.8/copy.py", line 230, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib64/python3.8/copy.py", line 161, in deepcopy
rv = reductor(4)
File "stringsource", line 2, in pynestkernel.SLIDatum.__reduce_cython__
TypeError: no default __reduce__ due to non-trivial __cinit__