OSCR

A high-throughput, quantitative platform using 2D dissociated human cerebral organoids to model neuroinflammation in Alzheimer's disease.

Code ↔ Paper

4 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 4 matches
  1. [1] § Methods › Flow cytometry data analyses ↔ Flow_Cytometry/Gating_Summary_Figures.ipynb, lines 1–58 · score 0.72 · Alexa Fluor, Pacific Blue, Flow cytometry, singlets, FSC, SSC
  2. [2] § Methods › Odds ratio calculations from flow cytometry data ↔ Flow_Cytometry/Gating_Summary_Figures.ipynb, lines 1–58 · score 0.63 · Alexa Fluor, Pacific Blue, quadrants, gating, ratios, cytometry
  3. [3] § Methods › Flow cytometry data analyses ↔ Flow_Cytometry/Gating_Summary_Figures.ipynb, lines 64–121 · score 0.58 · Alexa Fluor, Pacific Blue, gates, cytometry, Flow
  4. [4] § Methods › ELISA assays and analyses ↔ ELISA/elisa_analyses_updated.R, lines 1–42 · score 0.55 · heat inactivated, UV inactivated, ELISA, ACV

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

Jupyter notebook · 234 lines · 6.7 KB · no license · 3 matches

  1. # %%
  2. import matplotlib.pyplot as plt
  3. import matplotlib.gridspec as gridspec
  4. import matplotlib.image as mpimg
  5. import string
  6. import glob
  7. import os
  8. import gc # Import garbage collector
  9. for folder in glob.glob('HSV1_Results/*/*/'):
  10. _,marker, rep,_ = folder.split('/')
  11. print(folder)
  12. # Define image file paths
  13. fsc = f'{folder}/FSC-A_gate.png'
  14. ssc = f'{folder}/SSC-A_gate.png'
  15. singlet = f'{folder}/singlet_gate.png'
  16. pb = f'{folder}/Pacific Blue-A_autogate.png'
  17. live_488 = f'{folder}/Alexa Fluor 488-A_autogate.png'
  18. live_647 = f'{folder}/Alexa Fluor 647-A_autogate.png'
  19. quads = f'{folder}/Live/quadrants_scatterplot.png'
  20. image_files = [fsc, ssc, singlet, pb, live_488, live_647, quads]
  21. # Create the figure
  22. fig = plt.figure(figsize=(12, 8))
  23. # Define the GridSpec with refined height ratios
  24. gs = gridspec.GridSpec(4, 2, hspace=0, wspace=0)
  25. # Create axes
  26. axes = [fig.add_subplot(gs[i, j]) for i in range(4) for j in range(2)]
  27. # Read and plot images
  28. images = [] # Store references to images
  29. for ax, img_path in zip(axes, image_files):
  30. img = mpimg.imread(img_path) # Read image
  31. images.append(img) # Store reference (helps with garbage collection)
  32. ax.imshow(img) # Display image
  33. ax.axis("off") # Hide axes for a clean look
  34. axes[-1].axis("off")
  35. plt.savefig(f'{folder}/gating_summary.png', dpi=1000, bbox_inches='tight')
  36. plt.show()
  37. # **Clean up memory properly**
  38. for ax in axes:
  39. ax.clear() # Clear axes
  40. fig.clf() # Clear figure
  41. plt.close(fig) # Close figure
  42. # Explicitly delete objects
  43. del images
  44. del image_files
  45. del fig
  46. del gs
  47. del axes
  48. # **Force garbage collection**
  49. gc.collect()
  50. # %%
  51. # %%
  52. import matplotlib.pyplot as plt
  53. import matplotlib.gridspec as gridspec
  54. import matplotlib.image as mpimg
  55. import string
  56. import glob
  57. import os
  58. import gc # Import garbage collector
  59. for folder in glob.glob('IAV_Results/*/*/'):
  60. _,marker, rep,_ = folder.split('/')
  61. print(folder)
  62. # Define image file paths
  63. fsc = f'{folder}/FSC-A_gate.png'
  64. ssc = f'{folder}/SSC-A_gate.png'
  65. singlet = f'{folder}/singlet_gate.png'
  66. pb = f'{folder}/Pacific Blue-A_autogate.png'
  67. live_488 = f'{folder}/Alexa Fluor 488-A_autogate.png'
  68. live_647 = f'{folder}/Alexa Fluor 647-A_autogate.png'
  69. quads = f'{folder}/Live/quadrants_scatterplot.png'
  70. image_files = [fsc, ssc, singlet, pb, live_488, live_647, quads]
  71. # Create the figure
  72. fig = plt.figure(figsize=(8, 8))
  73. # Define the GridSpec with refined height ratios
  74. gs = gridspec.GridSpec(4, 2, hspace=0, wspace=0)
  75. # Create axes
  76. axes = [fig.add_subplot(gs[i, j]) for i in range(4) for j in range(2)]
  77. # Read and plot images
  78. images = [] # Store references to images
  79. for ax, img_path in zip(axes, image_files):
  80. img = mpimg.imread(img_path) # Read image
  81. images.append(img) # Store reference (helps with garbage collection)
  82. ax.imshow(img) # Display image
  83. ax.axis("off") # Hide axes for a clean look
  84. axes[-1].axis("off")
  85. plt.savefig(f'{folder}/gating_summary.png', dpi=1000, bbox_inches='tight')
  86. plt.show()
  87. #break
  88. # **Clean up memory properly**
  89. for ax in axes:
  90. ax.clear() # Clear axes
  91. fig.clf() # Clear figure
  92. plt.close(fig) # Close figure
  93. # Explicitly delete objects
  94. del images
  95. del image_files
  96. del fig
  97. del gs
  98. del axes
  99. # **Force garbage collection**
  100. gc.collect()
  101. # %%
  102. import math
  103. import matplotlib.pyplot as plt
  104. import matplotlib.image as mpimg
  105. import matplotlib.gridspec as gridspec
  106. import os
  107. import glob
  108. import gc
  109. from collections import defaultdict
  110. # Step 1: Collect all individual gating summary images
  111. all_summaries = glob.glob('HSV1_Results/*/*/gating_summary.png')
  112. # Step 2: Group image paths by marker
  113. marker_to_images = defaultdict(list)
  114. for path in all_summaries:
  115. parts = path.split('/')
  116. marker = parts[1]
  117. marker_to_images[marker].append(path)
  118. # Step 3: Generate combined figure per marker using GridSpec (2 columns), with cleanup
  119. for marker, image_paths in marker_to_images.items():
  120. image_paths = sorted(image_paths)
  121. n = len(image_paths)
  122. ncols = 2
  123. nrows = math.ceil(n / ncols)
  124. fig = plt.figure(figsize=(12, 4*nrows))
  125. gs = gridspec.GridSpec(nrows, ncols, hspace=0, wspace=0)
  126. axes = [fig.add_subplot(gs[i, j]) for i in range(nrows) for j in range(ncols)]
  127. images = [] # Store references to images
  128. for ax, img_path in zip(axes, image_paths):
  129. img = mpimg.imread(img_path) # Read image
  130. images.append(img) # Store reference (helps with garbage collection)
  131. ax.imshow(img) # Display image
  132. ax.axis("off") # Hide axes for a clean look
  133. if n % 2 != 0:
  134. axes[-1].axis("off")
  135. output_path = f'HSV1_Results/{marker}/gating_summary_combined.png'
  136. #plt.tight_layout()
  137. plt.savefig(output_path, dpi=600, bbox_inches='tight')
  138. plt.show()
  139. plt.close(fig)
  140. # ---------- Memory cleanup ----------
  141. for ax in axes:
  142. ax.clear()
  143. fig.clf()
  144. del fig, gs, axes, images
  145. gc.collect()
  146. # %%
  147. import math
  148. import matplotlib.pyplot as plt
  149. import matplotlib.image as mpimg
  150. import matplotlib.gridspec as gridspec
  151. import os
  152. import glob
  153. import gc
  154. from collections import defaultdict
  155. # Step 1: Collect all individual gating summary images
  156. all_summaries = glob.glob('IAV_Results/*/*/gating_summary.png')
  157. # Step 2: Group image paths by marker
  158. marker_to_images = defaultdict(list)
  159. for path in all_summaries:
  160. parts = path.split('/')
  161. marker = parts[1]
  162. marker_to_images[marker].append(path)
  163. # Step 3: Generate combined figure per marker using GridSpec (2 columns), with cleanup
  164. for marker, image_paths in marker_to_images.items():
  165. image_paths = sorted(image_paths)
  166. n = len(image_paths)
  167. ncols = 2
  168. nrows = math.ceil(n / ncols)
  169. fig = plt.figure(figsize=(8, 4*nrows))
  170. gs = gridspec.GridSpec(nrows, ncols, hspace=0, wspace=0)
  171. axes = [fig.add_subplot(gs[i, j]) for i in range(nrows) for j in range(ncols)]
  172. images = [] # Store references to images
  173. for ax, img_path in zip(axes, image_paths):
  174. img = mpimg.imread(img_path) # Read image
  175. images.append(img) # Store reference (helps with garbage collection)
  176. ax.imshow(img) # Display image
  177. ax.axis("off") # Hide axes for a clean look
  178. if n % 2 != 0:
  179. axes[-1].axis("off")
  180. output_path = f'IAV_Results/{marker}/gating_summary_combined.png'
  181. #plt.tight_layout()
  182. plt.savefig(output_path, dpi=600, bbox_inches='tight')
  183. plt.show()
  184. plt.close(fig)
  185. # ---------- Memory cleanup ----------
  186. for ax in axes:
  187. ax.clear()
  188. fig.clf()
  189. del fig, gs, axes, images
  190. gc.collect()
  191. # %%

