OSCR

Reference proteins to improve Core 1 and Core 2 Alzheimer's disease CSF and plasma biomarkers.

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] § Results › Normalization using CSF Aβ40 and np-tau enhances CSF AD biomarker associations with Aβ-PET load ↔ Plots_ refprot_normalization.ipynb, lines 31–70 · score 0.64 · CSF neurogranin, MTBR tau243, UGOT, SNAP, El, WU
  2. [2] § Materials and methods › Statistical analysis ↔ Fns_refprot_normalization.py, lines 38–66 · score 0.62 · linear regression models, outcome variables, compared biomarkers, reference protein, iterations, bootstrapped
  3. [3] § Materials and methods › CSF and plasma collection and analysis ↔ Plots_ refprot_normalization.ipynb, lines 31–70 · score 0.59 · MTBR tau243, SNAP, GU, WU, Elecsys, Li
  4. [4] § Materials and methods › Statistical analysis ↔ Models_refprot_normalization.ipynb, lines 34–71 · score 0.56 · PET composites, outcome variables, reference protein, models, IV, ratio

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 · 266 lines · 11 KB · no license · 2 matches

  1. # %%
  2. ## Author: Linda Karlsson, 2024
  3. # import packages
  4. import pandas as pd
  5. import pickle
  6. import numpy as np
  7. import matplotlib.pyplot as plt
  8. from pathlib import PurePath
  9. import os
  10. import Fns_refprot_normalization as fns
  11. # define path
  12. path = PurePath(os.getcwd())
  13. parents = path.parents
  14. # %% [markdown]
  15. # ## This notebook creates figures from the generated linear regression file from Models_refprot_normalization.ipynb.
  16. #
  17. # #### To run this notebook, make sure to update the CSF and plasma dictionaries that defines what names should be used in the plot for each variable in the data. The keys should match the "biomarker" in linreg_res, and the values should be set to the tick names you want to have in the figures.
  18. #
  19. # %%
  20. ## Change path to where you have the regression results.
  21. os.chdir(str(path) + '') ## INSERT PATH
  22. with open('linreg_results.pkl', 'rb') as f:
  23. linreg_res = pickle.load(f) ## INSERT NAME OF DATA FILE
  24. # %%
  25. # Create dictionary of what the biomarkers are named in your data as key and what you want to name
  26. # them in the plots as value. Edit appropriately, see example below.
  27. # EDIT CSF DICTIONARY
  28. csf_names = {'CSF_ptau217_Lilly': 'p-tau217 (Li)',
  29. 'CSF_ptau181_Lilly': 'p-tau181 (Li)',
  30. 'CSF_MTBRtau243_WashU': 'MTBR-tau243 (WU)',
  31. 'CSF_ptau205_WashU': 'p-tau205 (WU)',
  32. 'CSF_Ab42_Elecsys': 'Aβ42 (El)',
  33. 'CSF_SNAP25_UGOT': 'SNAP-25 (GU)',
  34. 'CSF_Neurogranin_NTK': 'neurogranin (NTK)',
  35. 'CSF_Ab40_Elecsys': 'Aβ40 (El)',
  36. 'CSF_ptau217_Lilly_refprot_normalized': 'p-tau217/Aβ40 (Li/El)',
  37. 'CSF_ptau181_Lilly_refprot_normalized': 'p-tau181/Aβ40 (Li/El)',
  38. 'CSF_MTBRtau243_WashU_refprot_normalized': 'MTBR-tau243/Aβ40 (WU/El)',
  39. 'CSF_ptau205_WashU_refprot_normalized': 'p-tau205/Aβ40 (WU/El)',
  40. 'CSF_Ab42_Elecsys_refprot_normalized': 'Aβ42/Aβ40 (El/El)',
  41. 'CSF_SNAP25_UGOT_refprot_normalized': 'SNAP-25/Aβ40 (GU/El)',
  42. 'CSF_Neurogranin_NTK_refprot_normalized': 'neurogranin/Aβ40 (NTK/El)'}
  43. # EDIT PLASMA DICTIONARY
  44. plasma_names = {'Plasma_ptau217_Lilly': 'p-tau217 (Li)',
  45. 'Plasma_ptau181_Lilly': 'p-tau181 (Li)',
  46. 'Plasma_ptau205l_WashU': 'p-tau205 (WU)',
  47. 'Plasma_eMTBRtau243_WashU': 'eMTBR-tau243 (WU)',
  48. 'Plasma_Ab42_WashU': 'Aβ42 (WU)',
  49. 'Plasma_Ab40_WashU': 'Aβ40 (WU)',
  50. 'Plasma_ptau217_Lilly_refprot_normalized': 'p-tau217/Aβ40 (Li/WU)',
  51. 'Plasma_ptau181_Lilly_refprot_normalized': 'p-tau181/Aβ40 (Li/WU)',
  52. 'Plasma_eMTBRtau243_WashU_refprot_normalized': 'eMTBR-tau243/Aβ40 (WU/WU)',
  53. 'Plasma_ptau205_WashU_refprot_normalized': 'p-tau205/Aβ40 (WU/WU)',
  54. 'Plasma_Ab42_WashU_refprot_normalized': 'Aβ42/Aβ40 (WU/WU)'
  55. }
  56. # create a single dictionary with both csf and plasma names
  57. names = {}
  58. names.update(csf_names)
  59. names.update(plasma_names)
  60. # %% [markdown]
  61. # ## Create figure of difference between biomarker ratios and biomarkers alone
  62. # %%
  63. ## Pre-process linear regression results by updating biomarker names, setting
  64. #colors for each biomarker and add '*' according to signifiance level
  65. linreg_res_diff = []
  66. for result in linreg_res:
  67. linreg_res_diff.append(fns.pre_process_result_diff(result,names))
  68. # %%
  69. ### Plot results and save plot
  70. # Set initial plot parameters and create subplots
  71. plt.rcParams["figure.figsize"] = (15,15)
  72. plt.rc('font', size=11)
  73. fig, axs = plt.subplots(2,3,sharex=False,sharey=False)
  74. plt.subplots_adjust(wspace=1.0, hspace=0.4)
  75. props = dict(boxstyle='square', facecolor='white', alpha=1)
  76. font_names = sorted([f.name for f in fm.fontManager.ttflist])
  77. # Define titles and subplot names
  78. titles = ['Tau PET Braak I-IV','Tau PET Braak V-VI', 'Amyloid-β PET',
  79. 'Tau PET Braak I-IV','Tau PET Braak V-VI', 'Amyloid-β PET']
  80. letters = ['a','b','c','d','e','f']
  81. start=0.86
  82. # Plot results in each subplot
  83. for ax,tit,result,i,l in zip(axs.flat,titles,linreg_res_diff,range(8),letters):
  84. # Set y-range and ticks for CSF biomarkers
  85. res1 = res1.sort_values(by='R2')
  86. # make horizontal barplots
  87. ax.barh(res1['name'],res1['R2'],color=res1['color'])
  88. ax.barh(res1['name'],res1['R2']-res1['R2_difference'],color='darkgray')
  89. ax.grid(alpha=0.2)
  90. ax.set_title(tit,size=10,fontweight='semibold',)
  91. ax.set_xlabel('R$^2$',size=11)
  92. ax.set_xlim([0,0.85])
  93. # make errorbars
  94. ax.errorbar(res1['R2'],res1['name'],xerr=[res1['R2_difference']-res1['lower'],res1['upper']-res1['R2_difference']],
  95. color='black',lw=0.6,capsize=1.5,fmt='.',ms=2)#fmt='s'
  96. ax.text(-0.1, 1.05, l, transform=ax.transAxes,verticalalignment='top', size=11,fontweight='bold')
  97. ax.tick_params(axis='y',labelsize=9)
  98. # significance level
  99. for sig,i,R2_diff,R2,name in zip(res1['sig'],range(len(res1)),res1['R2_difference'],res1['R2'],res1['name']):
  100. if sig == '***':
  101. ax.text(start,i-0.2,sig,size=8,rotation='vertical')
  102. elif sig == '**':
  103. ax.text(start,i-0.1,sig,size=8,rotation='vertical')
  104. elif sig == '*':
  105. ax.text(start,i,sig,size=8,rotation='vertical')
  106. if R2_diff < 0:
  107. ax.barh(name,R2-R2_diff,color='gray',hatch='//////')
  108. ax.barh(name,R2,color='darkgray')
  109. j = 28
  110. axs[0,1].text(0.07, 14.4, "CSF biomarkers in [cohort]", fontsize=14,fontweight='bold',fontname=font_names[j*5])
  111. axs[1,1].text(0.026, 12.1, "Plasma biomarkers in [cohort]", fontsize=14,fontweight='bold',fontname=font_names[j*5])
  112. fig.subplots_adjust(bottom=0.3, wspace=1)
  113. # add legend
  114. legend_elements = [Patch(facecolor='gray',
  115. label='Unnormalized'),
  116. Patch(facecolor='lightseagreen',
  117. label='R$^2$ increase from Aβ40 normalization'),
  118. Patch(facecolor='royalblue',
  119. label='R$^2$ increase from np-tau normalization'),
  120. Patch(facecolor='gray',hatch='//////',
  121. label='R$^2$ reduction from normalization')]
  122. axs[1,1].legend(handles=legend_elements,fancybox=False,ncol=5,loc='upper center',
  123. bbox_to_anchor=(0.5, -0.2))
  124. #save figure
  125. plt.savefig('Figure1.pdf',bbox_inches='tight')
  126. # %%
  127. ### Plot results and save plot
  128. # Set initial plot parameters and create subplots
  129. plt.rcParams["figure.figsize"] = (12,12)
  130. plt.rc('font', size=8)
  131. fig, axs = plt.subplots(2,3,sharex=False,sharey=False)
  132. plt.subplots_adjust(wspace=0.2, hspace=1.4)
  133. props = dict(boxstyle='square', facecolor='white', alpha=1)
  134. # Define titles and subplot names
  135. titles = ['Tau PET Braak I-IV','Tau PET Braak V-VI', 'Amyloid-β PET',
  136. 'Tau PET Braak I-IV','Tau PET Braak V-VI', 'Amyloid-β PET']
  137. letters = ['a','b','c','d','e','f']
  138. # Plot results in each subplot
  139. for ax,tit,result,i,l in zip(axs.flat,titles,linreg_res_diff,range(8),letters):
  140. # Set y-range and ticks for CSF biomarkers
  141. if i < 3:
  142. ax.set_ylim(-0.17,0.42)
  143. start = 0.38 # height of '*'
  144. ax.set_yticks([-0.1,0,0.1,0.2,0.3])
  145. # Set y-range and ticks for plasma biomarkers
  146. else:
  147. ax.set_ylim(-0.17,0.25)
  148. start = 0.22 #height of '*'
  149. ax.set_yticks([-0.1,0,0.1,0.2])
  150. # make barplots
  151. ax.set_xlim(-0.8,len(result)-0.2)
  152. ax.bar(result['name'],result['mean_diff'],color=result['color'])
  153. # make errorbars
  154. ax.errorbar(result['name'],result['mean_diff'],yerr=[result['mean_diff']-result['lower'],result['upper']-result['mean_diff']],color='black',lw=0.5,capsize=1.5,fmt='.',ms=2)
  155. # plot significance levels
  156. for sig,i,R2 in zip(result['sig'],range(len(result)),result['mean_diff']):
  157. if sig == '***':
  158. ax.text(i-0.3,start,sig,size=7,rotation='horizontal')
  159. elif sig == '**':
  160. ax.text(i-0.2,start,sig,size=7,rotation='horizontal')
  161. elif sig == '*':
  162. ax.text(i-0.1,start,sig,size=7,rotation='horizontal')
  163. # set general plot properties, titles and xlabels
  164. ax.axhline(0,color='black',lw=0.4,ls='dashed')
  165. ax.text(-0.1, 1.05, l, transform=ax.transAxes,verticalalignment='top', size=11,fontweight='bold')
  166. ax.grid(alpha=0.2)
  167. ax.set_title(tit,size=10,fontweight='semibold')
  168. ax.set_xticks(result['name'])
  169. ax.tick_params(axis='x', labelrotation = 90)
  170. #set shared y-labels
  171. axs[0,0].set_ylabel('ΔR$^2$',size=11)
  172. axs[1,0].set_ylabel('ΔR$^2$',size=11)
  173. axs[0,1].text(1, 0.52, "CSF biomarkers in [cohort]", fontsize=14,fontweight='bold',fontname=font_names[j*5])
  174. axs[1,1].text(0.48, 0.32, "Plasma biomarkers in [cohort]", fontsize=14,fontweight='bold',fontname=font_names[j*5])
  175. # add legend
  176. fig.subplots_adjust(bottom=0.3, wspace=0.2,hspace=1.2)
  177. legend_elements = [
  178. Patch(facecolor='lightseagreen',
  179. label='R$^2$ change from Aβ40 normalization'),
  180. Patch(facecolor='royalblue',
  181. label='R$^2$ change from np-tau normalization')]
  182. axs[1,1].legend(handles=legend_elements,fancybox=False,ncol=5,loc='upper center',
  183. bbox_to_anchor=(0.5, -0.9),fontsize=9)
  184. #save figure
  185. plt.savefig('Figure2.pdf',bbox_inches='tight')
  186. # %%
  187. ## Pre-process linear regression results by updating biomarker names and setting
  188. #colors for each biomarker
  189. for result in h2h_res:
  190. for bm,i in zip(result['biomarker'],range(len(result['biomarker']))):
  191. result.loc[i,'name'] = names[bm]
  192. result['color'] = fns.give_color(result)
  193. # %%
  194. ### Plot results and save plot
  195. # Set initial plot parameters and create subplots
  196. plt.rcParams["figure.figsize"] = (12,10.5)
  197. plt.rc('font', size=8)
  198. fig, axs = plt.subplots(2,3,sharex=False,sharey=False)
  199. plt.subplots_adjust(wspace=1.1, hspace=0.34)
  200. props = dict(boxstyle='square', facecolor='white', alpha=1)
  201. # Define titles and subplot names
  202. titles = ['Tau PET Braak I-IV','Tau PET Braak V-VI', 'Amyloid-β PET',
  203. 'Tau PET Braak I-IV','Tau PET Braak V-VI', 'Amyloid-β PET']
  204. letters = ['a','b','c','d','e','f']
  205. # Plot results in each subplot
  206. for ax,result,tit,l in zip(axs.flat,h2h_res,titles,letters):
  207. # sort values according to R2-score
  208. result = result.sort_values(by='R2_mean')
  209. # make horizontal barplots
  210. ax.barh(result['name'],result['R2_mean'],color=result['color'])
  211. # make errorbars
  212. ax.errorbar(result['R2_mean'],result['name'],xerr=[result['R2_mean']-result['R2_lower'],result['R2_upper']-result['R2_mean']],color='black',lw=0.5,capsize=1.5,fmt='.',ms=2)
  213. # set general plot properties, titles and xlabels
  214. ax.grid(alpha=0.2)
  215. ax.set_title(tit,size=10,fontweight='semibold')
  216. ax.set_xlabel('R-squared',size=10)
  217. ax.set_xlim([0,0.85])
  218. ax.text(-0.1, 1.05, l, transform=ax.transAxes,verticalalignment='top', size=10,fontweight='bold')
  219. #save figure
  220. plt.savefig('head_to_head_barplots.jpg',bbox_inches='tight',dpi=300)

