OSCR

Neuroimaging Epicenters as Vulnerable Nodes in Plasma p-tau217/Aβ42-Positive Alzheimer's Disease.

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

Python · 106 lines · 4.1 KB · MIT

  1. from argparse import ArgumentParser, BooleanOptionalAction
  2. from pathlib import Path
  3. import re
  4. import nibabel as nib
  5. import numpy as np
  6. import pandas as pd
  7. from scipy.stats import ttest_1samp
  8. def parse_args(default_groups, default_invert, default_split, default_max):
  9. parser = ArgumentParser()
  10. parser.add_argument("matrix", type=Path)
  11. parser.add_argument("atlas", type=Path)
  12. parser.add_argument("output_dir", type=Path)
  13. parser.add_argument("--groups", nargs="+", default=list(default_groups))
  14. parser.add_argument("--invert", action=BooleanOptionalAction, default=default_invert)
  15. parser.add_argument("--roi-split", type=int, default=default_split)
  16. parser.add_argument("--roi-max", type=int, default=default_max)
  17. parser.add_argument("--min-subjects", type=int, default=2)
  18. return parser.parse_args()
  19. def corrected(pvalues, method):
  20. output = np.full(len(pvalues), np.nan)
  21. valid = np.isfinite(pvalues)
  22. values = pvalues[valid]
  23. if not len(values):
  24. return output
  25. if method == "bonferroni":
  26. adjusted = np.minimum(values * len(values), 1)
  27. else:
  28. order = np.argsort(values)
  29. ranked = values[order] * len(values) / np.arange(1, len(values) + 1)
  30. ranked = np.minimum.accumulate(ranked[::-1])[::-1]
  31. adjusted = np.empty_like(ranked)
  32. adjusted[order] = np.minimum(ranked, 1)
  33. output[valid] = adjusted
  34. return output
  35. def roi_number(name):
  36. match = re.search(r"(\d+)$", name)
  37. if not match:
  38. raise ValueError(f"ROI number not found: {name}")
  39. return int(match.group(1))
  40. def main(default_groups=("MCI", "AD"), default_invert=True, default_split=200, default_max=254):
  41. args = parse_args(default_groups, default_invert, default_split, default_max)
  42. matrix = pd.read_csv(args.matrix)
  43. subject_column = matrix.columns[0]
  44. roi_columns = list(matrix.columns[1:])
  45. atlas_img = nib.load(args.atlas)
  46. atlas = atlas_img.get_fdata().astype(int)
  47. args.output_dir.mkdir(parents=True, exist_ok=True)
  48. ranges = (
  49. (f"ROI1_{args.roi_split}", 1, args.roi_split),
  50. (f"ROI{args.roi_split + 1}_{args.roi_max}", args.roi_split + 1, args.roi_max),
  51. )
  52. for group in args.groups:
  53. selected = matrix[subject_column].astype(str).str.contains(group, regex=False, na=False)
  54. group_data = matrix.loc[selected, roi_columns].apply(pd.to_numeric, errors="coerce")
  55. if group_data.empty:
  56. raise ValueError(f"Group not found: {group}")
  57. if args.invert:
  58. group_data = -group_data
  59. for label, lower, upper in ranges:
  60. columns = [column for column in roi_columns if lower <= roi_number(column) <= upper]
  61. if not columns:
  62. continue
  63. tvalues = []
  64. pvalues = []
  65. for column in columns:
  66. values = group_data[column].dropna().to_numpy()
  67. if len(values) < args.min_subjects:
  68. tvalue, pvalue = np.nan, np.nan
  69. else:
  70. result = ttest_1samp(values, 0.0)
  71. tvalue, pvalue = result.statistic, result.pvalue
  72. tvalues.append(tvalue)
  73. pvalues.append(pvalue)
  74. tvalues = np.asarray(tvalues)
  75. pvalues = np.asarray(pvalues)
  76. stats = pd.DataFrame({
  77. "ROI": columns,
  78. "t": tvalues,
  79. "p": pvalues,
  80. "p_FDR": corrected(pvalues, "fdr_bh"),
  81. "p_Bonf": corrected(pvalues, "bonferroni"),
  82. }).sort_values("t", key=lambda values: values.abs(), ascending=False)
  83. stats.to_csv(args.output_dir / f"GOF_{group}_{label}_tstats.csv", index=False)
  84. tmap = np.zeros(atlas.shape, dtype=float)
  85. for column, value in zip(columns, tvalues):
  86. tmap[atlas == roi_number(column)] = value
  87. image = nib.Nifti1Image(tmap.astype(np.float32), atlas_img.affine, atlas_img.header)
  88. image.set_data_dtype(np.float32)
  89. nib.save(image, args.output_dir / f"GOF_{group}_{label}_tmap.nii.gz")
  90. if __name__ == "__main__":
  91. main()

