OSCR

Testing for Network Specificity in Brain-Behavior Associations Using Ordinal Dominance Curves.

Code ↔ Paper

5 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 5 matches
  1. [1] § Methods › Null Hypothesis ↔ R/NETDOM.R, lines 1–52 · score 0.54 · linear regression model, network map, outside, variable, NETDOM
  2. [2] § Methods › Network Enrichment Testing Framework › NETDOM Overview ↔ Python/example.ipynb, lines 52–73 · score 0.54 · Freedman Lane procedure, regression model, phenotype, matrix, location, permutation
  3. [3] § Methods › Null Hypothesis ↔ R/NEST.R, lines 1–49 · score 0.52 · linear regression model, network map, outside, variable, enrichment
  4. [4] § Methods › Plasmode Simulations ↔ Python/example.ipynb, lines 52–73 · score 0.51 · Freedman Lane, regression model, linear model, covariates, vector, fit
  5. [5] § Methods › Data › Adolescent Brain Cognitive Development Study ↔ Python/example.ipynb, lines 14–36 · score 0.51 · medial wall, sex, age, demographic, vertex, Brain

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 · 105 lines · 5 KB · no license · 3 matches

  1. # %% [markdown]
  2. # #### Step 1: Prepare the data
  3. # %% [markdown]
  4. # import necessary libraries for loading the data:
  5. #
  6. # nibabel for reading and writing neuroimaging data.
  7. # numpy for numerical operations and array handling.
  8. # %%
  9. import nibabel as nb
  10. import numpy as np
  11. # %% [markdown]
  12. # This cell loads and preprocesses the brain imaging data and phenotype (demographic) information:
  13. #
  14. # - Brain imaging data (cifti_data) is loaded from a .nii file.
  15. # - Network labels (network_label) are loaded and filtered to remove unspecified indices (-1).
  16. # - Binary vectors (net_6, net_7) are created for two specific networks, indicating vertex membership.
  17. # - Phenotype data (age, sex) is loaded and combined into a single array (phenotype).
  18. # %%
  19. # load brain imaging data
  20. cifti_data = nb.load('./Dataset/HCP_WB_Tutorial_1.0/Q1-Q6_R440.All.sulc.32k_fs_LR.dscalar.nii').get_fdata(dtype=np.float32) # (replace with code to load your data)
  21. network_labels = np.load('./Dataset/network_label_yeo7.npz')['arr_0'] # (replace with code to load your network labels)
  22. idx = network_labels!=-1 # identify which locations should be ignored (e.g., medial wall)
  23. network_label = network_labels[idx] # remove labels outside idx
  24. X = cifti_data[:,idx] # subset image (X) locations to idx
  25. # generate binary vector for each network, 0-> specific vertex does not belong to the network, 1-> specific vertex belongs to the network.
  26. net_7 = np.where(network_label!=7,0,1) # create a binary vector with 1's at locations corresponding to network 7 and 0's at locations outside network 7
  27. # Phenotype of interest (y) and covariates (Z)
  28. y = np.load('./Dataset/R440_age.npz')['arr_0'] # replace with code to load your phenotype (e.g., age)
  29. Z = np.load('./Dataset/R440_gender.npz')['arr_0'] # replace with code to load other covariates/confounders (e.g., sex)
  30. # %% [markdown]
  31. # Print the shapes of the processed data arrays to verify their dimensions, ensuring they are correct for subsequent analysis. In this example, the sample size is 440 and number of vertices is 58606.
  32. # %%
  33. X.shape, y.shape, Z.shape, net_7.shape
  34. # %% [markdown]
  35. # #### Step 2: Import the NEST package after the installation.
  36. #
  37. # The package can be installed via 'pip install nest-sw'
  38. # %%
  39. from NEST import nest
  40. # %% [markdown]
  41. # #### Step 3: Define the following dictionary of arguments passed to the nest method. The args can be defined as follows, assuming vertex-wise linear models will be fit to estimate local brain-phenotype associations (i.e., specifying statFun='lm' in step 4.).
  42. #
  43. # - X: N x P matrix (numpy array) of P imaging features (e.g., vertices) for N participants.
  44. #
  45. # - y: N-dimensional vector of phenotype of interest (i.e., testing enrichment of X-y associations).
  46. #
  47. # - Z: Optional. Specify one or more covariates (matrix with N rows and q columns for q covariates). Default is NULL (no covariates to be included).
  48. #
  49. # - FL: Optional (default is False). Set to True to use Freedman-Lane procedure to account for dependence between covariates in permutation.
  50. #
  51. # - n_perm: Optional (default is 999, with smallest possible p-value of 1/1000).
  52. # %%
  53. args = {
  54. 'X': X, # brain measurements (dimension N subjects x P image locations).
  55. 'y': y, # phenotype of interest (dimension N).
  56. 'Z': Z, # covariates (dimension (N x # number of covariates).
  57. 'type': 'coef', # what type of test statistic to extract from linear regression model.
  58. 'FL': False, # Not use Freedman-Lane procedure.
  59. 'n_perm': 999 # how many permutations to use to obtain null distribution.
  60. }
  61. # %% [markdown]
  62. # ##### Step 4: Apply NEST to test enrichment of brain-phenotype associations in specified network.
  63. # %%
  64. pval,ES_obs,ES_null,_ = nest(statFun='lm', # use linear regression to get vertex-level test statistics
  65. args=args, # arguments specified above (specific to statFun="lm")
  66. net_maps=net_7, # list of binary indicating locations inside (1) or outside (1) network(s) of interest.
  67. one_sided=True, # Determines whether the enrichment score calculation should consider only the positive alignment (True) or both directions (False).
  68. seed=None, # Random seed for reproducible permutation. Default is None.
  69. )
  70. # %% [markdown]
  71. # Print the p-value and observed enrichment score
  72. # %%
  73. pval
  74. # %% [markdown]
  75. # Print the enrichment scores for null distribution
  76. # %% [markdown]
  77. # NEST also supports the use of customized statistical functions for calculating associations.
  78. # This advanced feature allows for more tailored analysis that fits specific research questions or datasets.
  79. # To utilize a custom statistical function, specify the arguments `statFun = 'custom'` and `statFun_custom = custom_func`
  80. # alongside the corresponding arguments required by your function.
  81. # %%
  82. pval,ES_obs,ES_null,_ = nest(statFun='custom',args=custom_args,net_maps=net_7,statFun_custom = custom_func) # custom_fun is your customized statistical functions for calculating associations.
  83. # %%