Gating_Summary_Figures.ipynb at commit a85307c, no license · at the source

Overview

Authors: Meagan N Olson1,2,3,4, Nathaniel J Barton1,2,3,4, Luyao Feng1,2,3,4, Samantha M Chigas1,2,3,4,5, Khanh Tran1,2,3,4,6, Adrian R Orszulak1,2,3,4,7, Jafira M Johnson8, Pepper Dawes1,2,3,4, Chandani Shrestha1,2,3,4, Vishali R Umaiyalan1,2,3,4, Yen-Hsiang Huang1,2,3,4, Jonathan Sundstrom1,2,3,4, Liam F Murray1,2,3,4, Qi Wang9, Hyung Suk Oh10, Megan H Orzalli8, David M Knipe10, Benjamin Readhead9, Yingleong Chan3,4, Elaine T Lim1,2,3,4
  1. Department of Medicine, Division of Innate Immunity, University of Massachusetts Chan Medical School, Worcester, MA USA
  2. Department of Molecular, Cell and Cancer Biology, University of Massachusetts Chan Medical School, Worcester, MA USA
  3. Department of Neurology, University of Massachusetts Chan Medical School, Worcester, MA USA
  4. NeuroNexus Institute, University of Massachusetts Chan Medical School, Worcester, MA USA
  5. Graduate Program in Neuroscience, University of Massachusetts Chan Medical School, Worcester, MA USA
  6. Graduate Program in Biochemistry & Molecular Biotechnology, University of Massachusetts Chan Medical School, Worcester, MA USA
  7. Graduate Program in Immunology and Microbiology, University of Massachusetts Chan Medical School, Worcester, MA USA
  8. Department of Medicine, Division of Infectious Diseases and Immunology, University of Massachusetts Chan Medical School, Worcester, MA USA
  9. ASU-Banner Neurodegenerative Disease Research Center, Arizona State University, Tempe, AZ USA
  10. Department of Microbiology, Blavatnik Institute, Harvard Medical School, Boston, MA USA
