Noradrenaline causes a spread of association in the hippocampal cognitive map.
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
C++ · 212 lines · 5.3 KB · no license
- #include "CodepESPConnection.h"
- using namespace auryn;
- void CodepESPConnection::init(AurynFloat tau_hom, AurynFloat eta, AurynFloat kappa, AurynFloat maxweight)
- {
- if ( dst->get_post_size() == 0 ) return;
- /* Initialization of plasticity parameters. */
- A_LTP = 3e-4;
- A_LTD = 3e-5;
- A_het = 1.5e-8;
- A_ISP = 1e-3;
- gamma = 3;
- I_star = 200;
- tau_plus = 16.8e-3;
- tau_minus = 33.7e-3;
- tau_long = 100e-3;
- tau_STDP = 20e-3;
- tau_homeostatic = tau_hom;
- /* Initialization of presynaptic traces */
- tr_pre = src->get_pre_trace(tau_plus);
- /* Initialization of postsynaptic traces */
- tr_post = dst->get_post_trace(tau_minus);
- tr_post2 = dst->get_post_trace(tau_long);
- tr_post_hom = dst->get_post_trace(tau_hom);
- //Getting E and I
- E = dst->get_state_vector("E");
- I=dst->get_state_vector("I");
- hom_fudge = A3_plus*tau_plus*tau_long/(tau_minus)/kappa/tau_hom/tau_hom;
- /* Set min/max weight values. */
- set_min_weight(0.0);
- set_max_weight(maxweight);
- stdp_active = true;
- }
- void CodepESPConnection::init_shortcuts()
- {
- if ( dst->get_post_size() == 0 ) return; // if there are no target neurons on this rank
- fwd_ind = w->get_row_begin(0);
- fwd_data = w->get_data_begin();
- bkw_ind = bkw->get_row_begin(0);
- bkw_data = bkw->get_data_begin();
- }
- void CodepESPConnection::finalize() {
- DuplexConnection::finalize();
- init_shortcuts();
- }
- void CodepESPConnection::free()
- {
- }
- CodepESPConnection::CodepESPConnection(SpikingGroup * source, NeuronGroup * destination, TransmitterType transmitter) : DuplexConnection(source, destination, transmitter)
- {
- }
- CodepESPConnection::CodepESPConnection(SpikingGroup * source, NeuronGroup * destination,
- const char * filename,
- AurynFloat tau_hom,
- AurynFloat eta,
- AurynFloat kappa, AurynFloat maxweight ,
- TransmitterType transmitter)
- : DuplexConnection(source,
- destination,
- filename,
- transmitter)
- {
- init(tau_hom, eta, kappa, maxweight);
- init_shortcuts();
- }
- CodepESPConnection::CodepESPConnection(SpikingGroup * source, NeuronGroup * destination,
- AurynWeight weight, AurynFloat sparseness,
- AurynFloat tau_hom,
- AurynFloat eta,
- AurynFloat kappa, AurynFloat maxweight ,
- TransmitterType transmitter,
- std::string name)
- : DuplexConnection(source,
- destination,
- weight,
- sparseness,
- transmitter,
- name)
- {
- init(tau_hom, eta, kappa, maxweight);
- if ( name.empty() )
- set_name("CodepESPConnection");
- init_shortcuts();
- }
- CodepESPConnection::~CodepESPConnection()
- {
- if ( dst->get_post_size() > 0 )
- free();
- }
- void CodepESPConnection::set_hom_trace(AurynFloat freq)
- {
- if ( dst->get_post_size() > 0 )
- tr_post_hom->set_all(freq*tr_post_hom->get_tau());
- }
- inline AurynWeight CodepESPConnection::get_hom(NeuronID i)
- {
- return pow(tr_post_hom->get(i),2);
- }
- inline AurynWeight CodepESPConnection::dw_pre(NeuronID post)
- {
- // translate post id to local id on rank: translated_spike
- NeuronID translated_spike = dst->global2rank(post);
- AurynDouble dw = (-A_LTD*(tr_post->get(translated_spike)))*std::exp(std::pow(-((I->get(post))/I_star), gamma));
- ;
- return dw;
- }
- inline AurynWeight CodepESPConnection::dw_post(NeuronID pre, NeuronID post)
- {
- AurynDouble dw = (A_LTP*tr_pre->get(pre)* E->get(post) - A_het*tr_post2->get(post)*E->get(post)* E->get(post))*std::exp(std::pow(-((I->get(post))/I_star), gamma));
- return dw;
- }
- inline void CodepESPConnection::clip_weight( AurynWeight * weight )
- {
- if (*weight<get_min_weight()) *weight = get_min_weight();
- else if (*weight>get_max_weight()) *weight=get_max_weight();
- }
- void CodepESPConnection::propagate_forward()
- {
- // loop over all pre spikes
- for (SpikeContainer::const_iterator spike = src->get_spikes()->begin() ; // spike = pre_spike
- spike != src->get_spikes()->end() ; ++spike ) {
- // loop over all postsynaptic target cells
- for (const NeuronID * c = w->get_row_begin(*spike) ;
- c != w->get_row_end(*spike) ;
- ++c ) { // c = post index
- // determines the weight of connection
- AurynWeight * weight = w->get_data_ptr(c);
- // handles plasticity
- if ( stdp_active ) {
- *weight += dw_pre(*c)*(*weight);
- // clip weight
- if ( *weight < get_min_weight() ) *weight = get_min_weight();
- }
- // evokes the postsynaptic response
- transmit( *c , *weight );
- }
- }
- }
- void CodepESPConnection::propagate_backward()
- {
- if (stdp_active) {
- // loop over all post spikes
- for (SpikeContainer::const_iterator spike = dst->get_spikes_immediate()->begin() ; // spike = post_spike
- spike != dst->get_spikes_immediate()->end() ;
- ++spike ) {
- // translate the global post id to the neuron index on this rank
- NeuronID translated_spike = dst->global2rank(*spike);
- // loop over all presynaptic partners
- for (const NeuronID * c = bkw->get_row_begin(*spike) ; c != bkw->get_row_end(*spike) ; ++c ) {
- // prefetches next memory cells to reduce number of last-level cache misses
- #if defined(CODE_ACTIVATE_PREFETCHING_INTRINSICS) && defined(CODE_USE_SIMD_INSTRUCTIONS_EXPLICITLY)
- _mm_prefetch((const char *)bkw_data[c-bkw_ind+2], _MM_HINT_NTA);
- #endif
- // computes plasticity update
- AurynWeight * weight = bkw->get_data(c); // for bkw data is already a pointer
- *weight += dw_post(*c,translated_spike);
- // clip weight
- if ( *weight > get_max_weight() ) *weight = get_max_weight();
- }
- }
- }
- }
- void CodepESPConnection::propagate()
- {
- propagate_forward();
- propagate_backward();
- }
- void CodepESPConnection::evolve()
- {
- }
CodependentESP.cpp at commit c4686b4, no license · at the source
Overview
- Oxford University Centre for Integrative Neuroimaging, FMRIB, Nuffield Department of Clinical Neurosciences, University of Oxford,Oxford, UK
- Radboud University, Donders Institute for Brain, Cognition and Behaviour,Nijmegen, the Netherlands
- Department of Engineering, University of Cambridge,Cambridge, UK
- Department of Psychiatry, University of Oxford, Warneford Hospital,Oxford, UK
- Oxford Health NHS Foundation Trust, Warneford Hospital,Oxford, UK
- Medical Research Council Brain Network Dynamics Unit, Nuffield Department of Clinical Neurosciences, University of Oxford,Oxford, UK
- Medical Research Council Centre of Research Excellence in Restorative Neural Dynamics, University of Oxford,Oxford, UK
- German Center for Neurodegenerative Diseases (DZNE),Magdeburg, Germany
- Institute for Cognitive Neurology and Dementia Research, Otto-von-Guericke University,Magdeburg, Germany
- Psychological Neuroscience Lab, Psychology Researcher Centre (CIPsi), School of Psychology, University of Minho, Campus de Gualtar,Braga, Portugal
- Institute of Science and Technology Austria,Klosterneuburg, Austria
- Department of Experimental Psychology, University of Oxford,Oxford, UK
Abstract
The mammalian brain organises knowledge about entities in the world and relationships between them using cognitive maps. When forming a cognitive map, there is a necessary trade-off between extending the map to make novel inferences, and storing a veridical copy of past experience. However, the neural mechanisms that control this trade-off remain unknown. Using a cross-scale approach that combines a pharmacological intervention in humans with neural network modelling, we show that the neuromodulator noradrenaline elicits a significant ‘spread of association’ across hippocampal cognitive maps. This neural spread of association can be explained by changes in synaptic plasticity that predict overgeneralisation in behaviour. Thus, elevated noradrenaline during learning increases the ‘smoothing kernel’ for plasticity across the cognitive map, allowing disparate memories to become linked and distorted.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above.
p-rakriti/koolschijn_et_al
c4686b447cf3fcb012e9bae2622c089263dc598e, 8 April 2025Availability: 1 check, the latest on 30 September 2026: the link answers
- 30 September 2026: the link answers
3 files
- CodependentESP.cpp, C++, 212 lines
- CodependentISP.cpp, C++, 212 lines
- IFGroup.cpp, C++, 316 lines
Code availability
Upon publication the code used for data analysis will be available from the MRC BNDU Data Sharing Platform via 10.60964/
Reproduced under the paper's license (CC BY), from the paper cited above.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 3 scripts, each with its path and the digest of its content;
- no match between paragraphs and code yet;
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data availability
All data generated and analysed during this study are included in the manuscript and supporting files. Source data are provided with this paper. Group-level data is available from the MRC BNDU Data Sharing Platform via 10.60964/
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 30 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 4 keywords, 8 MeSH terms, 1 funder, 80 references.
Cite
This paper
Koolschijn, R. S., Parthasarathy, P., Browning, M., Przygodda, X., Capitão, L. P., Clarke, W. T., Vogels, T. P., O’Reilly, J. X., & Barron, H. C. (2026). Noradrenaline causes a spread of association in the hippocampal cognitive map. Nature communications, 17(1), 3961. https://
BibTeX
@article{koolschijn2026n
author = {Koolschijn, Renée S. and Parthasarathy, Prakriti and Browning, Michael and Przygodda, Xenia and Capitão, Liliana P. and Clarke, William T. and Vogels, Tim P. and O’Reilly, Jill X. and Barron, Helen C.},
title = {{Noradrenaline causes a spread of association in the hippocampal cognitive map}},
journal = {Nature communications},
year = {2026},
month = mar,
volume = {17},
number = {1},
pages = {3961},
publisher = {Nature Publishing Group},
issn = {2041-1723},
doi = {10.1038/
url = {https://
pmid = {41832186},
pmcid = {PMC7618954}
}
RIS
TY - JOUR
AU - Koolschijn, Renée S.
AU - Parthasarathy, Prakriti
AU - Browning, Michael
AU - Przygodda, Xenia
AU - Capitão, Liliana P.
AU - Clarke, William T.
AU - Vogels, Tim P.
AU - O’Reilly, Jill X.
AU - Barron, Helen C.
TI - Noradrenaline causes a spread of association in the hippocampal cognitive map
T2 - Nature communications
J2 - Nat Commun
PY - 2026
DA - 2026/
VL - 17
IS - 1
SP - 3961
SN - 2041-1723
PB - Nature Publishing Group
DO - 10.1038/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1038/
"type": "article-journal",
"title": "Noradrenaline causes a spread of association in the hippocampal cognitive map",
"container-title": "Nature communications",
"author": [
{
"family": "Koolschijn",
"given": "Renée S."
},
{
"family": "Parthasarathy",
"given": "Prakriti"
},
{
"family": "Browning",
"given": "Michael"
},
{
"family": "Przygodda",
"given": "Xenia"
},
{
"family": "Capitão",
"given": "Liliana P."
},
{
"family": "Clarke",
"given": "William T."
},
{
"family": "Vogels",
"given": "Tim P."
},
{
"family": "O’Reilly",
"given": "Jill X."
},
{
"family": "Barron",
"given": "Helen C."
}
],
"container-title-short":
"volume": "17",
"issue": "1",
"page": "3961",
"DOI": "10.1038/
"PMID": "41832186",
"PMCID": "PMC7618954",
"ISSN": "2041-1723",
"publisher": "Nature Publishing Group",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
3,
14
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1038/s41562-026-02533-1 [code]
- Fluctuations in arousal reflect latent state transitions that facilitate behavioural optimization.Journal: Nature human behaviourIn common: cognitive, 10 references
- [2] doi:10.1038/s41467-026-73865-9 [code]
- Histamine shapes the neurocomputational dynamics of human learning.Journal: Nature communicationsIn common: cognitive, 2 authors
- [3] doi:10.1371/journal.pone.0355165 [code]
- Pupillary dynamics during hands-off L2 driving and transitions of control under high cognitive load.Journal: PloS oneIn common: cognitive, 6 references
- [4] doi:10.1038/s42256-026-01254-4 [code]
- Neural sampling from cognitive maps enables goal-directed imagination and planning.Journal: Nature machine intelligenceIn common: computational modeling (no new data), cognitive, 5 references
- [5] doi:10.1038/s41467-025-63281-w [code]
- Trait anxiety is associated with reduced reward-related replay at restJournal: n/aIn common: cognitive, 5 references
- [6] doi:10.1073/pnas.2536535123 [code]
- Orbitofrontal noradrenaline supports adaptive learning-rate adjustment in probabilistic reversal learning.Journal: Proceedings of the National Academy of Sciences of the United States of AmericaIn common: cognitive, 5 references
- [7] doi:10.1016/j.cub.2026.05.068 [code]
- An abstract relational map emerges in the human medial prefrontal cortex with consolidation.Journal: Current biology : CBIn common: 5 references
- [8] doi:10.1038/s41467-026-74822-2 [code]
- A likelihood-based method for identifying replay from spike sequences.Journal: Nature communicationsIn common: 5 references
- [9] doi:10.7554/elife.108023 [code]
- Challenges in replay detection by TDLM in post-encoding resting state.Journal: eLifeIn common: 5 references
- [10] doi:10.1038/s41593-026-02345-6 [code]
- Human hippocampal ripples tune cortical responses based on predicted uncertainty.Journal: Nature neuroscienceIn common: cognitive, 4 references
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 3 scripts, and 0 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:fdd7075a8b61ec0a…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
Request its removal
To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