example.ipynb at commit b5d8213, no license · at the source

Overview

Authors: Noah Hillman1, Sarah M. Weinstein2, Joëlle Bagautdinova3,4,5, Kevin Y. Sun3,4,5, Matthew Cieslak3,4,5, Taylor Salo3,4,5, Yong Fan6,7,8, Arielle S. Keller9,10, Aaron F. Alexander‐Bloch3,5,11, Simon N. Vandekar12, Armin Raznahan13, Theodore D. Satterthwaite3,4,5, Haochang Shou1,6, Russell T. Shinohara1,6
13 affiliations
  1. Penn Statistics in Imaging and Visualization Endeavor, Department of Biostatistics, Epidemiology, and Informatics, Perelman School of Medicine University of Pennsylvania Philadelphia Pennsylvania USA
  2. Department of Epidemiology and Biostatistics Temple University College of Public Health Philadelphia Pennsylvania USA
  3. Penn Lifespan Informatics and Neuroimaging Center, Department of Psychiatry, Perelman School of Medicine University of Pennsylvania Philadelphia Pennsylvania USA
  4. Lifespan Brain Institute (LiBI) Children’s Hospital of Pennsylvania and Perelman School of Medicine Philadelphia Pennsylvania USA
  5. Department of Psychiatry, Perelman School of Medicine University of Pennsylvania Philadelphia Pennsylvania USA
  6. Center for AI and Data Science for Integrated Diagnostics (AI2D), Perelman School of Medicine University of Pennsylvania Philadelphia Pennsylvania USA
  7. Department of Radiology, Perelman School of Medicine University of Pennsylvania Philadelphia Pennsylvania USA
  8. Center for Biomedical Image Computation and Analytics (CBICA), Perelman School of Medicine University of Pennsylvania Philadelphia Pennsylvania USA
  9. Department of Psychological Sciences University of Connecticut Storrs Connecticut USA
  10. Institute for the Brain and Cognitive Sciences University of Connecticut Storrs Connecticut USA
  11. Department of Child and Adolescent Psychiatry and Behavioral Science Children’s Hospital of Philadelphia Philadelphia Pennsylvania USA
  12. Department of Biostatistics Vanderbilt University Medical Center Nashville Tennessee USA
  13. Section on Developmental Neurogenomics National Institute of Mental Health Intramural Research Program Bethesda Maryland USA
