OSCR

Systems biology analysis of vasodynamics in mouse cerebral arterioles during resting state and functional hyperemia.

Code ↔ Paper

The paper beside its authors' code: matches between them have not been computed for this paper yet.

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

MATLAB · 363 lines · 9.2 KB · no license

  1. function CubicSplineNetworkNew(G,Q, KStimInd)
  2. A = G.adjacency;
  3. D = normalize(G.Edges.D,'range',[1 8]);
  4. % D=D/10;
  5. % D(G.Edges.Type == 1) = 6;
  6. % % D(G.Edges.Type == 3) = 1;
  7. % % D(G.Edges.Type == 2) = 2;
  8. % D(G.Edges.Type == 3) = 4;
  9. % % D(G.Edges.Type == 4) = 1;
  10. % % D(G.Edges.Type == 5) = 5;
  11. REdges = D;
  12. npts = length(A);
  13. nodenames = cell(1,npts);
  14. npts2 = length(G.Edges.D);
  15. edgenames = cell(1,npts2);
  16. for ii = 1:npts
  17. nodenames{ii} = num2str(ii);
  18. end
  19. for ii = 1:npts2
  20. edgenames{ii} = num2str(ii);
  21. end
  22. xsl_0=25;
  23. % xsl_1=1000;
  24. % x_max=sqrt((xsl_1-xsl_0)^2);
  25. % y_min=sqrt((xsl_1-xsl_0)^2);
  26. AttributeList = ...
  27. {'EndNodes' 'Weight' 'REdges', 'Q'};
  28. edgenod = G.Edges{:,1};
  29. nseg = numedges(G);
  30. EdgeTable = table([edgenod(:,1) edgenod(:,2)],ones(nseg,1),REdges, Q,...
  31. 'VariableNames',AttributeList);
  32. X = G.Nodes.X; Y = G.Nodes.Y; Z = G.Nodes.Z;
  33. NodeTable = table(X,Y,Z,nodenames', 'VariableNames',{'X' 'Y' 'Z' 'nodenames'});
  34. g = graph(EdgeTable,NodeTable);
  35. xyz = [g.Nodes.X, g.Nodes.Y, g.Nodes.Z];
  36. %% remove edges of the nodes with degree higher than 2
  37. % find all nodes with degrees higher than 2
  38. Bif_nodeIDs = find(g.degree>2);
  39. g_modified = g;
  40. for ii = 1:numel(Bif_nodeIDs)
  41. g_modified = g_modified.rmedge(g_modified.outedges(Bif_nodeIDs(ii)));
  42. end
  43. %%
  44. [bins,binsizes] = g_modified.conncomp('outputform','cell');
  45. strands = bins;
  46. %%
  47. remove_indx = [];
  48. badstrands = [];
  49. for ii = 1:numel(strands)
  50. strand = strands{ii};
  51. if isequal(numel(strand), 1)
  52. continue
  53. end
  54. End_nodes = strand((ismember(g_modified.degree(strand),[0,1])));
  55. full_strand = strand;
  56. if ~isempty(End_nodes)
  57. for jj = 1:numel(End_nodes)
  58. Add_Neighbor = intersect(g.neighbors(End_nodes(jj)), Bif_nodeIDs);
  59. full_strand = [Add_Neighbor', full_strand];
  60. end
  61. end
  62. full_strand = unique(full_strand,'stable');
  63. strands{ii} = full_strand;
  64. % check if the order is okay
  65. check = 1;
  66. istrand = strands{ii};
  67. for i = 1:numel(istrand) - 1
  68. nod1 = istrand(i);
  69. nod2 = istrand(i + 1);
  70. iedge = findedge(g, nod1, nod2);
  71. if isequal(iedge, 0)
  72. check = 0;
  73. break
  74. end
  75. end
  76. if check
  77. continue
  78. end
  79. sg = subgraph(g,full_strand);
  80. % find degree ones of the strand
  81. NodeDegrees = sg.degree(1:numel(full_strand));
  82. Deg1Nodes = find(NodeDegrees == 1);
  83. if isempty(Deg1Nodes)
  84. % loop is happening
  85. % remove one egde
  86. nodeIDs = sg.Edges{1,1};
  87. node1 = nodeIDs(1);
  88. node2 = nodeIDs(2);
  89. sg1 = sg;
  90. sg1 = rmedge(sg1,node1,node2);
  91. full_strand = full_strand(shortestpath(sg1,node1,node2));
  92. strands{ii} = full_strand;
  93. continue
  94. end
  95. startNode = Deg1Nodes(1);
  96. new_strand = [startNode];
  97. sg_modified = sg;
  98. while length(new_strand)<length(full_strand)
  99. % find neighbors of start node
  100. neighbor_nodes = sg_modified.neighbors(startNode);
  101. new_strand = [new_strand, neighbor_nodes];
  102. sg_modified = sg_modified.rmedge(sg_modified.outedges(startNode));
  103. startNode = new_strand(end);
  104. end
  105. new_strand = unique(new_strand,'stable');
  106. strands{ii} = full_strand(new_strand);
  107. end
  108. %%
  109. ind = find(binsizes == 1);
  110. count = numel(strands);
  111. for i = 1:numel(ind)
  112. istrand = strands{ind(i)};
  113. if isstring(istrand)
  114. strand = str2double(istrand);
  115. else
  116. strand = istrand;
  117. end
  118. Add_Neighbor = g.neighbors(strand);
  119. for j = 1:numel(Add_Neighbor)
  120. count = count + 1;
  121. strands{count} = [strand, Add_Neighbor(j)];
  122. end
  123. end
  124. %% plot with cubic spline
  125. disp('plotting.......')
  126. tic
  127. CubicSplineFig = figure;
  128. CubicSplineFig.WindowState = 'maximized';
  129. % set(gca, 'ZDir','reverse')
  130. set(gcf, 'visible','off');
  131. hold all
  132. n = 30; % number of faces for tubes
  133. inner_points = 3; % number of points in the axial direction for each segment
  134. errcount = 0;
  135. errs = [];
  136. count = 1;
  137. for s = 1:length(strands)
  138. strand = strands{s};
  139. if numel(strand) == 1
  140. continue
  141. end
  142. XYZ = xyz(strand,:)';
  143. cs = cscvn(XYZ);
  144. for ii = 1:length(cs.breaks) - 1
  145. nod1 = strand(ii);
  146. nod2 = strand(ii + 1);
  147. iedge = findedge(g, nod1, nod2);
  148. if length(iedge) == 2
  149. iedge=iedge(1);
  150. end
  151. if iedge == 0
  152. errcount = errcount + 1;
  153. errs = [errs, s];
  154. continue
  155. else
  156. rval = g.Edges.REdges(iedge);
  157. strandQ = g.Edges.Q(iedge);
  158. end
  159. xtest = linspace(cs.breaks(ii),cs.breaks(ii+1),inner_points);
  160. ytest = linspace(cs.breaks(ii),cs.breaks(ii+1),inner_points);
  161. ztest = linspace(cs.breaks(ii),cs.breaks(ii+1),inner_points);
  162. ctestx = 0;
  163. ctesty = 0;
  164. ctestz = 0;
  165. for jj = 1:cs.order
  166. ctestx = ctestx + cs.coefs((ii-1)*3+1,jj)*(xtest - cs.breaks(ii)).^(cs.order - jj);
  167. ctesty = ctesty + cs.coefs((ii-1)*3+2,jj)*(ytest - cs.breaks(ii)).^(cs.order - jj);
  168. ctestz = ctestz + cs.coefs((ii-1)*3+3,jj)*(ztest - cs.breaks(ii)).^(cs.order - jj);
  169. end
  170. [X,Y,Z] = tubeplot([ctestx;ctesty;ctestz],rval,n,0);
  171. h = surface(X,Y,Z,'edgecolor','none');
  172. all_hs(count) = h;
  173. allEdgeIDs(count) = iedge;
  174. count = count + 1;
  175. end
  176. end
  177. fig = figure(CubicSplineFig);
  178. fig.Color = 'w';
  179. % shading interp
  180. view(44,6)
  181. brighten(1)
  182. map = jet;
  183. colormap(map)
  184. % caxis([0 5])
  185. caxis([min(g.Edges.Q) max(g.Edges.Q)])
  186. ax = gca;
  187. ax.Color = 'k';
  188. ax.LineWidth = 1;
  189. ax.FontSize = 16;
  190. ax.FontName = 'arial';
  191. ax.FontWeight = 'bold';
  192. ax.XTick = [];
  193. ax.YTick = [];
  194. ax.ZTick = [];
  195. axis image;
  196. axis equal
  197. toc
  198. %% assign color for edges
  199. for i = 1:numel(all_hs)
  200. h = all_hs(i);
  201. iedge = allEdgeIDs(i);
  202. strandQ = g.Edges.Q(iedge);
  203. h.CData = strandQ*ones(size(h.ZData));
  204. end
  205. %% add spheres at stimulated nodes
  206. stimNodes = KStimInd;
  207. for i = 1:length(stimNodes)
  208. nodeID = stimNodes(i);
  209. rs = 3*mean(g.Edges.REdges); % radius for the sphere representing the cells
  210. [Xs,Ys,Zs] = sphere(10);
  211. Xs = rs*Xs + g.Nodes.X(nodeID);
  212. Ys = rs*Ys + g.Nodes.Y(nodeID);
  213. Zs = rs*Zs + g.Nodes.Z(nodeID);
  214. h = surf(Xs,Ys,Zs,'linestyle','none');
  215. h.FaceColor = 'w';
  216. end
  217. %% add text( Edge number) at Edges
  218. % % for i = 1:length(G.Edges.D)
  219. % % nodeID1 = G.Edges.EndNodes(i,1);
  220. % % nodeID2 = G.Edges.EndNodes(i,2);
  221. % %
  222. % % Xs = ((G.Nodes.X(nodeID1)+G.Nodes.X(nodeID2))/2);
  223. % % Ys = ((G.Nodes.Y(nodeID1)+G.Nodes.Y(nodeID2))/2);
  224. % % Zs = (G.Nodes.Z(nodeID1)+G.Nodes.Z(nodeID2))/2;
  225. % %
  226. % % text(Xs,Ys,Zs,edgenames{i},'Color','w','FontSize',3,'FontWeight','bold');
  227. % % end
  228. % view(2)
  229. colorbar
  230. end
  231. function [x,y,z]=tubeplot(curve,r,n,ct)
  232. % Usage: [x,y,z]=tubeplot(curve,r,n,ct)
  233. %
  234. % Tubeplot constructs a tube, or warped cylinder, along
  235. % any 3D curve, much like the build in cylinder function.
  236. % If no output are requested, the tube is plotted.
  237. % Otherwise, you can plot by using surf(x,y,z);
  238. %
  239. % Example of use:
  240. % t=linspace(0,2*pi,50);
  241. % tubeplot([cos(t);sin(t);0.2*(t-pi).^2],0.1);
  242. % daspect([1,1,1]); camlight;
  243. %
  244. % Arguments:
  245. % curve: [3,N] vector of curve data
  246. % r the radius of the tube
  247. % n number of points to use on circumference. Defaults to 8
  248. % ct threshold for collapsing points. Defaults to r/2
  249. %
  250. % The algorithms fails if you have bends beyond 90 degrees.
  251. % Janus H. Wesenberg, july 2004
  252. if nargin<3 || isempty(n), n=8;
  253. if nargin<2, error('Give at least curve and radius');
  254. end;
  255. end;
  256. if size(curve,1)~=3
  257. error('Malformed curve: should be [3,N]');
  258. end;
  259. if nargin<4 || isempty(ct)
  260. ct=0.5*r;
  261. end
  262. %Collapse points within 0.5 r of each other
  263. npoints=1;
  264. for k=2:(size(curve,2)-1)
  265. if norm(curve(:,k)-curve(:,npoints))>ct;
  266. npoints=npoints+1;
  267. curve(:,npoints)=curve(:,k);
  268. end
  269. end
  270. %Always include endpoint
  271. if norm(curve(:,end)-curve(:,npoints))>0
  272. npoints=npoints+1;
  273. curve(:,npoints)=curve(:,end);
  274. end
  275. %deltavecs: average for internal points.
  276. % first strecth for endpoitns.
  277. dv=curve(:,[2:end,end])-curve(:,[1,1:end-1]);
  278. %make nvec not parallel to dv(:,1)
  279. nvec=zeros(3,1);
  280. [buf,idx]=min(abs(dv(:,1))); nvec(idx)=1;
  281. xyz=repmat([0],[3,n+1,npoints+2]);
  282. %precalculate cos and sing factors:
  283. cfact=repmat(cos(linspace(0,2*pi,n+1)),[3,1]);
  284. sfact=repmat(sin(linspace(0,2*pi,n+1)),[3,1]);
  285. %Main loop: propagate the normal (nvec) along the tube
  286. for k=1:npoints
  287. convec=cross(nvec,dv(:,k));
  288. convec=convec./norm(convec);
  289. nvec=cross(dv(:,k),convec);
  290. nvec=nvec./norm(nvec);
  291. %update xyz:
  292. xyz(:,:,k+1)=repmat(curve(:,k),[1,n+1])+...
  293. cfact.*repmat(r*nvec,[1,n+1])...
  294. +sfact.*repmat(r*convec,[1,n+1]);
  295. end;
  296. %finally, cap the ends:
  297. xyz(:,:,1)=repmat(curve(:,1),[1,n+1]);
  298. xyz(:,:,end)=repmat(curve(:,end),[1,n+1]);
  299. %,extract results:
  300. x=squeeze(xyz(1,:,:));
  301. y=squeeze(xyz(2,:,:));
  302. z=squeeze(xyz(3,:,:));
  303. %... and plot:
  304. if nargout<3, surf(x,y,z); end;
  305. end

CubicSplineNetworkNew.m at commit 6c46349, no license · at the source

Overview

Authors: Hadi Esfandi1,2, Mahshad Javidan1,2, Eric R. McGregor2, Rozalyn M. Anderson2,3, Ramin Pashaie1
ORCID iDs: Ramin Pashaie
  1. Department of Electrical Engineering and Computer Science, Florida Atlantic University, Boca Raton, Florida, United States of America
  2. Department of Medicine, University of Wisconsin-Madison, Madison, Wisconsin, United States of America
  3. Geriatric Research, Education, and Clinical Center, William S. Middleton Memorial Veterans Hospital, Madison, Wisconsin, United States of America
Institutions: Florida Atlantic University (United States); University of Wisconsin–Madison (United States)
Journal: PLoS computational biology, volume 22, issue 4, article e1013113
Dates: received 5 May 2025; accepted 4 April 2026; published online 27 April 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1371/journal.pcbi.1013113 · PMID 42044149 · PMCID PMC13138759 · OpenAlex W4410253551
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: computational modeling (no new data) (modality), mouse (organism), stroke (population)
Methods: Connectivity
MeSH: Cerebrovascular Circulation*, Hyperemia*, Models, Cardiovascular*, Systems Biology*, Animals, Arterioles, Astrocytes, Computer Simulation, Mice, Vasoconstriction, Vasodilation (* major topic)
Journal subjects: Biology and Life Sciences, Physiology, Electrophysiology, Membrane Potential, Medicine and Health Sciences, Vascular Medicine, Vasodilation, Hematology, Hemodynamics, Cell Biology, Cellular Types, Animal Cells, Glial Cells, Macroglial Cells, Astrocytes, Hyperpolarization, Anatomy, Body Fluids, Blood, Blood Flow, Cardiovascular Anatomy, Blood Vessels, Arterioles, Biophysics, Ion Channels, Potassium Channels, Physical Sciences, Physics, Neurophysiology, Neuroscience, Biochemistry, Proteins
Topic: Neurological Disease Mechanisms and Treatments (Neurology, Neuroscience), according to OpenAlex
Funding: NIH (R01AG067330); NSF (2154267, 1830145); Army Research Office (US) (W911NF1810323)
Citations: not cited yet (Europe PMC); 182 references in the paper

Abstract

Cerebral hemodynamics is tightly regulated by arteriolar vasodynamics. In this study, a systems biology approach was employed to investigate how the interplay between passive, myogenic, neurogenic, and astrocytic responses shapes arteriolar vasodynamics in small rodents. A model of neurovascular coupling is proposed in which neurons inhibit and dampen the myogenic response to promote vasodilation during activation, and facilitate the myogenic response to promote rapid vasoconstriction immediately post-activation. In this model, inhibition of the myogenic response is mediated by the hyperpolarization of smooth muscle and endothelial cells. Dampening and facilitation of the response are mediated by neuronal production of nitric oxide and release of neuropeptide Y, respectively. We also introduce a model for gliovascular coupling, in which astrocytes periodically inhibit the myogenic response upon detecting an increase in myogenic activity through interactions between their endfeet and arterioles. Our simulations suggest that in the resting state, delays in myogenic autoregulation can intrinsically generate low-frequency (∼0.1 Hz) oscillations in vessel diameter (vasomotion), in the absence of extrinsic neurogenic or systemic rhythmic inputs. In the active state, these oscillations are disrupted by the neurogenic and astrocytic responses. The biophysical model of arteriolar vasodynamics presented in this study lays the foundation for quantitative analysis of cerebral hemodynamics for cerebrovascular health diagnostics and hemodynamic neuroimaging.

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

Repository

Its files are read in the Code ↔ Paper reader above.

hesfandi/Mouse-cerebral-Arteriolar-vasodynamics_Model

License: none: the authors keep all their rights
State: the link answers, verified on 30 September 2026
Evidence: files inventoried
Commit: 6c46349b42dccbb6628c6e9a5aadbda60db8de47, 17 February 2026
Languages: MATLAB (41)
Size: 50 files, 41 scripts
Software Heritage: not archived
Found in: “Data Availability”
Holds: README
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 30 September 2026: the link answers
  • 30 September 2026: the link answers
42 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:

  • 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 41 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 supporting the findings of this study are publicly available. The two-photon microscopy imaging data of arteriolar vasodynamics and electrophysiological signals used in this study were obtained from previously published sources cited in the manuscript. All simulation scripts developed for this work are available at: https://github.com/hesfandi/Mouse-cerebral-Arteriolar-vasodynamics_Model.

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, 5 authors, 11 MeSH terms, 3 funders, 179 references.

Cite

This paper

Esfandi, H., Javidan, M., McGregor, E. R., Anderson, R. M., & Pashaie, R. (2026). Systems biology analysis of vasodynamics in mouse cerebral arterioles during resting state and functional hyperemia. PLoS computational biology, 22(4), e1013113. https://doi.org/10.1371/journal.pcbi.1013113

BibTeX

@article{esfandi2026systems,
author = {Esfandi, Hadi and Javidan, Mahshad and McGregor, Eric R. and Anderson, Rozalyn M. and Pashaie, Ramin},
title = {{Systems biology analysis of vasodynamics in mouse cerebral arterioles during resting state and functional hyperemia}},
journal = {PLoS computational biology},
year = {2026},
month = apr,
volume = {22},
number = {4},
pages = {e1013113},
publisher = {PLOS},
issn = {1553-734X},
doi = {10.1371/journal.pcbi.1013113},
url = {https://doi.org/10.1371/journal.pcbi.1013113},
pmid = {42044149},
pmcid = {PMC13138759}
}

RIS

TY - JOUR
AU - Esfandi, Hadi
AU - Javidan, Mahshad
AU - McGregor, Eric R.
AU - Anderson, Rozalyn M.
AU - Pashaie, Ramin
TI - Systems biology analysis of vasodynamics in mouse cerebral arterioles during resting state and functional hyperemia
T2 - PLoS computational biology
J2 - PLoS Comput Biol
PY - 2026
DA - 2026/04/27
VL - 22
IS - 4
SP - e1013113
SN - 1553-734X
PB - PLOS
DO - 10.1371/journal.pcbi.1013113
UR - https://doi.org/10.1371/journal.pcbi.1013113
LA - en
ER -

CSL-JSON

{
"id": "10.1371/journal.pcbi.1013113",
"type": "article-journal",
"title": "Systems biology analysis of vasodynamics in mouse cerebral arterioles during resting state and functional hyperemia",
"container-title": "PLoS computational biology",
"author": [
{
"family": "Esfandi",
"given": "Hadi"
},
{
"family": "Javidan",
"given": "Mahshad"
},
{
"family": "McGregor",
"given": "Eric R."
},
{
"family": "Anderson",
"given": "Rozalyn M."
},
{
"family": "Pashaie",
"given": "Ramin"
}
],
"container-title-short": "PLoS Comput Biol",
"volume": "22",
"issue": "4",
"page": "e1013113",
"DOI": "10.1371/journal.pcbi.1013113",
"PMID": "42044149",
"PMCID": "PMC13138759",
"ISSN": "1553-734X",
"publisher": "PLOS",
"URL": "https://doi.org/10.1371/journal.pcbi.1013113",
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
27
]
]
}
}

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.1073/pnas.2523612123
A pericyte chloride clamp mechanism governs capillary control of cerebral blood flow.
Journal: Proceedings of the National Academy of Sciences of the United States of America
In common: stroke, mouse, 12 references
[2] doi:10.1126/sciadv.adx5109 [code]
Substance P regulates Tacr1 neurons, which control nitric oxide-mediated neurovascular coupling in the mouse cortex.
Journal: Science advances
In common: stroke, mouse, 8 references
[3] doi:10.1038/s41422-026-01256-2 [code]
Neurovascular coupling in the basolateral amygdala modulates negative emotions.
Journal: Cell research
In common: mouse, 7 references
[4] doi:10.1038/s44161-026-00844-0 [code]
Pericyte K&lt;sub&gt;ATP&lt;/sub&gt; channel hyperactivity redistributes cortical blood flow in a CADASIL mouse model.
Journal: Nature cardiovascular research
In common: stroke, mouse, 4 references
[5] doi:10.1162/imag.a.1340
Biophysical simulations of fMRI responses using realistic microvascular models: Insights into distinct hemodynamics in humans and mice.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: stroke, mouse, 4 references
[6] doi:10.1038/s41592-026-03154-2 [code]
Simultaneous single-cell calcium imaging of neuronal population activity and brain-wide BOLD fMRI.
Journal: Nature methods
In common: mouse, 4 references
[7] doi:10.3389/fncel.2026.1830831
Brief mechanical pulses induce sustained intracellular L-lactate production in astrocytes.
Journal: Frontiers in cellular neuroscience
In common: 4 references
[8] doi:10.1007/s12975-026-01471-4
Loss of Vascular TMEM16A Impairs Cerebral Autoregulation and Exacerbates Ischemia-reperfusion Injury.
Journal: Translational stroke research
In common: stroke, mouse, 3 references
[9] doi:10.1038/s41419-026-09062-9
Knockdown of endothelial Serpine1 improves stroke recovery by attenuating peri-infarct blood flow and blood-brain barrier disruption.
Journal: Cell death & disease
In common: stroke, mouse, 3 references
[10] doi:10.1093/cercor/bhag040 [code]
BOLD response delays represent local cortical processing.
Journal: Cerebral cortex (New York, N.Y. : 1991)
In common: stroke, 3 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.