OSCR

Activity-dependent neuromodulation and calcium homeostasis cooperate to produce robust and modulable neuronal function.

Code ↔ Paper

5 matches 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 5 matches
  1. [1] § Results › Sharp neuromodulation interferes with calcium homeostasis whereas controlled neuromodulation naturally leads to robust and modulable neuronal function ↔ fig2_controlled/STG_utils.jl, lines 45–128 · score 0.73 · interspike interval, interburst frequency, intraburst frequency, spike bursts, burstiness, firing
  2. [2] § Materials and methods › The neuromodulation controller ↔ fig6/network_STG_DIC.jl, lines 323–386 · score 0.72 · sensitivity matrix, linear system, threshold voltage, gating variables, DICs, Vth
  3. [3] § Materials and methods › The neuromodulation controller ↔ fig2_controlled/DA_ODE.jl, lines 1–51 · score 0.62 · sensitivity matrix, threshold voltage, gating variables, Vth, model
  4. [4] § Materials and methods › Conductance-based model ↔ fig2_controlled/STG_models.jl, lines 1–54 · score 0.58 · delayed rectifier potassium, STG model, slow calcium, activated, sodium
  5. [5] § Materials and methods › Conductance-based model ↔ fig6/network_STG_animation.jl, lines 1–39 · score 0.53 · reversal potentials, membrane capacitance, synaptic, gated, variables, STG

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

Julia · 128 lines · 3.5 KB · MIT · 1 match

  1. #=
  2. This file contains functions to extract characteristics of the firing pattern
  3. as well as some functions to plot complicated graphs
  4. =#
  5. using Statistics, Plots, StatsPlots, LaTeXStrings, Printf
  6. ## Functions extracting characteristics of the firing pattern
  7. # This function extracts the spiking frequency of a spiking firing pattern
  8. function extract_frequency(V, t)
  9. # Defining thresholds
  10. spike_up_threshold = 10.
  11. spike_down_threshold = 0.
  12. # Detecting spikes
  13. spike_detected = 0
  14. spike_times = []
  15. for i in 1:length(V)
  16. if V[i] > spike_up_threshold && spike_detected == 0 # Start of spike
  17. append!(spike_times, t[i])
  18. spike_detected = 1
  19. end
  20. if V[i] < spike_down_threshold && spike_detected == 1 # End of spike
  21. spike_detected = 0
  22. end
  23. end
  24. # If the neuron is silent
  25. if length(spike_times) < 2
  26. return NaN
  27. end
  28. # Calculating all interspike intervals
  29. ISI=[]
  30. for i in 2 : length(spike_times)
  31. append!(ISI, spike_times[i] - spike_times[i-1])
  32. end
  33. # If the neuron is silent
  34. if length(ISI) < 2
  35. return NaN
  36. end
  37. # Computing the spiking frequency
  38. T = mean(ISI) / 1000 # in seconds
  39. f = 1 / T # in Hz
  40. return f
  41. end
  42. # This function extracts characteristics of a bursting firing pattern
  43. function extract_burstiness(V, t)
  44. # Defining thresholds
  45. spike_up_threshold = 10.
  46. spike_down_threshold = 0.
  47. # Detecting spikes
  48. spike_detected = 0
  49. spike_times = []
  50. for i in 1 : length(V)
  51. if V[i] > spike_up_threshold && spike_detected == 0 # Start of spike
  52. append!(spike_times, t[i])
  53. spike_detected = 1
  54. end
  55. if V[i] < spike_down_threshold && spike_detected == 1 # End of spike
  56. spike_detected = 0
  57. end
  58. end
  59. # If the neuron is silent
  60. if length(spike_times) < 3
  61. return NaN, NaN, NaN, NaN
  62. end
  63. # Calculating all interspike intervals
  64. ISI = []
  65. for i in 2 : length(spike_times)
  66. append!(ISI, spike_times[i] - spike_times[i-1])
  67. end
  68. # Defining a threshold to separate intraburst from interburst ISI
  69. max_ISI = maximum(ISI)
  70. min_ISI = minimum(ISI)
  71. half_ISI = (max_ISI+min_ISI)/2
  72. # If ISI too constant, neuron is spiking
  73. if max_ISI - min_ISI < 25
  74. return NaN, NaN, NaN, NaN
  75. end
  76. # Detecting the first spike of a burst
  77. first_spike_burst = findall(x -> x > half_ISI, ISI)
  78. # Computing the interburst frequency
  79. Ts = ISI[first_spike_burst]
  80. interburst_T = mean(Ts) / 1000 # in seconds
  81. interburst_f = 1 / interburst_T # in Hz
  82. # Computing the number of spikes per burst
  83. nb_spike_burst = []
  84. for i in 2 : length(first_spike_burst)
  85. append!(nb_spike_burst, first_spike_burst[i] - first_spike_burst[i-1])
  86. end
  87. # If spiking
  88. if length(nb_spike_burst) < 2
  89. return NaN, NaN, NaN, NaN
  90. end
  91. nb_spike_per_burst = round(mean(nb_spike_burst))
  92. # If no bursting
  93. if nb_spike_per_burst < 1.5 || nb_spike_per_burst > 500
  94. burstiness = NaN
  95. intraburst_f = NaN
  96. nb_spike_per_burst = NaN
  97. interburst_f = NaN
  98. else # Else, bursting: computing the intraburst frequency
  99. intra_spike_burst = findall(x -> x < half_ISI, ISI)
  100. Ts_intraburst = ISI[intra_spike_burst]
  101. T_intraburst = mean(Ts_intraburst) / 1000 # in seconds
  102. intraburst_f = 1 / T_intraburst # in Hz
  103. burstiness = (nb_spike_per_burst * intraburst_f) / interburst_T
  104. end
  105. return burstiness, nb_spike_per_burst, intraburst_f, interburst_f
  106. end

