OSCR

Perirhinal input to auditory cortex supports memory-guided sensory perception.

Code ↔ Paper

1 match between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 1 match
  1. [1] § MATERIALS AND METHODS › Calcium imaging data analysis ↔ LG_activeVSsuppressed.m, lines 5 to 17 · score 0.57 · stimulus onset, SD, findpeak, threshold, baseline, active · Report a mismatch

Paper

Loaded from Europe PMC by your browser; OSCR does not store it: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

MATLAB · 225 lines · 7.2 KB · no license · 1 match

  1. dffmat = norm_all_Roi;
  2. dffmat = all_RoiSes; % data input here is a matrix with trial averaged activity for each ROI (rows). So each row in the matrix is the average of all trials for a single ROI
  3. nRois = size(dffmat,1);
  4. nFrames= size(dffmat,2);
  5. %% SET YOUR PARAMETERS HERE
  6. freqAcq = 30;
  7. stimOn = 2 *freqAcq; % define stimulus onset
  8. stimOff = 3 *freqAcq; % define stimulus offset . This is the time window where the calcium events are counted.
  9. peakdetect = 4 *freqAcq; % define offset for peak detection window
  10. eventduration = 0 *freqAcq; % define minimum event duration for detection
  11. peakDistance = 0.5 *freqAcq; % define minPeakDistance in the findpeak function
  12. peakWidth = 0;
  13. baseline = (0.1*freqAcq):(2*freqAcq); % define the baseline over which the threshold is calculated
  14. sd_value = 1.5;
  15. nbins = 2*freqAcq;
  16. roll_wind = 2*freqAcq;
  17. %%
  18. for i = 1:nRois
  19. ampl = [];
  20. ampl2 = [];
  21. w = [];
  22. w2 = [];
  23. locs = [];
  24. locs2 = [];
  25. trace_integral = [];
  26. ftrace = dffmat(i,:) ;
  27. % for k = 1:roll_wind
  28. % baseline_integral{1,k} = trapz((ftrace(k:nbins+k)));
  29. % int_threshold = sd_value* std((cell2mat(baseline_integral)));
  30. % end
  31. % % %
  32. baseline_integral = trapz((ftrace(baseline)));
  33. int_threshold = sd_value * (((baseline_integral)));
  34. peak_threshold = sd_value * (mean(ftrace(baseline)));
  35. trace_integral = trapz((ftrace(stimOn:peakdetect))); % this is the bit that actually measure th integral
  36. mean_f = [];
  37. if trace_integral > int_threshold
  38. active_log{1,i} = 1;
  39. [ampl,locs, w] = findpeaks((ftrace(stimOn:peakdetect)),'MinPeakheight',peak_threshold,'MinPeakDistance',peakDistance,'MinPeakWidth',peakWidth, 'Annotate','extents','WidthReference','halfheight');
  40. mean_f = mean(ftrace(stimOn:stimOff));
  41. elseif trace_integral < (int_threshold/sd_value)/2
  42. active_log{1,i} = 2;
  43. [ampl2,locs2, w2] = findpeaks((-ftrace(stimOn:peakdetect)),'MinPeakDistance',peakDistance,'MinPeakWidth',peakWidth, 'Annotate','extents','WidthReference','halfheight');
  44. else
  45. active_log{1,i} = NaN;
  46. end
  47. %
  48. %% plot
  49. % figure(i);
  50. % findpeaks(ftrace,'MinPeakheight',peak_threshold, 'MinPeakDistance',peakDistance,'MinPeakWidth',peakWidth,'Annotate','extents','WidthReference','halfheight'); hold on;
  51. % plot (locs+ stimOn , ampl +0.1 ,'o','MarkerSize',10,'MarkerFaceColor','b');
  52. % hold on;
  53. % plot (locs2+ stimOn , (-ampl2) +0.1 ,'o','MarkerSize',10,'MarkerFaceColor','r');
  54. % axis([0 nFrames -1 3 ]);
  55. % set(gca,'XTick',0:freqAcq:nFrames)
  56. % set(gca,'XTickLabel',0:1:nFrames/freqAcq)
  57. % title(['Roi ', num2str(i)]);
  58. %%
  59. if max(ampl)<0.1
  60. ampl=NaN;
  61. end
  62. %%
  63. all_Roi_ampl{i} = max(ampl'); % GIVES mean AMPLITUDES OF CALCIUM EVENTS FOR EACH ROIS
  64. all_Roi_ampl2{i} = max(ampl2'); %ampl of inhibited dendrites
  65. all_Roi_integral{i} = trace_integral;
  66. all_Roi_meanF{i} = mean_f;
  67. all_Roi_width {i} = (max(w)')/30;
  68. all_Roi_width2 {i} = (max(w2)')/30; %duration of inhibited dendrites
  69. all_Roi_locs {i} = (max(locs)')/ 30; % gives location of the peaks
  70. all_Roi_locs2 {i} = (max(locs2)')/ 30; % gives location of the peaks of inhibited dendrites
  71. %% data output
  72. AADATA = [ all_Roi_ampl' all_Roi_ampl2' all_Roi_integral' all_Roi_meanF' all_Roi_locs' ];
  73. inhibited = (sum(cell2mat(active_log)==2))/nRois;
  74. excited = (sum(cell2mat(active_log)==1))/nRois;
  75. nonResp = (sum(cell2mat(active_log)==0))/nRois;
  76. AAPercentage = [excited inhibited nonResp];
  77. end;
  78. %% PLOT
  79. % nRois=size(all_RoiSes,1);
  80. % nFrames=size(all_RoiSes,2);
  81. %
  82. % for r = 1:nRois;
  83. % f=figure(r);
  84. % hold on;
  85. % plot(dffmat(r,:),'g','LineWidth',1.5)
  86. % u=f.Renderer;
  87. % f.Renderer = 'painters'
  88. % set(gca,'XTick',0:30:nFrames+30);
  89. % set(gca,'XTickLabel',0:1:nFrames/30+30);
  90. % axis([0 170 -1 2]);
  91. % %
  92. % end
  93. %
  94. sort_mat_Roi =[dffmat cell2mat(active_log')];
  95. sort_col = size(sort_mat_Roi,2);
  96. sorted_all_Roi = sortrows(sort_mat_Roi,sort_col);
  97. dendrite_color_ID = sorted_all_Roi (:,size(sorted_all_Roi,2));
  98. sorted_all_Roi (:,size(sorted_all_Roi,2)) = [];
  99. %%
  100. all_dend = dffmat;
  101. for k=1:nRois
  102. if cell2mat(active_log(k)) == 1
  103. active_dend_v{k} = all_dend(k,:);
  104. integral_active{k} = cell2mat(AADATA(k,3));
  105. elseif cell2mat(active_log(k)) == 2
  106. inh_dend_v{k} = all_dend(k,:);
  107. integral_active{k} = [];
  108. else
  109. nr_dend_v{k} = all_dend(k,:);
  110. integral_active{k} = [];
  111. end
  112. end
  113. inh_dend=cell2mat(inh_dend_v');
  114. active_dend=cell2mat(active_dend_v');
  115. nr_dend=cell2mat(nr_dend_v');
  116. integral_active= (integral_active')
  117. sorttoheat = [inh_dend;active_dend; nr_dend];
  118. dendrite_color_ID = flip(dendrite_color_ID);
  119. %%
  120. % %
  121. %% plot heatmap
  122. f=figure(1);
  123. clims=([0 1]); imagesc(active_dend,clims);
  124. % colormap jet % colorbar
  125. set(gca,'XTick',0:30:nFrames)
  126. set(gca,'XTickLabel',0:1:nFrames/30)
  127. u=f.Renderer; f.Renderer = 'painters'
  128. axis([0 270 0 300]);
  129. %
  130. f=figure(2);
  131. clims=([0 2]);
  132. imagesc(dendrite_color_ID,clims);
  133. u=f.Renderer;
  134. f.Renderer = 'painters'
  135. %%
  136. faulty_id_log = active_dend<-0.5;
  137. faulty_id_logsum = sum(faulty_id_log ,2);
  138. faulty_id = find(faulty_id_logsum);
  139. active_dend(faulty_id,:)=[];
  140. % %%
  141. % figure
  142. % clustercategory = clustervis(active_dend,2);
  143. %
  144. % re_active = [active_dend clustercategory];
  145. %
  146. % cluster1 = active_dend(find(re_active(:,size(re_active,2)) == 1),:);
  147. % for g = 1:size(cluster1,1)
  148. % ftrace=cluster1(g,:);
  149. % [ampl1] = findpeaks((ftrace(stimOn:peakdetect)),'MinPeakheight',peak_threshold,'MinPeakDistance',peakDistance,'MinPeakWidth',peakWidth, 'Annotate','extents','WidthReference','halfheight');
  150. % cluster1_amplitues{g} = max(ampl1);
  151. % end
  152. %
  153. % cluster2 = active_dend(find(re_active(:,size(re_active,2)) == 2),:);
  154. % [ampl2] = findpeaks((cluster1(stimOn:peakdetect)),'MinPeakheight',peak_threshold,'MinPeakDistance',peakDistance,'MinPeakWidth',peakWidth, 'Annotate','extents','WidthReference','halfheight');
  155. % for e = 1:size(cluster2,1)
  156. % ftrace=cluster2(e,:);
  157. % [ampl2] = findpeaks((ftrace(stimOn:peakdetect)),'MinPeakheight',peak_threshold,'MinPeakDistance',peakDistance,'MinPeakWidth',peakWidth, 'Annotate','extents','WidthReference','halfheight');
  158. % cluster2_amplitues{e} = max(ampl2);
  159. % end
  160. %%
  161. %% %% plot mean trace with shade bar (std)
  162. %
  163. f=figure(2222);
  164. hold on;
  165. trace = active_dend;
  166. avg_all_Roi_trace = mean((trace));
  167. shadedErrorBar([],avg_all_Roi_trace, std((trace))/sqrt(size((trace),1)),'red',1);
  168. u=f.Renderer
  169. f.Renderer = 'painters'
  170. set(gca,'XTick',0:30:nFrames+30);
  171. set(gca,'XTickLabel',0:1:nFrames/30+30);
  172. axis([0 270 -0.1 1]);
  173. % f=figure(22222);
  174. % hold on;
  175. % trace = cluster2;
  176. % avg_all_Roi_trace = mean((trace));
  177. % shadedErrorBar([],avg_all_Roi_trace, std((trace))/sqrt(size((trace),1)),'r',1);
  178. % u=f.Renderer
  179. % f.Renderer = 'painters'
  180. % set(gca,'XTick',0:30:nFrames+30);
  181. % set(gca,'XTickLabel',0:1:nFrames/30+30);
  182. % axis([0 170 -0.1 3]);
  183. %

LG_activeVSsuppressed.m at commit 39af9f2, no license · at the source

Overview

  1. Florey Institute of Neuroscience and Mental Health, Parkville, Victoria 3000, Australia
  2. School of Medicine, University of Tasmania, Hobart, Tasmania 7000, Australia
  3. Florey Department of Neuroscience and Mental Health, University of Melbourne, Parkville, Victoria 3000, Australia
Journal: Science advances, volume 12, issue 21, article eaed4808
Dates: received 29 October 2025; accepted 14 April 2026; published online 22 May 2026; in print May 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1126/sciadv.aed4808 · PMID 42172314 · PMCID PMC13196781 · OpenAlex W7162087907
Open access: gold, a free copy (OpenAlex)
Status: code verified (how the code is found and verified)
Categories: mouse (organism)
Methods: Statistics, Evoked potentials, fMRI & imaging, Single-unit activity, calcium imaging, Smoothing, state filtering, decompositions
MeSH: Auditory Cortex*, Auditory Perception*, Memory*, Perirhinal Cortex*, Animals, Learning, Mice, Pyramidal Cells (* major topic)
Topic: Memory and Neural Mechanisms (Cognitive Neuroscience, Neuroscience), according to OpenAlex
Citations: not cited yet (Europe PMC); 61 references in the paper

Abstract

Through learning and memory, the cortex dynamically forms sensory associations to guide our behavior in an ever-changing environment. How memory-related brain regions, such as the medial-temporal lobe, influence sensory cortex to support this process remains unclear. Here, we used two-photon calcium imaging of axonal projections from the perirhinal (PRh) cortex to the auditory cortex during learning and generalization of an auditory discrimination task. PRh input in the auditory cortex increased during learning and influenced performance in a categorization task. Chemogenetically silencing PRh input selectively disrupted the activity of auditory cortex layer 2/3 pyramidal neurons, and PRh photoactivation drove behavior toward overgeneralization. These findings highlight PRh input as a key modulatory pathway that shapes cortical dynamics underlying auditory learning and memory-guided sensory perception.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repositories

Its files are read in the Code ↔ Paper reader above, with 1 match between paragraphs and lines of code.

Zenodo 19108600

License: CC-BY-4.0
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: “Data, code, and materials availability:”
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: Signal Processing Toolbox (4 files), shadedErrorBar (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers (HTTP 200)
  • 28 September 2026: the link answers (HTTP 200)
8 files

lucagode/perirhinal-manuscript-code

License: none: the authors keep all their rights
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: 39af9f216e54406bcf1d74a36b5b53b98788df64, 20 September 2024
Languages: MATLAB (8)
Size: 8 files, 8 scripts
Software Heritage: not archived
Found in: the Zenodo archive record
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: Signal Processing Toolbox (4 files), shadedErrorBar (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
8 files

The paper's code and data availability statement is in the Data section.

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:

  • 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 16 scripts, each with its path and the digest of its content;
  • 1 match between paragraphs of the paper and lines of the code (method lexical-v1);
  • 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, code, and materials availability

All data and code needed to evaluate and reproduce the results in the paper are present in the paper and/or the Supplementary Materials. This study did not generate new materials. The codes used to analyze the data in the paper are available at DOI: 10.5281/zenodo.19108600 (http://dx.doi.org/10.5281/zenodo.19108600).

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 2, 28 September 2026

  • Funding: added Sylvia and Charles Viertel Charitable Foundation; Australian Research Council: DP160103047; National Health and Medical Research Council: 2003114

Version 1, 28 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 4 authors, 8 MeSH terms, 59 references.

Cite

This paper

Godenzini, L., Bjerre, A.-S., Hu, Y., & Palmer, L. M. (2026). Perirhinal input to auditory cortex supports memory-guided sensory perception. Science advances, 12(21), eaed4808. https://doi.org/10.1126/sciadv.aed4808

BibTeX

@article{godenzini2026perirhinal,
author = {Godenzini, Luca and Bjerre, Ann-Sofie and Hu, Yi and Palmer, Lucy M},
title = {{Perirhinal input to auditory cortex supports memory-guided sensory perception}},
journal = {Science advances},
year = {2026},
month = may,
volume = {12},
number = {21},
pages = {eaed4808},
publisher = {American Association for the Advancement of Science},
issn = {2375-2548},
doi = {10.1126/sciadv.aed4808},
url = {https://doi.org/10.1126/sciadv.aed4808},
pmid = {42172314},
pmcid = {PMC13196781}
}

RIS

TY - JOUR
AU - Godenzini, Luca
AU - Bjerre, Ann-Sofie
AU - Hu, Yi
AU - Palmer, Lucy M
TI - Perirhinal input to auditory cortex supports memory-guided sensory perception
T2 - Science advances
J2 - Sci Adv
PY - 2026
DA - 2026/05/22
VL - 12
IS - 21
SP - eaed4808
SN - 2375-2548
PB - American Association for the Advancement of Science
DO - 10.1126/sciadv.aed4808
UR - https://doi.org/10.1126/sciadv.aed4808
LA - en
ER -

CSL-JSON

{
"id": "10.1126/sciadv.aed4808",
"type": "article-journal",
"title": "Perirhinal input to auditory cortex supports memory-guided sensory perception",
"container-title": "Science advances",
"author": [
{
"family": "Godenzini",
"given": "Luca"
},
{
"family": "Bjerre",
"given": "Ann-Sofie"
},
{
"family": "Hu",
"given": "Yi"
},
{
"family": "Palmer",
"given": "Lucy M"
}
],
"container-title-short": "Sci Adv",
"volume": "12",
"issue": "21",
"page": "eaed4808",
"DOI": "10.1126/sciadv.aed4808",
"PMID": "42172314",
"PMCID": "PMC13196781",
"ISSN": "2375-2548",
"publisher": "American Association for the Advancement of Science",
"URL": "https://doi.org/10.1126/sciadv.aed4808",
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
22
]
]
}
}

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.1523/eneuro.0060-22.2022 [code]
Dendritic Compartmentalization of Learning-Related Plasticity.
Journal: eNeuro
In common: mouse, 8 references, 2 authors
[2] doi:10.1038/s41593-025-02118-7 [code]
Large-scale drug screening in iPSC-derived motor neurons from sporadic ALS patients identifies a potential combinatorial therapy.
Journal: Nature neuroscience
In common: Signal Processing Toolbox, 2 authors
[3] doi:10.7554/elife.98349
Learning enhances behaviorally relevant representations in apical dendrites.
Journal: eLife
In common: mouse, 7 references
[4] doi:10.1038/s41467-026-68307-5 [code]
Distinct roles of cortical layer 5 subtypes in associative learning.
Journal: Nature communications
In common: mouse, 6 references
[5] doi:10.1016/j.isci.2025.112652 [code]
Primary auditory thalamus relays directly to cortical layer 1 interneurons.
Journal: iScience
In common: Signal Processing Toolbox, 5 references
[6] doi:10.1038/s41467-026-74816-0 [code]
Hierarchical optimization predicts plasticity in the macaque inferior temporal cortex following object training.
Journal: Nature communications
In common: 5 references
[7] doi:10.1093/cercor/bhag047 [code]
Association learning drives synaptic plasticity at feedforward synapses in somatosensory cortex.
Journal: Cerebral cortex (New York, N.Y. : 1991)
In common: mouse, 5 references
[8] doi:10.1016/j.isci.2026.116836
Layer 1 NDNF interneurons modulate thalamocortical input to the auditory cortex.
Journal: iScience
In common: 5 references
[9] doi:10.1038/s41467-024-47365-7 [code]
Perirhinal cortex learns a predictive map of the task environment.
Journal: Nature communications
In common: mouse, 5 references
[10] doi:10.1126/sciadv.aef3715
A cortical output channel for perceptual categorization.
Journal: Science advances
In common: mouse, 5 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.

Add the badge to the code's README

OSCR: the badge of this paper

If you are an author or a maintainer of this paper's code, you can add this badge. It says what OSCR knows of the paper (its code, its validated tracing map) and links the code to this page. Paste one of these snippets under the README's title. Keep the two marks around it, so that the badge can be replaced in place and is never added twice. OSCR changes nothing in your repository.

Markdown
<!-- oscr-badge:start -->
[![OSCR](https://openscicode.org/badge/doi/10.1126/sciadv.aed4808.svg)](https://openscicode.org/badge/doi/10.1126/sciadv.aed4808)
<!-- oscr-badge:end -->
reStructuredText
.. oscr-badge:start

.. image:: https://openscicode.org/badge/doi/10.1126/sciadv.aed4808.svg
   :target: https://openscicode.org/badge/doi/10.1126/sciadv.aed4808
   :alt: OSCR

.. oscr-badge:end
HTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.1126/sciadv.aed4808"><img src="https://openscicode.org/badge/doi/10.1126/sciadv.aed4808.svg" alt="OSCR"></a>
<!-- oscr-badge:end -->

On GitHub, open the README, choose Edit (the pencil), paste the snippet under the title, then "Commit changes".

If you choose to, you can have the badge kept up to date for you, with oscr badge --write from the command line or with the GitHub Action in your repository's workflows. Every other form and option (a card, AsciiDoc, LaTeX, shields.io) is on the badge page.

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: code errors and mismatches between the code and the paper about this paper and its code, from readers and its authors, beside the paper and its tracing map.

Report a mismatch between the code and the paper · Report a code error (signed in)

Reproductions: reports from readers who ran the authors' code and did not get the paper's result, what they ran, with which environment, commit and data.

Report a reproduction failure (signed in)

Versions of its code: the releases of its code tied to a version of this paper (the preprint, the accepted manuscript, the version of record…), each with the tracing map versioned with it.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.