Plots_ refprot_normalization.ipynb at commit e3f51a0, no license · at the source

Overview

Authors: Linda Karlsson1, Shorena Janelidze1, Nicolas R Barthélemy2,3, Kanta Horie2,3,4, Joseph Therriault5, Lorenzo Gaetani6, Giovanni Bellomo6, Suzanne E Schindler2, Jacob Vogel7, Ida Arvidsson8, Kalle Åström8, Brian A Gordon9, Cyrus A Raji9, Tammie L S Benzinger9, John C Morris2, Johanna Nilsson10, Ann Brinkmalm10, Sebastian Palmqvist1,11, Erik Stomrud1,11, Gemma Salvadó1,12
and 8 other authorsAlexa Pichet Binette1,13,14, Massimiliano Di Filippo6, Lucilla Parnetti6, Pedro Rosa-Neto5,15,16, Kaj Blennow10,17,18,19, Randall J Bateman2,3, Niklas Mattsson-Carlgren1,11, Oskar Hansson1
19 affiliations
  1. Clinical Memory Research Unit, Department of Clinical Sciences in Malmö, Lund University, Lund SE-22184, Sweden
  2. Department of Neurology, Washington University School of Medicine, St. Louis, MO 63108, USA
  3. The Tracy Family SILQ Center, Washington University School of Medicine, St. Louis, MO 63108, USA
  4. Eisai Inc., Nutley, NJ 07110, USA
  5. Translational Neuroimaging Laboratory, McGill University Research Centre for Studies in Aging, McConnell Brain Imaging Centre (BIC), Montreal Neurological Institute, Montreal Neurological Institute-Hospital, Montreal, Quebec H4H 1R3, Canada
  6. Section of Neurology, Department of Medicine and Surgery, University of Perugia, Perugia 06132, Italy
  7. Department of Clinical Sciences, SciLifeLab, Lund University, Lund SE-22184, Sweden
  8. Centre for Mathematical Sciences, Lund University, Lund SE-22362, Sweden
  9. Department of Radiology, Washington University School of Medicine, St. Louis, MO 63130, USA
  10. Department of Psychiatry and Neurochemistry, Institute of Neuroscience and Physiology, the Sahlgrenska Academy, University of Gothenburg, Mölndal SE-43180, Sweden
  11. Memory Clinic, Skåne University Hospital, Malmö SE-20502, Sweden
  12. Barcelonaβeta Brain Research Center (BBRC), Pasqual Maragall Foundation, Barcelona 08005, Spain
  13. Department of Physiology and Pharmacology, Université de Montréal, Montréal, Quebec H3T 1J4, Canada
  14. Centre de Recherche de L’Institut Universitaire de Gériatrie de Montréal, Montréal, Quebec H3W 1W5, Canada
  15. Douglas Hospital Research Centre—Centre Intégré Universitaire de Santé et Services Sociaux de L’Ouest-de-L’Île-de-Montréal, Verdun, Quebec H4H 1R3, Canada
  16. The Peter O’Donnell Jr. Brain Institute (OBI), University of Texas Southwestern Medical Centre (UTSW), Dallas, 75235 TX, USA
  17. Clinical Neurochemistry Laboratory, Sahlgrenska University Hospital, Mölndal SE-43180, Sweden
  18. Paris Brain Institute, ICM, Pitié-Salpêtrière Hospital, Sorbonne University, Paris 75013, France
  19. Neurodegenerative Disorder Research Center, Division of Life Sciences and Medicine, and Department of Neurology, Institute on Aging and Brain Disorders, University of Science and Technology of China and First Affiliated Hospital of USTC, Hefei 230026, P.R. China