GOF_ttest_AD.py at commit d4b1060, under MIT · at the source

Overview

Authors: Qian Li1, Yiyang Liu2, Qian Chen1,3,4,5, Xin Li1,3,4,5, Yajing Zhu1,3,4,5, Qiming Deng1,3,4,5, Xin Zhang1,3,4,5, Futao Chen1,3,4,5, Yi Zhang1, Danni Ge1, Zhuoru Jiang1, Xi Wu1, Wen Zhang1,3,4,5, Jiaming Lu1,3,4,5, Bing Zhang1,3,4,5
ORCID iDs: Bing Zhang
  1. Department of Radiology, Nanjing Drum Tower Hospital, Affiliated Hospital of Medical School, Nanjing University, Nanjing, China
  2. Department of Psychology, University of Illinois Urbana-Champaign, Champaign, IL, USA
  3. Medical Imaging Center, Nanjing Drum Tower Hospital, Affiliated Hospital of Medical School, Nanjing University, Nanjing, China
  4. Institute of Medical Imaging and Artificial Intelligence, Nanjing University, Nanjing, China
  5. Institute of Brain Science, Nanjing University, Nanjing, China
Journal: Research (Washington, D.C.), volume 9, article 1392
Dates: received 9 March 2026; accepted 20 July 2026; published online 24 August 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.34133/research.1392 · PMID 42638803 · PMCID PMC13500913 · OpenAlex W7169872350
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: other (modality), human (organism), Alzheimer's / dementia (population)
Methods: Connectivity, Statistics, Smoothing, state filtering, decompositions, Machine learning, Preprocessing, fMRI & imaging
Topic: Alzheimer's disease research and treatments (Physiology, Medicine), according to OpenAlex
Funding: National Natural Science Foundation of China (82,271,965, 82330059, 82502306)
Citations: not cited yet (Europe PMC); 50 references in the paper

Abstract

Plasma p-tau217/Aβ42 accurately captures the systemic molecular risk of Alzheimer’s disease (AD) but lacks the spatial resolution necessary to predict individualized clinical trajectories. Here, we combined plasma biomarker stratification with normative connectome mapping to identify macroscale neurodegenerative epicenters and developed a personalized prognostic tool, the Network Vulnerability Index (NVI). Across the Alzheimer’s Disease Neuroimaging Initiative and independent China ADNI cohorts, plasma p-tau217/Aβ42-positive individuals exhibited highly reproducible epicenters tightly anchored to the default mode network and limbic axis. Multiscale analyses revealed that this spatial vulnerability aligned with transcriptomic signatures of synaptic and mitochondrial dysfunction, monoaminergic receptor density gradients, and memory-related cognitive domains. Longitudinally, baseline epicenter centrality strictly dictated future localized atrophy rates. To translate these group-level topological constraints into a personalized prognostic metric, we utilized least absolute shrinkage and selection operator regression to formulate the NVI. Cross-sectionally, the NVI robustly tracked progressive tau-positron emission tomography accumulation (meta-temporal r = 0.547) and hippocampal atrophy (r = −0.455). Crucially, the NVI demonstrated robust, stage-dependent prognostic utility. When evaluated across the continuous disease spectrum, incorporating the NVI into a fully adjusted baseline model comprising plasma p-tau217/Aβ42 and APOE-ε4, and clinical scores significantly improved the prediction of conversion from mild cognitive impairment to dementia (hazard ratio = 1.47, P = 0.004), providing essential incremental prognostic value. Collectively, our spatially contextualized framework demonstrates that mapping systemic molecular risk onto structural network vulnerability supports a highly scalable “plasma pre-screen plus standard MRI” triage pathway for precision staging in Alzheimer’s disease.

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