STG_utils.jl at commit 4b83c2d, under MIT · at the source

Overview

Authors: Arthur Fyon1, Guillaume Drion1
ORCID iDs: Arthur Fyon
  1. Department of Electrical Engineering and Computer Science, University of Liège, Liège, Belgium
Institutions: University of Liège (Belgium)
Journal: PLoS computational biology, volume 22, issue 4, article e1014177
Dates: received 5 December 2025; accepted 28 March 2026; published online 15 April 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1371/journal.pcbi.1014177 · PMID 41984991 · PMCID PMC13102308 · OpenAlex W4405095177
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: computational modeling (no new data) (modality), none (in silico) (organism)
Methods: Source localization
MeSH: Calcium*, Homeostasis*, Models, Neurological*, Neurons*, Neurotransmitter Agents*, Action Potentials, Animals, Calcium Signaling, Computational Biology, Computer Simulation (* major topic)
Topic: Vagus Nerve Stimulation Research (Neurology, Neuroscience), according to OpenAlex
Funding: Belgian Federal Science Policy Office (NEMODEI2); Fonds De La Recherche Scientifique - FNRS (ASP-REN40024838)
Citations: not cited yet (Europe PMC); 68 references in the paper

Abstract

Neurons rely on two interdependent mechanisms — homeostasis and neuromodulation — to maintain robust and adaptable functionality. Calcium homeostasis stabilizes neuronal activity by adjusting ionic conductances, whereas neuromodulation dynamically modifies ionic properties in response to external signals carried by neuromodulators. Combining these mechanisms in conductance-based models often produces unreliable outcomes, particularly when sharp neuromodulation interferes with calcium-homeostatic tuning. This study explores how a biologically inspired neuromodulation controller can harmonize with calcium homeostasis to ensure reliable neuronal function. Using computational models of stomatogastric ganglion and dopaminergic neurons, we demonstrate that controlled neuromodulation preserves neuronal firing patterns while calcium homeostasis simultaneously maintains target intracellular calcium levels. Unlike sharp neuromodulation, the neuromodulation controller integrates activity-dependent feedback through mechanisms mimicking G-protein-coupled receptor cascades. The interaction between these controllers critically depends on the existence of an intersection in conductance space, representing a balance between target calcium levels and neuromodulated firing patterns. Maximizing neuronal degeneracy enhances the likelihood of such intersections, enabling robust modulation and compensation for channel blockades. We further show that this controller pairing extends to network-level activity, reliably modulating the rhythmic activity of central pattern generators. This study highlights the complementary roles of calcium homeostasis and neuromodulation, proposing a unified control framework for maintaining robust and adaptive neural activity under physiological and pathological conditions.

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 5 matches between paragraphs and lines of code.

arthur-fyon/BIOCONTROL_2025

License: MIT
State: the link answers, verified on 29 September 2026
Evidence: files inventoried
Commit: 4b83c2ddce05461bdadca66c1bb6352527ebf8fe, 18 May 2026
Languages: Julia (46), Jupyter (21)
Size: 426 files, 67 scripts
Software Heritage: not archived
Found in: “Data Availability”
Holds: README, license file, 21 notebooks
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Tools: Plots.jl (29 files), DifferentialEquations.jl (25 files), Makie (1 file)
Availability: 1 check, the latest on 29 September 2026: the link answers
  • 29 September 2026: the link answers
69 files

Zenodo 17827990

License: MIT
State: the link answers, verified on 29 September 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: “Data Availability”
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 29 September 2026: the link answers (HTTP 200)
  • 29 September 2026: the link answers (HTTP 200)

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;
  • 67 scripts, each with its path and the digest of its content;
  • 5 matches 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 Availability