Journal: Brain : a journal of neurology, volume 149, issue 4, pages 1153-1167
Dates: received 2 May 2025; accepted 3 September 2025; published online 6 October 2025; in print April 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1093/brain/awaf375 · PMID 41051312 · PMCID PMC13058454 · OpenAlex W4414873918
Open access: hybrid, a free copy (OpenAlex)
Status: code verified
Categories: other (modality), PET / SPECT (modality), human (organism), Alzheimer's / dementia (population), clinical / translational (subfield)
Methods: Statistics, Machine learning, Preprocessing, fMRI & imaging, Smoothing, state filtering, decompositions
Keywords: normalization, CSF biomarkers, plasma biomarkers, Aβ40, PET, Alzheimer’s disease
MeSH: Alzheimer Disease*, Amyloid beta-Peptides*, tau Proteins*, Aged, Aged, 80 and over, Biomarkers, Cohort Studies, Female, Humans, Male, Middle Aged, Peptide Fragments, Positron-Emission Tomography (* major topic)
Topic: Dementia and Cognitive Impairment Research (Psychiatry and Mental health, Medicine), according to OpenAlex
Funding: Swedish Alzheimer Foundation (AF-994229, AF-981132, AF-980907); Swedish Research Council (2022-00775, 2021-02219, 2024-03642, 2018-02052); NIA NIH HHS (P01 AG026276, P01 AG003991, P30 AG066444, U19 AG032438); Swedish Brain Foundation (FO2023-0163, FO2021-0293, FO2022-0204); Cure Alzheimer's Fund; Lund University; SciLifeLab Wallenberg Data Driven Life Science (KAW 2020.0239); National Institute of Aging (R01AG083740); Rönström's Foundation (FRS-0003, FRS-0004); Parkinson foundation of Sweden; Strategic Research Area MultiPark; Skåne University Hospital Foundation (2020-O000028)
Citations: not cited yet (Europe PMC); 53 references in the paper