Institutions: University of Massachusetts Chan Medical School (United States); Arizona State University (United States); Harvard University (United States)
Journal: NPJ dementia, volume 2, issue 1, article 20
Dates: received 18 September 2025; accepted 4 February 2026; published online 9 March 2026; in print 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1038/s44400-026-00066-y · PMID 41816609 · PMCID PMC12971488 · OpenAlex W7134262727
Open access: hybrid, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), Alzheimer's / dementia (population), cellular / molecular (subfield)
Methods: Connectivity, Statistics, Smoothing, state filtering, decompositions, Evoked potentials
Keywords: Diseases, Immunology, Neurology, Neuroscience
Topic: Single-cell and spatial transcriptomics (Molecular Biology, Biochemistry, Genetics and Molecular Biology), according to OpenAlex
Funding: NIAID NIH HHS (T32 AI095213); National Institute on Aging (R01AG083881, U01AG061835, U01AG088673); National Institute of Allergy and Infectious Diseases (P01AI09681, T32AI007349)
Citations: cited by 5 papers (Europe PMC); 146 references in the paper

Abstract

Neuroinflammation is a key process associated with Alzheimer’s disease (AD). There is interest in developing New Approach Methodologies (NAMs) by using human in-vitro complex systems such as brain organoids, combined with machine learning and computational approaches, to reproducibly and robustly evaluate monoclonal antibodies and other therapeutic modalities on these human-derived systems. Herpesviruses such as herpes simplex virus 1 (HSV-1) had been shown to be associated with AD risk and molecular pathology. Building on top of previously reported work, we used herpes simplex virus 1 (HSV-1) infection in 2D dissociated cells from human cerebral organoids (dcOrgs) to recapitulate AD-associated molecular readouts, such as high co-abundance of intracellular beta amyloid (Aβ) and phosphorylated tau (pTau) with HSV-1. Secreted Aβ42/40 ratios in conditioned media were lower from HSV-1-infected dcOrgs, compared to mock dcOrgs. Differentially expressed transcripts from bulk and single-cell RNA sequence data in HSV-1-infected dcOrgs were enriched for AD-associated GWAS genes. Our high-throughput, quantitative framework represents a comprehensive approach to harness on the strengths of 2D dcOrgs for high-throughput applications such as therapeutic screens and can complement the 3D brain organoids and animal models for neuroinflammation in AD.

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