Journal: Human brain mapping, volume 47, issue 5, article e70493
Dates: received 3 September 2025; accepted 26 February 2026; published online 23 March 2026; in print April 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1002/hbm.70493 · PMID 41872989 · PMCID PMC13081700 · OpenAlex W7140213388
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), systems (subfield)
Methods: Connectivity, Statistics, Smoothing, state filtering, decompositions, Machine learning, fMRI & imaging, Preprocessing
Keywords: brain networks, brain‐behavior associations, brain‐wide association studies, enrichment, hypothesis testing, intersection–union testing, ordinal dominance curves
MeSH: Brain*, Brain Mapping*, Nerve Net*, Computer Simulation, Humans, Magnetic Resonance Imaging, Neural Pathways (* major topic)
Topic: Functional Brain Connectivity Studies (Cognitive Neuroscience, Neuroscience), according to OpenAlex
Citations: cited by 1 paper (Europe PMC); 82 references in the paper

Abstract

Interpreting brain‐behavior relationships through the lens of anatomical parcellations or functional networks is commonplace in human brain mapping. However, statistical approaches for testing whether brain–behavior associations are stronger (i.e., enriched) within a region of interest remain underdeveloped. Here, we propose a permutation‐based approach for network enrichment testing using ordinal dominance curves (NETDOM). In simulation studies, we demonstrate that NETDOM properly controls the type I error rate—unlike other prominent enrichment methods—while exhibiting increased statistical power when enrichment occurs in a subset of in‐network locations. Using data from two large‐scale neurodevelopmental cohorts, we illustrate that NETDOM effectively detects enriched associations between structural and functional brain measures and neurocognitive performance.

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

Repositories

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

smweinst/NEST