Abstract

Concentration-based fluid biomarkers represent an informative and cost-effective way to detect and monitor Alzheimer’s disease (AD) pathology. However, non-AD-related interindividual variation in biofluids can also affect biomarker concentrations. Here, we investigated whether normalization of CSF and plasma biomarkers to reference proteins, such as amyloid-β40 (Aβ40) and non-phosphorylated mid-region tau (np-tau), improves their robustness and reliability of representing AD pathology load.

Using the Swedish BioFINDER-2 cohort [n = 1702, 50.7% male, mean (standard deviation) age 68.4 (12.2) years], we compared the associations between tau/Aβ-PET load and fluid biomarkers alone versus biomarkers in a ratio with a reference protein (Aβ40 or np-tau) in univariate linear regression models. Fluid biomarkers included CSF and plasma measures of p-tau217, p-tau181, p-tau205, np-tau181-190, np-tau195–210, np-tau212–221, Aβ42 and Aβ40; CSF MTBR-tau243, SNAP-25, neurogranin, YKL-40 and sTREM2; and plasma eMTBR-tau243. Biomarkers were measured with mass spectrometry assays and/or immunoassays. In addition, we performed validation and extended analyses, comparing, for example, group-level diagnostic differences and longitudinal biomarker trajectories, in three independent prospective cohorts [BioFINDER-1, Knight Alzheimer Disease Research Center (ADRC) and Translational Biomarkers in Aging and Dementia (TRIAD)] and in an Italian multiple sclerosis cohort.