There are no primary data in the paper; all materials are available at https://github.com/arthur-fyon/BIOCONTROL_2025 and we have archived our code on Zenodo (DOI: 10.5281/zenodo.17827990 (https://doi.org/10.5281/zenodo.17827990)).

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, 29 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 2 authors, 10 MeSH terms, 2 funders, 67 references.

Cite

This paper

Fyon, A., & Drion, G. (2026). Activity-dependent neuromodulation and calcium homeostasis cooperate to produce robust and modulable neuronal function. PLoS computational biology, 22(4), e1014177. https://doi.org/10.1371/journal.pcbi.1014177

BibTeX

@article{fyon2026activity,
author = {Fyon, Arthur and Drion, Guillaume},
title = {{Activity-dependent neuromodulation and calcium homeostasis cooperate to produce robust and modulable neuronal function}},
journal = {PLoS computational biology},
year = {2026},
month = apr,
volume = {22},
number = {4},
pages = {e1014177},
publisher = {PLOS},
issn = {1553-734X},
doi = {10.1371/journal.pcbi.1014177},
url = {https://doi.org/10.1371/journal.pcbi.1014177},
pmid = {41984991},
pmcid = {PMC13102308}
}

RIS

TY - JOUR
AU - Fyon, Arthur
AU - Drion, Guillaume
TI - Activity-dependent neuromodulation and calcium homeostasis cooperate to produce robust and modulable neuronal function
T2 - PLoS computational biology
J2 - PLoS Comput Biol
PY - 2026
DA - 2026/04/15
VL - 22
IS - 4
SP - e1014177
SN - 1553-734X
PB - PLOS
DO - 10.1371/journal.pcbi.1014177
UR - https://doi.org/10.1371/journal.pcbi.1014177
LA - en
ER -

CSL-JSON

{
"id": "10.1371/journal.pcbi.1014177",
"type": "article-journal",
"title": "Activity-dependent neuromodulation and calcium homeostasis cooperate to produce robust and modulable neuronal function",
"container-title": "PLoS computational biology",
"author": [
{
"family": "Fyon",
"given": "Arthur"
},
{
"family": "Drion",
"given": "Guillaume"
}
],
"container-title-short": "PLoS Comput Biol",
"volume": "22",
"issue": "4",
"page": "e1014177",
"DOI": "10.1371/journal.pcbi.1014177",
"PMID": "41984991",
"PMCID": "PMC13102308",
"ISSN": "1553-734X",
"publisher": "PLOS",
"URL": "https://doi.org/10.1371/journal.pcbi.1014177",
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
15
]
]
}
}

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.1371/journal.pcbi.1014337 [code]
Fast reconstruction of degenerate populations of conductance-based neuron models from spike times.
Journal: PLoS computational biology
In common: computational modeling (no new data), 13 references, author Arthur Fyon
[2] doi:10.1007/s10827-026-00936-7 [code]
When can neuronal activity-dependent homeostatic plasticity maintain circuit-level properties?
Journal: Journal of computational neuroscience
In common: none (in silico), computational modeling (no new data), 13 references
[3] doi:10.1038/s41540-026-00749-5 [code]
A novel approach to quantify out-of-distribution uncertainty in Neural and Universal Differential Equations.
Journal: NPJ systems biology and applications
In common: Makie, DifferentialEquations.jl, Plots.jl, computational modeling (no new data), 1 reference
[4] doi:10.1093/pnasnexus/pgag213 [code]
Two-factor synaptic plasticity enables memory consolidation during neuronal burst firing.
Journal: PNAS nexus
In common: DifferentialEquations.jl, Plots.jl, 3 references
[5] doi:10.1371/journal.pcbi.1014458 [code]
Neuronal excitability and parameter variability in the Hodgkin-Huxley model.
Journal: PLoS computational biology
In common: none (in silico), computational modeling (no new data), 5 references
[6] doi:10.7554/elife.89629 [code]
Active dendrites enable robust spiking computations despite timing jitter.
Journal: eLife
In common: Makie, DifferentialEquations.jl, Plots.jl
[7] doi:10.1523/eneuro.0029-26.2026 [code]
Electrical Coupling within Thalamocortical Networks Cumulatively Reduces Cortical Correlation to Sensory Inputs.
Journal: eNeuro
In common: Makie, DifferentialEquations.jl, Plots.jl
[8] doi:10.1162/imag.a.1249 [code]
Global search metaheuristics for neural mass model calibration.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: DifferentialEquations.jl, Plots.jl, none (in silico), 1 reference
[9] doi:10.1371/journal.pcbi.1014549 [code]
Inward rectifier potassium channels interact with calcium channels to promote robust and physiological bistability.
Journal: PLoS computational biology
In common: DifferentialEquations.jl, Plots.jl, 1 reference
[10] doi:10.7554/elife.108352 [code]
Analysis of dendritic input currents during place field dynamics.
Journal: eLife
In common: 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.

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.