Repository

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

elimlab/hsv1-bulk

License: none: the authors keep all their rights
State: the link answers, verified on 30 September 2026
Evidence: files inventoried
Commit: a85307ce6a5e8ee53577ed583b2698fc3a9adfd2, 30 December 2025
Languages: Jupyter (6), R (4), Python (1)
Size: 16 files, 11 scripts
Software Heritage: not archived
Found in: “Data availability”
Holds: README, 6 notebooks
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: ggplot2 (1 file), Matplotlib (1 file)
Availability: 1 check, the latest on 30 September 2026: the link answers
  • 30 September 2026: the link answers
2 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;
  • 2 scripts, each with its path and the digest of its content;
  • 4 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

Datasets cited

Data availability

Our scripts have been uploaded to the project GitHub page (https://gitlab.com/elimlab/hsv1-bulk). Our bulk transcriptomics raw data is being uploaded to https://www.synapse.org/Synapse:syn69762030.

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, 20 authors, 4 keywords, 3 funders, 140 references.

Cite

This paper

Olson, M. N., Barton, N. J., Feng, L., Chigas, S. M., Tran, K., Orszulak, A. R., Johnson, J. M., Dawes, P., Shrestha, C., Umaiyalan, V. R., Huang, Y.-H., Sundstrom, J., Murray, L. F., Wang, Q., Oh, H. S., Orzalli, M. H., Knipe, D. M., Readhead, B., Chan, Y., & Lim, E. T. (2026). A high-throughput, quantitative platform using 2D dissociated human cerebral organoids to model neuroinflammation in Alzheimer's disease. NPJ dementia, 2(1), 20. https://doi.org/10.1038/s44400-026-00066-y

BibTeX

@article{olson2026high,
author = {Olson, Meagan N and Barton, Nathaniel J and Feng, Luyao and Chigas, Samantha M and Tran, Khanh and Orszulak, Adrian R and Johnson, Jafira M and Dawes, Pepper and Shrestha, Chandani and Umaiyalan, Vishali R and Huang, Yen-Hsiang and Sundstrom, Jonathan and Murray, Liam F and Wang, Qi and Oh, Hyung Suk and Orzalli, Megan H and Knipe, David M and Readhead, Benjamin and Chan, Yingleong and Lim, Elaine T},
title = {{A high-throughput, quantitative platform using 2D dissociated human cerebral organoids to model neuroinflammation in Alzheimer's disease}},
journal = {NPJ dementia},
year = {2026},
month = mar,
volume = {2},
number = {1},
pages = {20},
publisher = {Springer Science+Business Media},
issn = {3005-1940},
doi = {10.1038/s44400-026-00066-y},
url = {https://doi.org/10.1038/s44400-026-00066-y},
pmid = {41816609},
pmcid = {PMC12971488}
}

RIS

TY - JOUR
AU - Olson, Meagan N
AU - Barton, Nathaniel J
AU - Feng, Luyao
AU - Chigas, Samantha M
AU - Tran, Khanh
AU - Orszulak, Adrian R
AU - Johnson, Jafira M
AU - Dawes, Pepper
AU - Shrestha, Chandani
AU - Umaiyalan, Vishali R
AU - Huang, Yen-Hsiang
AU - Sundstrom, Jonathan
AU - Murray, Liam F
AU - Wang, Qi
AU - Oh, Hyung Suk
AU - Orzalli, Megan H
AU - Knipe, David M
AU - Readhead, Benjamin
AU - Chan, Yingleong
AU - Lim, Elaine T
TI - A high-throughput, quantitative platform using 2D dissociated human cerebral organoids to model neuroinflammation in Alzheimer's disease
T2 - NPJ dementia
J2 - NPJ Dement
PY - 2026
DA - 2026/03/09
VL - 2
IS - 1
SP - 20
SN - 3005-1940
PB - Springer Science+Business Media
DO - 10.1038/s44400-026-00066-y
UR - https://doi.org/10.1038/s44400-026-00066-y
LA - en
ER -

CSL-JSON

{
"id": "10.1038/s44400-026-00066-y",
"type": "article-journal",
"title": "A high-throughput, quantitative platform using 2D dissociated human cerebral organoids to model neuroinflammation in Alzheimer's disease",
"container-title": "NPJ dementia",
"author": [
{
"family": "Olson",
"given": "Meagan N"
},
{
"family": "Barton",
"given": "Nathaniel J"
},
{
"family": "Feng",
"given": "Luyao"
},
{
"family": "Chigas",
"given": "Samantha M"
},
{
"family": "Tran",
"given": "Khanh"
},
{
"family": "Orszulak",
"given": "Adrian R"
},
{
"family": "Johnson",
"given": "Jafira M"
},
{
"family": "Dawes",
"given": "Pepper"
},
{
"family": "Shrestha",
"given": "Chandani"
},
{
"family": "Umaiyalan",
"given": "Vishali R"
},
{
"family": "Huang",
"given": "Yen-Hsiang"
},
{
"family": "Sundstrom",
"given": "Jonathan"
},
{
"family": "Murray",
"given": "Liam F"
},
{
"family": "Wang",
"given": "Qi"
},
{
"family": "Oh",
"given": "Hyung Suk"
},
{
"family": "Orzalli",
"given": "Megan H"
},
{
"family": "Knipe",
"given": "David M"
},
{
"family": "Readhead",
"given": "Benjamin"
},
{
"family": "Chan",
"given": "Yingleong"
},
{
"family": "Lim",
"given": "Elaine T"
}
],
"container-title-short": "NPJ Dement",
"volume": "2",
"issue": "1",
"page": "20",
"DOI": "10.1038/s44400-026-00066-y",
"PMID": "41816609",
"PMCID": "PMC12971488",
"ISSN": "3005-1940",
"publisher": "Springer Science+Business Media",
"URL": "https://doi.org/10.1038/s44400-026-00066-y",
"language": "en",
"issued": {
"date-parts": [
[
2026,
3,
9
]
]
}
}

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.1002/adhm.202504889 [code]
Mapping the Cerebral Organoid Landscape: A Systematic Review of Preclinical 3D Models in Neuroscience.
Journal: Advanced healthcare materials
In common: Matplotlib, 13 references
[2] doi:10.1002/alz.71804
A meta-refined human Alzheimer's disease-associated gene subset shows partial mouse-model pathway correspondence and limited cross-cohort machine-learning transportability.
Journal: Alzheimer's & dementia : the journal of the Alzheimer's Association
In common: Alzheimer's / dementia, cellular / molecular, 8 references
[3] doi:10.1038/s41467-026-73007-1 [code]
Single-nucleus epigenomic dysregulation unmasks genetic risk-associated neurodegenerative glia states.
Journal: Nature communications
In common: ggplot2, Matplotlib, Alzheimer's / dementia, cellular / molecular, 5 references
[4] doi:10.7554/elife.98340 [code]
Human adherent cortical organoids in a multi-well format.
Journal: eLife
In common: Matplotlib, 6 references
[5] doi:10.1371/journal.pcbi.1014532 [code]
High reelin expression may explain why a subgroup of entorhinal cortex neurons functions as an initial nucleation site of Alzheimer's disease.
Journal: PLoS computational biology
In common: Matplotlib, Alzheimer's / dementia, 5 references
[6] doi:10.1101/gr.280436.125 [code]
Cell type-specific gene regulatory atlas prioritizes drug targets and repurposable medicines in Alzheimer's disease.
Journal: Genome research
In common: ggplot2, Matplotlib, Alzheimer's / dementia, cellular / molecular, 5 references
[7] doi:10.1038/s41586-026-10793-0
Cell-type signatures of Alzheimer's disease shared across population groups.
Journal: Nature
In common: Alzheimer's / dementia, cellular / molecular, 6 references
[8] doi:10.1038/s41593-026-02267-3 [code]
Spatial proteomic analysis in human Alzheimer's disease brains enables identification of microenvironment-dependent microglial cell states.
Journal: Nature neuroscience
In common: Matplotlib, Alzheimer's / dementia, cellular / molecular, 5 references
[9] doi:10.1038/s41593-026-02367-0 [code]
A reproducible three-dimensional model of human brain tissue to investigate physiological and disease-associated microglia phenotypes.
Journal: Nature neuroscience
In common: ggplot2, Alzheimer's / dementia, cellular / molecular, 5 references
[10] doi:10.1002/exp2.70160
<i>RBFOX1</i> Dysfunction Unlocks <i>APOE4</i>-Associated Microglial Genesis and Exacerbates Alzheimer's Pathology in Human Cerebral Organoids.
Journal: Exploration (Beijing, China)
In common: Alzheimer's / dementia, cellular / molecular, 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.

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.