CSF Aβ40 normalization significantly strengthened the associations of several core CSF AD biomarkers, including CSF MTBR-tau243, p-tau isoforms and synaptic biomarkers, with tau-PET (ΔR2 = 0.064–0.24) and Aβ-PET (ΔR2 = 0.016–0.28). Normalization to CSF np-tau mainly improved concordance with Aβ-PET (ΔR2 = −0.0059 to 0.19). The strongest association with tau-PET was observed for MTBR-tau243/Aβ40 (R2 = 0.78, compared with 0.65 for non-normalized MTBR-tau243), and with Aβ-PET for p-tau217/np-tau (R2 = 0.65, compared with 0.46 for non-normalized p-tau217). Plasma biomarker associations with tau-PET improved when using normalization to plasma Aβ40 or np-tau (ΔR2 = 0.004–0.14), with the strongest effect for eMTBR-tau243/np-tau (R2 = 0.72 versus 0.60). Associations with Aβ-PET were enhanced with np-tau normalization (ΔR2 = 0.018–0.16, strongest for p-tau217/np-tau: R2 = 0.62 versus 0.53). The results were replicated in Knight ADRC and TRIAD. Furthermore, longitudinal analyses showed that Aβ40 normalization typically reduced interindividual rather than intra-individual variability over time. Normalization did not enhance group-level differences in inflammatory CSF biomarkers in AD, nor did it improve biomarker associations in the multiple sclerosis cohort.