Repository

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

Jiamingglyy/neuroepicenter-gof

License: MIT
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: d4b1060235c3361276f28792da71c729df7383b3, 15 August 2026
Languages: Python (23)
Size: 25 files, 23 scripts
Software Heritage: not archived
Found in: “Data Availability”
Holds: README, license file
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Tools: pandas (5 files), NiBabel (4 files), NumPy (4 files), SciPy (2 files)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
25 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;
  • 23 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

ADNI data are available from the ADNI data portal (https://adni.loni.usc.edu/). HCP Young Adult data are available from ConnectomeDB (https://www.humanconnectome.org/) and the NIMH Data Archive (https://nda.nih.gov/ccf/hcp). C-ADNI data are available from the study investigators upon reasonable request and with institutional approvals. The analysis code is publicly available at https://github.com/Jiamingglyy/neuroepicenter-gof.

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

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 2, 28 September 2026

  • Funding: added National Natural Science Foundation of China: 82,271,965, 82330059, 82502306

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, pages, dates, 15 authors, 48 references.

Cite

This paper

Li, Q., Liu, Y., Chen, Q., Li, X., Zhu, Y., Deng, Q., Zhang, X., Chen, F., Zhang, Y., Ge, D., Jiang, Z., Wu, X., Zhang, W., Lu, J., & Zhang, B. (2026). Neuroimaging Epicenters as Vulnerable Nodes in Plasma p-tau217/Aβ42-Positive Alzheimer's Disease. Research (Washington, D.C.), 9, 1392. https://doi.org/10.34133/research.1392

BibTeX

@article{li2026neuroimaging,
author = {Li, Qian and Liu, Yiyang and Chen, Qian and Li, Xin and Zhu, Yajing and Deng, Qiming and Zhang, Xin and Chen, Futao and Zhang, Yi and Ge, Danni and Jiang, Zhuoru and Wu, Xi and Zhang, Wen and Lu, Jiaming and Zhang, Bing},
title = {{Neuroimaging Epicenters as Vulnerable Nodes in Plasma p-tau217/Aβ42-Positive Alzheimer's Disease}},
journal = {Research (Washington, D.C.)},
year = {2026},
month = aug,
volume = {9},
pages = {1392},
publisher = {American Association for the Advancement of Science},
issn = {2639-5274},
doi = {10.34133/research.1392},
url = {https://doi.org/10.34133/research.1392},
pmid = {42638803},
pmcid = {PMC13500913}
}

RIS

TY - JOUR
AU - Li, Qian
AU - Liu, Yiyang
AU - Chen, Qian
AU - Li, Xin
AU - Zhu, Yajing
AU - Deng, Qiming
AU - Zhang, Xin
AU - Chen, Futao
AU - Zhang, Yi
AU - Ge, Danni
AU - Jiang, Zhuoru
AU - Wu, Xi
AU - Zhang, Wen
AU - Lu, Jiaming
AU - Zhang, Bing
TI - Neuroimaging Epicenters as Vulnerable Nodes in Plasma p-tau217/Aβ42-Positive Alzheimer's Disease
T2 - Research (Washington, D.C.)
J2 - Research (Wash D C)
PY - 2026
DA - 2026/08/24
VL - 9
SP - 1392
SN - 2639-5274
PB - American Association for the Advancement of Science
DO - 10.34133/research.1392
UR - https://doi.org/10.34133/research.1392
LA - en
ER -

CSL-JSON

{
"id": "10.34133/research.1392",
"type": "article-journal",
"title": "Neuroimaging Epicenters as Vulnerable Nodes in Plasma p-tau217/Aβ42-Positive Alzheimer's Disease",
"container-title": "Research (Washington, D.C.)",
"author": [
{
"family": "Li",
"given": "Qian"
},
{
"family": "Liu",
"given": "Yiyang"
},
{
"family": "Chen",
"given": "Qian"
},
{
"family": "Li",
"given": "Xin"
},
{
"family": "Zhu",
"given": "Yajing"
},
{
"family": "Deng",
"given": "Qiming"
},
{
"family": "Zhang",
"given": "Xin"
},
{
"family": "Chen",
"given": "Futao"
},
{
"family": "Zhang",
"given": "Yi"
},
{
"family": "Ge",
"given": "Danni"
},
{
"family": "Jiang",
"given": "Zhuoru"
},
{
"family": "Wu",
"given": "Xi"
},
{
"family": "Zhang",
"given": "Wen"
},
{
"family": "Lu",
"given": "Jiaming"
},
{
"family": "Zhang",
"given": "Bing"
}
],
"container-title-short": "Research (Wash D C)",
"volume": "9",
"page": "1392",
"DOI": "10.34133/research.1392",
"PMID": "42638803",
"PMCID": "PMC13500913",
"ISSN": "2639-5274",
"publisher": "American Association for the Advancement of Science",
"URL": "https://doi.org/10.34133/research.1392",
"language": "en",
"issued": {
"date-parts": [
[
2026,
8,
24
]
]
}
}

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.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: NiBabel, pandas, SciPy, 1 other tool, other, Alzheimer's / dementia, 5 references
[2] doi:10.1038/s42003-026-10388-5 [code]
Hierarchical organization of tau topography across the Alzheimer's disease continuum integrates amyloid, connectome, and intrinsic molecular vulnerability.
Journal: Communications biology
In common: Alzheimer's / dementia, 7 references
[3] doi:10.1002/alz.71530 [code]
Differential associations of plasma biomarkers with Alzheimer's disease and small vessel disease: A multimodal imaging study.
Journal: Alzheimer's & dementia : the journal of the Alzheimer's Association
In common: NiBabel, pandas, SciPy, 1 other tool, other, Alzheimer's / dementia, 4 references
[4] doi:10.1038/s44400-026-00101-y
Functional network contributions to longitudinal tau spread in Posterior Cortical Atrophy.
Journal: NPJ dementia
In common: Alzheimer's / dementia, 6 references
[5] 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: NiBabel, NumPy, Alzheimer's / dementia, 6 references
[6] doi:10.1093/brain/awaf375 [code]
Reference proteins to improve Core 1 and Core 2 Alzheimer's disease CSF and plasma biomarkers.
Journal: Brain : a journal of neurology
In common: pandas, NumPy, other, Alzheimer's / dementia, 5 references
[7] 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: Alzheimer's / dementia, 6 references
[8] doi:10.3389/fnagi.2026.1847611 [code]
APOE ε4-associated hippocampal atrophy trajectories across the Alzheimer's disease continuum: a systematic review, meta-analysis, and longitudinal validation.
Journal: Frontiers in aging neuroscience
In common: pandas, SciPy, NumPy, Alzheimer's / dementia, 5 references
[9] doi:10.1002/alz.71711 [code]
Exploring longitudinal relationships among Alzheimer's disease biomarkers.
Journal: Alzheimer's & dementia : the journal of the Alzheimer's Association
In common: other, Alzheimer's / dementia, 5 references
[10] doi:10.1038/s41467-026-75959-w [code]
Charting higher-order models of brain function beyond pairwise interactions.
Journal: Nature communications
In common: NiBabel, pandas, SciPy, 1 other tool, 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.