License: none: the authors keep all their rights
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: b5d8213773af7f177b3da315863f735ddd88a2aa, 23 January 2025
Languages: R (8), Python (7), Jupyter (1)
Size: 32 files, 16 scripts
Software Heritage: not archived
Found in: the text, “Network Enrichment Significance Testing”
Holds: README, environment (DESCRIPTION), documentation, 1 notebook
Not found: license file, CITATION.cff, tests, continuous integration
Tools: NumPy (7 files), NiBabel (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
17 files

Nhillman19/NETDOM

License: none: the authors keep all their rights
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: cca7fbc1331ec15049913c6a7f10db3686f85086, 15 April 2026
Languages: R (9)
Size: 23 files, 9 scripts
Software Heritage: not archived
Found in: “Data Availability Statement”
Holds: README, environment (DESCRIPTION), documentation
Not found: license file, CITATION.cff, tests, continuous integration
Tools: mgcv (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
10 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:

  • 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 25 scripts, each with its path and the digest of its content;
  • 5 matches between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

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

Data Availability Statement

Neuroimaging and behavioral data were obtained from the Philadelphia Neurodevelopmental Cohort (PNC) and Adolescent Brain Cognitive Development (ABCD) study. Access to PNC data can be requested at https://www.ncbi.nlm.nih.gov/projects/gap/cgi‐bin/study.cgi?study_id=phs000607.v3.p2 (https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs000607.v3.p2). ABCD data used in this study was acquired from the NIMH Data Archive (NDA) at https://abcdstudy.org. ABCD Study data is available to investigators with an approved NDA Data Use Certification (DUC). Code is available at https://github.com/Nhillman19/NETDOM.

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, 14 authors, 7 keywords, 7 MeSH terms, 5 funders, 80 references.

Cite

This paper

Hillman, N., Weinstein, S. M., Bagautdinova, J., Sun, K. Y., Cieslak, M., Salo, T., Fan, Y., Keller, A. S., Alexander‐Bloch, A. F., Vandekar, S. N., Raznahan, A., Satterthwaite, T. D., Shou, H., & Shinohara, R. T. (2026). Testing for Network Specificity in Brain-Behavior Associations Using Ordinal Dominance Curves. Human brain mapping, 47(5), e70493. https://doi.org/10.1002/hbm.70493

BibTeX

@article{hillman2026testing,
author = {Hillman, Noah and Weinstein, Sarah M. and Bagautdinova, Joëlle and Sun, Kevin Y. and Cieslak, Matthew and Salo, Taylor and Fan, Yong and Keller, Arielle S. and Alexander‐Bloch, Aaron F. and Vandekar, Simon N. and Raznahan, Armin and Satterthwaite, Theodore D. and Shou, Haochang and Shinohara, Russell T.},
title = {{Testing for Network Specificity in Brain-Behavior Associations Using Ordinal Dominance Curves}},
journal = {Human brain mapping},
year = {2026},
month = apr,
volume = {47},
number = {5},
pages = {e70493},
publisher = {Wiley},
issn = {1065-9471},
doi = {10.1002/hbm.70493},
url = {https://doi.org/10.1002/hbm.70493},
pmid = {41872989},
pmcid = {PMC13081700}
}

RIS

TY - JOUR
AU - Hillman, Noah
AU - Weinstein, Sarah M.
AU - Bagautdinova, Joëlle
AU - Sun, Kevin Y.
AU - Cieslak, Matthew
AU - Salo, Taylor
AU - Fan, Yong
AU - Keller, Arielle S.
AU - Alexander‐Bloch, Aaron F.
AU - Vandekar, Simon N.
AU - Raznahan, Armin
AU - Satterthwaite, Theodore D.
AU - Shou, Haochang
AU - Shinohara, Russell T.
TI - Testing for Network Specificity in Brain-Behavior Associations Using Ordinal Dominance Curves
T2 - Human brain mapping
J2 - Hum Brain Mapp
PY - 2026
DA - 2026/04/01
VL - 47
IS - 5
SP - e70493
SN - 1065-9471
PB - Wiley
DO - 10.1002/hbm.70493
UR - https://doi.org/10.1002/hbm.70493
LA - en
ER -

CSL-JSON

{
"id": "10.1002/hbm.70493",
"type": "article-journal",
"title": "Testing for Network Specificity in Brain-Behavior Associations Using Ordinal Dominance Curves",
"container-title": "Human brain mapping",
"author": [
{
"family": "Hillman",
"given": "Noah"
},
{
"family": "Weinstein",
"given": "Sarah M."
},
{
"family": "Bagautdinova",
"given": "Joëlle"
},
{
"family": "Sun",
"given": "Kevin Y."
},
{
"family": "Cieslak",
"given": "Matthew"
},
{
"family": "Salo",
"given": "Taylor"
},
{
"family": "Fan",
"given": "Yong"
},
{
"family": "Keller",
"given": "Arielle S."
},
{
"family": "Alexander‐Bloch",
"given": "Aaron F."
},
{
"family": "Vandekar",
"given": "Simon N."
},
{
"family": "Raznahan",
"given": "Armin"
},
{
"family": "Satterthwaite",
"given": "Theodore D."
},
{
"family": "Shou",
"given": "Haochang"
},
{
"family": "Shinohara",
"given": "Russell T."
}
],
"container-title-short": "Hum Brain Mapp",
"volume": "47",
"issue": "5",
"page": "e70493",
"DOI": "10.1002/hbm.70493",
"PMID": "41872989",
"PMCID": "PMC13081700",
"ISSN": "1065-9471",
"publisher": "Wiley",
"URL": "https://doi.org/10.1002/hbm.70493",
"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-74153-2 [code]
Regional, functional and transcriptomic decoding of multidimensional brain structure alterations in obsessive-compulsive disorder.
Journal: Nature communications
In common: statsmodels, NiBabel, scikit-learn, 1 other tool, 8 references
[2] doi:10.1038/s41467-026-73668-y [code]
Convergent and divergent brain-cognition development in early adolescence.
Journal: Nature communications
In common: NiBabel, scikit-learn, NumPy, 8 references
[3] doi:10.7554/elife.103097 [code]
Canonical neurodevelopmental trajectories of structural and functional manifolds.
Journal: eLife
In common: mgcv, statsmodels, NiBabel, 2 other tools, 6 references
[4] doi:10.1002/advs.202523009 [code]
Personalized Network-Guided Neuromodulation Enhances Human Working Memory.
Journal: Advanced science (Weinheim, Baden-Wurttemberg, Germany)
In common: mgcv, statsmodels, scikit-learn, 1 other tool, 5 references
[5] doi:10.1038/s41562-026-02447-y [code]
Feature selection leads to divergent neurobiological interpretations of brain-based machine learning biomarkers.
Journal: Nature human behaviour
In common: 8 references
[6] doi:10.1038/s41467-026-73072-6 [code]
Mapping the spatiotemporal continuum of structural connectivity development across the human connectome in youth.
Journal: Nature communications
In common: mgcv, statsmodels, NiBabel, 1 other tool, 5 references
[7] doi:10.1038/s41467-026-73262-2 [code]
Robust but independent sex differences in human brain function, structure, and behavior.
Journal: Nature communications
In common: 6 references, author Armin Raznahan
[8] doi:10.1038/s41467-026-75959-w [code]
Charting higher-order models of brain function beyond pairwise interactions.
Journal: Nature communications
In common: statsmodels, NiBabel, scikit-learn, 1 other tool, 5 references
[9] doi:10.1038/s41467-026-72940-5 [code]
Cerebellar growth is associated with domain-specific cerebral maturation and socio-linguistic behavior.
Journal: Nature communications
In common: statsmodels, NiBabel, scikit-learn, 1 other tool, 4 references
[10] doi:10.1002/hbm.70605 [code]
BrainEnrich: Revealing Biological Insights for Imaging-Derived Phenotypes Through Transcriptomic Enrichment.
Journal: Human brain mapping
In common: NiBabel, scikit-learn, NumPy, 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.