In conclusion, normalization of CSF and plasma biomarkers to reference proteins, such as Aβ40 or np-tau, enhances their association with brain tau and Aβ pathology, making already high-performing AD fluid biomarkers even more accurate.

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.

DeMONLab-BioFINDER/karlsson_refprot_normalization

License: none: the authors keep all their rights
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: e3f51a005ec6face59ec8f6b1645293287ed0fa3, 18 March 2025
Languages: Jupyter (2), Python (1)
Size: 4 files, 3 scripts
Software Heritage: not archived
Found in: the text, “Statistical analysis”
Holds: README, 2 notebooks
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: NumPy (3 files), pandas (3 files), Matplotlib (1 file), scikit-learn (1 file), statsmodels (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
4 files

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;
  • 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

No dataset and no data link were found in the paper.

Data availability

The datasets generated and/or analysed during the present study are available from the Principal Investigators of the respective cohort ( for the Swedish BioFINDER-1 and BioFINDER-2, R.J.B. for Knight ADRC, P.R.-N. for TRIAD, and L.P. for the Perugia MS cohort). Generally, anonymized data can be shared by request from qualified academic investigators for the purpose of replicating procedures and results presented in the article, if data transfer is in agreement with data protection regulation at the institution and is approved by the local ethics review board.

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

Recorded: type, language, journal, volume, issue, pages, dates, 28 authors, 6 keywords, 13 MeSH terms, 12 funders, 53 references.

Cite

This paper

Karlsson, L., Janelidze, S., Barthélemy, N. R., Horie, K., Therriault, J., Gaetani, L., Bellomo, G., Schindler, S. E., Vogel, J., Arvidsson, I., Åström, K., Gordon, B. A., Raji, C. A., Benzinger, T. L. S., Morris, J. C., Nilsson, J., Brinkmalm, A., Palmqvist, S., Stomrud, E., . . . Hansson, O. (2026). Reference proteins to improve Core 1 and Core 2 Alzheimer's disease CSF and plasma biomarkers. Brain : a journal of neurology, 149(4), 1153-1167. https://doi.org/10.1093/brain/awaf375

BibTeX

@article{karlsson2026reference,
author = {Karlsson, Linda and Janelidze, Shorena and Barthélemy, Nicolas R and Horie, Kanta and Therriault, Joseph and Gaetani, Lorenzo and Bellomo, Giovanni and Schindler, Suzanne E and Vogel, Jacob and Arvidsson, Ida and Åström, Kalle and Gordon, Brian A and Raji, Cyrus A and Benzinger, Tammie L S and Morris, John C and Nilsson, Johanna and Brinkmalm, Ann and Palmqvist, Sebastian and Stomrud, Erik and Salvadó, Gemma and Pichet Binette, Alexa and Di Filippo, Massimiliano and Parnetti, Lucilla and Rosa-Neto, Pedro and Blennow, Kaj and Bateman, Randall J and Mattsson-Carlgren, Niklas and Hansson, Oskar},
title = {{Reference proteins to improve Core 1 and Core 2 Alzheimer's disease CSF and plasma biomarkers}},
journal = {Brain : a journal of neurology},
year = {2026},
month = apr,
volume = {149},
number = {4},
pages = {1153--1167},
publisher = {Oxford University Press},
issn = {0006-8950},
doi = {10.1093/brain/awaf375},
url = {https://doi.org/10.1093/brain/awaf375},
pmid = {41051312},
pmcid = {PMC13058454}
}

RIS

TY - JOUR
AU - Karlsson, Linda
AU - Janelidze, Shorena
AU - Barthélemy, Nicolas R
AU - Horie, Kanta
AU - Therriault, Joseph
AU - Gaetani, Lorenzo
AU - Bellomo, Giovanni
AU - Schindler, Suzanne E
AU - Vogel, Jacob
AU - Arvidsson, Ida
AU - Åström, Kalle
AU - Gordon, Brian A
AU - Raji, Cyrus A
AU - Benzinger, Tammie L S
AU - Morris, John C
AU - Nilsson, Johanna
AU - Brinkmalm, Ann
AU - Palmqvist, Sebastian
AU - Stomrud, Erik
AU - Salvadó, Gemma
AU - Pichet Binette, Alexa
AU - Di Filippo, Massimiliano
AU - Parnetti, Lucilla
AU - Rosa-Neto, Pedro
AU - Blennow, Kaj
AU - Bateman, Randall J
AU - Mattsson-Carlgren, Niklas
AU - Hansson, Oskar
TI - Reference proteins to improve Core 1 and Core 2 Alzheimer's disease CSF and plasma biomarkers
T2 - Brain : a journal of neurology
J2 - Brain
PY - 2026
DA - 2026/04/01
VL - 149
IS - 4
SP - 1153
EP - 1167
SN - 0006-8950
PB - Oxford University Press
DO - 10.1093/brain/awaf375
UR - https://doi.org/10.1093/brain/awaf375
LA - en
ER -

CSL-JSON

{
"id": "10.1093/brain/awaf375",
"type": "article-journal",
"title": "Reference proteins to improve Core 1 and Core 2 Alzheimer's disease CSF and plasma biomarkers",
"container-title": "Brain : a journal of neurology",
"author": [
{
"family": "Karlsson",
"given": "Linda"
},
{
"family": "Janelidze",
"given": "Shorena"
},
{
"family": "Barthélemy",
"given": "Nicolas R"
},
{
"family": "Horie",
"given": "Kanta"
},
{
"family": "Therriault",
"given": "Joseph"
},
{
"family": "Gaetani",
"given": "Lorenzo"
},
{
"family": "Bellomo",
"given": "Giovanni"
},
{
"family": "Schindler",
"given": "Suzanne E"
},
{
"family": "Vogel",
"given": "Jacob"
},
{
"family": "Arvidsson",
"given": "Ida"
},
{
"family": "Åström",
"given": "Kalle"
},
{
"family": "Gordon",
"given": "Brian A"
},
{
"family": "Raji",
"given": "Cyrus A"
},
{
"family": "Benzinger",
"given": "Tammie L S"
},
{
"family": "Morris",
"given": "John C"
},
{
"family": "Nilsson",
"given": "Johanna"
},
{
"family": "Brinkmalm",
"given": "Ann"
},
{
"family": "Palmqvist",
"given": "Sebastian"
},
{
"family": "Stomrud",
"given": "Erik"
},
{
"family": "Salvadó",
"given": "Gemma"
},
{
"family": "Pichet Binette",
"given": "Alexa"
},
{
"family": "Di Filippo",
"given": "Massimiliano"
},
{
"family": "Parnetti",
"given": "Lucilla"
},
{
"family": "Rosa-Neto",
"given": "Pedro"
},
{
"family": "Blennow",
"given": "Kaj"
},
{
"family": "Bateman",
"given": "Randall J"
},
{
"family": "Mattsson-Carlgren",
"given": "Niklas"
},
{
"family": "Hansson",
"given": "Oskar"
}
],
"container-title-short": "Brain",
"volume": "149",
"issue": "4",
"page": "1153-1167",
"DOI": "10.1093/brain/awaf375",
"PMID": "41051312",
"PMCID": "PMC13058454",
"ISSN": "0006-8950",
"publisher": "Oxford University Press",
"URL": "https://doi.org/10.1093/brain/awaf375",
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
1
]
]
}
}

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/s41467-026-71732-1 [code]
Trajectories of plasma and CSF MTBR-tau243 and phosphorylated-tau species across the Alzheimer's disease continuum.
Journal: Nature communications
In common: PET / SPECT, Alzheimer's / dementia, 9 references, 5 authors
[2] doi:10.64898/2026.05.06.26352540 [code]
Generating synthetic tau-PET scans in Alzheimer’s disease from MRI, blood biomarkers and demographics with deep learning
Journal: medRxiv (preprint)
In common: scikit-learn, pandas, Matplotlib, 1 other tool, PET / SPECT, other, Alzheimer's / dementia, 1 other category, 10 references, 2 authors
[3] doi:10.1093/brain/awaf413 [code]
Estimating the time course of biomarker changes in Alzheimer's disease.
Journal: Brain : a journal of neurology
In common: PET / SPECT, Alzheimer's / dementia, clinical / translational, 6 references, 3 authors
[4] doi:10.1007/s00401-026-03042-1
Tau368 improves p-tau diagnostic accuracy for FTLD-tau from FTLD-TDP.
Journal: Acta neuropathologica
In common: Alzheimer's / dementia, clinical / translational, 9 references
[5] doi:10.1093/braincomms/fcag176 [code]
Tau topography subtypes account for clinical heterogeneity and longitudinal trajectories in early-onset Alzheimer's disease.
Journal: Brain communications
In common: statsmodels, scikit-learn, pandas, 2 other tools, PET / SPECT, Alzheimer's / dementia, clinical / translational, 1 reference, author Jacob W Vogel
[6] doi:10.1002/alz.71773 [code]
Brain-derived plasma p-tau217 shows enhanced dynamic range for Alzheimer's disease neuropathological change.
Journal: Alzheimer's & dementia : the journal of the Alzheimer's Association
In common: PET / SPECT, other, Alzheimer's / dementia, 6 references
[7] doi:10.1002/alz.71609
Cortical gray-white matter contrast alterations precede amyloid-β positivity and macrostructural changes in older adults without dementia.
Journal: Alzheimer's & dementia : the journal of the Alzheimer's Association
In common: PET / SPECT, Alzheimer's / dementia, 3 references, author Gemma Salvadó
[8] doi:10.1002/hbm.70508 [code]
Cyclic 2.5D Perceptual Loss for Cross-Modal 3D Medical Image Synthesis: T1w MRI to Tau PET.
Journal: Human brain mapping
In common: NumPy, PET / SPECT, Alzheimer's / dementia, 6 references
[9] doi:10.34133/research.1392 [code]
Neuroimaging Epicenters as Vulnerable Nodes in Plasma p-tau217/Aβ42-Positive Alzheimer's Disease.
Journal: Research (Washington, D.C.)
In common: pandas, NumPy, other, Alzheimer's / dementia, 5 references
[10] doi:10.1093/brain/awag075 [code]
Modelling the temporal evolution of plasma p-tau217, amyloid PET, tau PET and cognition.
Journal: Brain : a journal of neurology
In common: PET / SPECT, other, Alzheimer's / dementia, 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.