OSCR

Model-based and model-free valuation signals in the human brain vary markedly in relation to individual differences in behavioral control.

Code ↔ Paper

15 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 15 matches · 3 of them tie a paragraph to a whole file, not to given lines: weak matches, whose lines are not tinted
  1. [1] § STAR★METHODS › METHOD DETAILS › Task design ↔ task_code/defineRewardProbability.m, the whole file · a weak match · score 0.85 · decay slope, Sigmoid function, reward probabilities, asymptote, reversal, reversed
  2. [2] § STAR★METHODS › EXPERIMENTAL MODEL AND STUDY PARTICIPANT DETAILS › Exclusion Criteria ↔ motion_threshold_exclusion.py, lines 131–191 · score 0.84 · motion threshold, head motion, framewise displacement, FD threshold, confounds, volumes
  3. [3] § STAR★METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Functional data preprocessing ↔ motion_threshold_exclusion.py, lines 131–191 · score 0.78 · Head motion, framewise displacement, derivatives, Frames, fMRIPrep, thresholding
  4. [4] § RESULTS › Computational variables and behavioral clusters ↔ supplemented_analysis/comp_variables_model_BIC_groups.m, lines 616–671 · score 0.74 · fixed weight mixture, model comparison, arbitration mixture model, MF model, MB model, AIC
  5. [5] § STAR★METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Functional MRI data analysis ↔ motion_threshold_exclusion.py, lines 193–231 · score 0.71 · framewise displacement, FD threshold, fMRI, motion, volumes
  6. [6] § STAR★METHODS › METHOD DETAILS › Task design ↔ task_code/buildTrials_dynamic.m, the whole file · a weak match · score 0.68 · reward probabilities, terminal states, dynamics, reward contingency, state transition, block
  7. [7] § STAR★METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Computational Models ↔ comp_variables_model_BIC.m, lines 104–180 · score 0.62 · candidate models, Fixed weight Mixture, Arbitration Mixture model, variables, MF, MB
  8. [8] § STAR★METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Computational Models ↔ supplemented_analysis/comp_variables_model_BIC_groups.m, lines 185–271 · score 0.62 · candidate models, Fixed weight Mixture, Arbitration Mixture model, variables, MF, MB
  9. [9] § RESULTS › Computational variables and behavioral clusters ↔ supplemented_analysis/generateData_magMF_binMB_mbRPE_mfRPE_SPE_rewMag_WSLS.m, lines 357–437 · score 0.61 · state prediction errors, terminal state, MF RPE, MB RPE, binary, SPEs
  10. [10] § STAR★METHODS › METHOD DETAILS › Space miner task ↔ task_code/initIO.m, lines 64–162 · score 0.60 · yellow ship, South, landing pad, North, gem, space
  11. [11] § STAR★METHODS › METHOD DETAILS › Task design ↔ supplemented_analysis/generateData_magMF_binMB_mbRPE_mfRPE_SPE_rewMag_WSLS.m, lines 86–127 · score 0.58 · MB RPEs, terminal states, transition probabilities, landing pads, State transition, planet
  12. [12] § RESULTS › Sub-group differences in neural correlates of MB and MF decision values ↔ ROI_betas_group_stats.m, lines 155–199 · score 0.58 · beta coefficients, vmPFC, MF decision, MB decision, ROI, Sub
  13. [13] § RESULTS › Computational variables and behavioral clusters ↔ cluster_allocation.m, lines 58–177 · score 0.51 · outcome transition coefficients, clustering features, centroids, mixture, MF, MB
  14. [14] § STAR★METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Behavioral Clustering ↔ cluster_features_generation.m, lines 1–134 · score 0.51 · clustering features, outcome transition, intercept, RT, regression, model
  15. [15] § STAR★METHODS › METHOD DETAILS › Task design ↔ task_code/buildTrials_dynamic.m, the whole file · a weak match · score 0.50 · terminal states, offset, transition probabilities, State transition, reward magnitude, switched

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 · 235 lines · 6.4 KB · no license · 3 matches

  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. Created on Sat Dec 30 14:29:12 2023
  5. @author: olab
  6. """
  7. import numpy as np
  8. import pandas as pd
  9. import os
  10. import json
  11. #import pickle as pk
  12. #import scipy.io as sio
  13. import csv
  14. import glob
  15. #import codecs
  16. fileDirectory='/Users/olab/tolmanRM/home'
  17. #fileDirectory='/home'
  18. results = fileDirectory+'/shared/MBMF_Hab/mbmf_badvols/'
  19. participants_control_patient = pd.read_excel(fileDirectory + '/shared/MBMF_Hab/R01_Participants_Control_Patient_Info.xlsx')
  20. sub_path =fileDirectory+'/shared/MBMF_Hab/MBMF_Hab_bids/derivatives/fmriprep-23p1p3/'
  21. allFiles=os.listdir(sub_path)
  22. sublist = [f for f in allFiles if f[0:3] == 'sub' and f[-4:] != 'html' ]
  23. fd_threshold_runs=[]
  24. new_confounds_mbmf_summaryStats = pd.DataFrame(columns = (['participant',
  25. 'badVols_run1',
  26. 'badVols_run2']),dtype='object')
  27. for f in sublist:
  28. idx = f[4:]==participants_control_patient.ScanID
  29. cp=participants_control_patient.Control_Patient[idx]
  30. path = fileDirectory+'/shared/MBMF_Hab/MBMF_Hab_bids/derivatives/fmriprep-23p1p3/' + f + '/func/'
  31. files = os.listdir(path)
  32. summary = pd.DataFrame(columns = (['participant']), dtype='object')
  33. os.chdir(path)
  34. #os.chdir(f)
  35. print(f)
  36. #funcData = 'func/'
  37. #print(funcData)
  38. #os.chdir(funcData)
  39. data_mbmfRun1 = pd.read_csv (f + '_task-MBMF_run-1_desc-confounds_timeseries.tsv', sep = '\t')
  40. data_mbmfRun2 = pd.read_csv (f + '_task-MBMF_run-2_desc-confounds_timeseries.tsv', sep = '\t')
  41. scubbedVols = pd.DataFrame(columns = ([]))
  42. new_confounds_mbmfRun1 = pd.DataFrame(columns = ([ 'framewise_displacement',
  43. 'badVolumes']), dtype='object')
  44. new_confounds_mbmfRun2 = pd.DataFrame(columns = ([ 'framewise_displacement',
  45. 'badVolumes']), dtype='object')
  46. new_confounds_mbmfRun1['framewise_displacement'] = data_mbmfRun1.framewise_displacement
  47. new_confounds_mbmfRun1.loc[0,'framewise_displacement'] = 0
  48. fd =new_confounds_mbmfRun1['framewise_displacement']
  49. q3, q1 = np.percentile(fd, [75 ,25])
  50. iqr = q3 - q1
  51. threshold = q3+1.5*iqr;
  52. #threshold_std = np.mean(fd[1:])+2.5*np.std(fd[1:])
  53. fd_threshold_runs.append(threshold)
  54. new_confounds_mbmfRun2['framewise_displacement'] = data_mbmfRun2.framewise_displacement
  55. new_confounds_mbmfRun2.loc[0,'framewise_displacement'] = 0
  56. fd =new_confounds_mbmfRun2['framewise_displacement']
  57. q3, q1 = np.percentile(fd, [75 ,25])
  58. iqr = q3 - q1
  59. threshold = q3+1.5*iqr;
  60. #threshold_std = np.mean(fd[1:])+2.5*np.std(fd[1:])
  61. fd_threshold_runs.append(threshold)
  62. # estimate motion threshold (0.77) based upon population distribution 522 runs of both controls and patients fMRI motion data
  63. x=np.asarray(fd_threshold_runs)
  64. q3, q1 = np.percentile(x, [75 ,25])
  65. iqr = q3 - q1
  66. threshold = q3+1.5*iqr; # threshold =0.77
  67. # Use the estimated motion threshold (0.77) for participant exclusion due to too much head motion
  68. for f in sublist:
  69. idx = f[4:]==participants_control_patient.ScanID
  70. cp=participants_control_patient.Control_Patient[idx]
  71. path = fileDirectory+'/shared/MBMF_Hab/MBMF_Hab_bids/derivatives/fmriprep-23p1p3/' + f + '/func/'
  72. files = os.listdir(path)
  73. summary = pd.DataFrame(columns = (['participant']), dtype='object')
  74. os.chdir(path)
  75. #os.chdir(f)
  76. print(f)
  77. #funcData = 'func/'
  78. #print(funcData)
  79. #os.chdir(funcData)
  80. data_mbmfRun1 = pd.read_csv (f + '_task-MBMF_run-1_desc-confounds_timeseries.tsv', sep = '\t')
  81. data_mbmfRun2 = pd.read_csv (f + '_task-MBMF_run-2_desc-confounds_timeseries.tsv', sep = '\t')
  82. scubbedVols = pd.DataFrame(columns = ([]))
  83. new_confounds_mbmfRun1 = pd.DataFrame(columns = ([ 'framewise_displacement',
  84. 'badVolumes']), dtype='object')
  85. new_confounds_mbmfRun2 = pd.DataFrame(columns = ([ 'framewise_displacement',
  86. 'badVolumes']), dtype='object')
  87. new_confounds_mbmfRun1['framewise_displacement'] = data_mbmfRun1.framewise_displacement
  88. new_confounds_mbmfRun1.loc[0,'framewise_displacement'] = 0
  89. fd_threshold = 0.77
  90. FD_run1 = new_confounds_mbmfRun1['framewise_displacement']
  91. badVols_run1 = FD_run1>fd_threshold
  92. new_confounds_mbmfRun1['badVolumes'] = badVols_run1
  93. new_confounds_mbmfRun1['badVolumes'] = new_confounds_mbmfRun1['badVolumes']*1
  94. num_bad_vols_run1 = sum(badVols_run1)
  95. percent_bad_vols_run1 = num_bad_vols_run1/len(data_mbmfRun1)*100
  96. print(percent_bad_vols_run1 )
  97. new_confounds_mbmfRun1_clear = new_confounds_mbmfRun1.drop(new_confounds_mbmfRun1[new_confounds_mbmfRun1.badVolumes == 1].index)
  98. new_confounds_mbmfRun2['framewise_displacement'] = data_mbmfRun2.framewise_displacement
  99. new_confounds_mbmfRun2.loc[0,'framewise_displacement'] = 0
  100. fd_threshold = 0.77
  101. FD_run2 = new_confounds_mbmfRun2['framewise_displacement']
  102. badVols_run2 = FD_run2>fd_threshold
  103. new_confounds_mbmfRun2['badVolumes'] = badVols_run2
  104. new_confounds_mbmfRun2['badVolumes'] = new_confounds_mbmfRun2['badVolumes']*1
  105. num_bad_vols_run2 = sum(badVols_run2)
  106. percent_bad_vols_run2 = num_bad_vols_run2/len(data_mbmfRun2)*100
  107. print(percent_bad_vols_run2 )
  108. new_confounds_mbmfRun2_clear = new_confounds_mbmfRun2.drop(new_confounds_mbmfRun2[new_confounds_mbmfRun2.badVolumes == 1].index)
  109. new_confounds_mbmf_summaryStats = new_confounds_mbmf_summaryStats._append({'participant':f, 'badVols_run1':percent_bad_vols_run1, 'badVols_run2':percent_bad_vols_run2}, ignore_index = True)
  110. import matplotlib.pyplot as plt
  111. plt.hist(x)
  112. plt.show()
  113. exclude_participant=[]
  114. for i in range(0,new_confounds_mbmf_summaryStats.shape[0]):
  115. bV_run1 = new_confounds_mbmf_summaryStats.loc[i,'badVols_run1']
  116. bV_run2 = new_confounds_mbmf_summaryStats.loc[i,'badVols_run2']
  117. if bV_run1>=15 or bV_run2>=15:
  118. exclude_participant.append(new_confounds_mbmf_summaryStats.loc[i,'participant'])
  119. print(exclude_participant) # excluded participant IDs based upon fMRI motion

motion_threshold_exclusion.py at commit 53dffec, no license · at the source

Overview

Authors: Weilun Ding1, Jeffrey Cockburn1,2, Julia Pia Simon1, Amogh Johri1, Scarlet J Cho1,3, Sarah Oh1,4, Jamie D Feusner5,6,7, Reza Tadayonnejad1,8,9, John P O’Doherty1,10
ORCID iDs: Jamie D Feusner
  1. Division of Humanities & Social Sciences, California Institute of Technology, Pasadena, CA, USA
  2. Psychological & Brain Sciences, University of Iowa, Iowa City, IA, USA
  3. Department of Psychology, University of California, Irvine, Irvine, CA, USA
  4. Department of Psychology, University of California, Berkeley, Berkeley, CA, USA
  5. Centre for Addiction and Mental Health, 250 College St., Toronto, ON M5T 1R8, Canada
  6. Department of Psychiatry, University of Toronto, Toronto, ON, Canada
  7. Department of Women’s and Children’s Health, Karolinska Institutet, Stockholm, Sweden
  8. Department of Psychiatry and Biobehavioral Sciences, David Geffen School of Medicine at UCLA, Los Angeles, CA, USA
  9. TMS Clinical and Research Service, Neuromodulation Division, Semel Institute for Neuroscience and Human Behavior at UCLA, Los Angeles, CA, USA
  10. Lead contact
Journal: Cell reports, volume 45, issue 6, article 117454
Dates: published online 1 June 2026; in print 23 June 2026
Type: Research article · Language: English
License: CC BY-NC-ND
Identifiers: DOI 10.1016/j.celrep.2026.117454 · PMID 42228569 · PMCID PMC13427246 · OpenAlex W7162989927
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), cognitive (subfield)
Methods: Connectivity, Statistics, Smoothing, state filtering, decompositions, Machine learning, Preprocessing, fMRI & imaging
Keywords: Reinforcement Learning, Individual Differences, Prediction Errors, Cp: Neuroscience, Decision Value, Model-based Model-free
MeSH: Behavior*, Brain*, Individuality*, Adult, Decision Making, Female, Humans, Magnetic Resonance Imaging, Male, Prefrontal Cortex, Reinforcement Machine Learning, Young Adult (* major topic)
Topic: Neural and Behavioral Psychology Studies (Cognitive Neuroscience, Neuroscience), according to OpenAlex
Funding: NIMH NIH HHS (R01 MH121089); University of California; National Institute of Mental Health (R01MH121089); California Institute of Technology
Citations: not cited yet (Europe PMC); 76 references in the paper
Research resources: RRID:SCR_001362, MATLAB R2020b RRID:SCR_001622, RRID:SCR_00184765, RRID:SCR_00243866, which is based on Nipype 1.8.661 RRID:SCR_002502, RRID:SCR_00282364, Psychtoolbox- RRID:SCR_002881, 62 distributed with ANTs63 RRID:SCR_004757, RRID:SCR_005927, SPM12 RRID:SCR_007037, Python 3.11 RRID:SCR_008394, RRID:SCR_008796, fMRIPrep 23.1.3 RRID:SCR_016216

Abstract

The abstract is not reproduced here: the paper's license (CC BY-NC-ND) does not allow it. Read it in the paper, at the publisher or on Europe PMC.

Repository

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

Gentu-Ding/2-step-task-MBMF-fMRI-code

License: none: the authors keep all their rights
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 53dffece52606047922027eeae59745e09566844, 8 June 2026
Languages: MATLAB (54), Python (1)
Size: 1,604 files, 55 scripts
Software Heritage: not archived
Found in: “Data and code availability”
Holds: README
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: Statistics and Machine Learning Toolbox (17 files), Psychtoolbox (9 files), SPM (2 files), Matplotlib (1 file), NumPy (1 file), pandas (1 file)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
56 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;
  • 55 scripts, each with its path and the digest of its content;
  • 15 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

Code and data availability statement

The paper has a code and data availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:

Read it in the paper: doi.org/10.1016/j.celrep.2026.117454.

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

  • Publisher: n/a → Cell Press

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 6 keywords, 12 MeSH terms, 4 funders, 62 references, 13 RRIDs.

Cite

This paper

Ding, W., Cockburn, J., Simon, J. P., Johri, A., Cho, S. J., Oh, S., Feusner, J. D., Tadayonnejad, R., & O’Doherty, J. P. (2026). Model-based and model-free valuation signals in the human brain vary markedly in relation to individual differences in behavioral control. Cell reports, 45(6), 117454. https://doi.org/10.1016/j.celrep.2026.117454

BibTeX

@article{ding2026model,
author = {Ding, Weilun and Cockburn, Jeffrey and Simon, Julia Pia and Johri, Amogh and Cho, Scarlet J and Oh, Sarah and Feusner, Jamie D and Tadayonnejad, Reza and O’Doherty, John P},
title = {{Model-based and model-free valuation signals in the human brain vary markedly in relation to individual differences in behavioral control}},
journal = {Cell reports},
year = {2026},
month = jun,
volume = {45},
number = {6},
pages = {117454},
publisher = {Cell Press},
issn = {2211-1247},
doi = {10.1016/j.celrep.2026.117454},
url = {https://doi.org/10.1016/j.celrep.2026.117454},
pmid = {42228569},
pmcid = {PMC13427246}
}

RIS

TY - JOUR
AU - Ding, Weilun
AU - Cockburn, Jeffrey
AU - Simon, Julia Pia
AU - Johri, Amogh
AU - Cho, Scarlet J
AU - Oh, Sarah
AU - Feusner, Jamie D
AU - Tadayonnejad, Reza
AU - O’Doherty, John P
TI - Model-based and model-free valuation signals in the human brain vary markedly in relation to individual differences in behavioral control
T2 - Cell reports
J2 - Cell Rep
PY - 2026
DA - 2026/06/01
VL - 45
IS - 6
SP - 117454
SN - 2211-1247
PB - Cell Press
DO - 10.1016/j.celrep.2026.117454
UR - https://doi.org/10.1016/j.celrep.2026.117454
LA - en
ER -

CSL-JSON

{
"id": "10.1016/j.celrep.2026.117454",
"type": "article-journal",
"title": "Model-based and model-free valuation signals in the human brain vary markedly in relation to individual differences in behavioral control",
"container-title": "Cell reports",
"author": [
{
"family": "Ding",
"given": "Weilun"
},
{
"family": "Cockburn",
"given": "Jeffrey"
},
{
"family": "Simon",
"given": "Julia Pia"
},
{
"family": "Johri",
"given": "Amogh"
},
{
"family": "Cho",
"given": "Scarlet J"
},
{
"family": "Oh",
"given": "Sarah"
},
{
"family": "Feusner",
"given": "Jamie D"
},
{
"family": "Tadayonnejad",
"given": "Reza"
},
{
"family": "O’Doherty",
"given": "John P"
}
],
"container-title-short": "Cell Rep",
"volume": "45",
"issue": "6",
"page": "117454",
"DOI": "10.1016/j.celrep.2026.117454",
"PMID": "42228569",
"PMCID": "PMC13427246",
"ISSN": "2211-1247",
"publisher": "Cell Press",
"URL": "https://doi.org/10.1016/j.celrep.2026.117454",
"language": "en",
"issued": {
"date-parts": [
[
2026,
6,
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/s41597-026-07323-y [code]
A densely sampled fMRI dataset for investigating food valuation.
Journal: Scientific data
In common: SPM, Statistics and Machine Learning Toolbox, 15 references
[2] doi:10.7554/elife.106032 [code]
Neural signatures of model-based and model-free reinforcement learning across prefrontal cortex and striatum.
Journal: eLife
In common: pandas, Matplotlib, NumPy, cognitive, 11 references
[3] doi:10.1371/journal.pbio.3003755 [code]
Action information is integrated into entorhinal representations of conceptual space and is reflected in eye movements.
Journal: PLoS biology
In common: pandas, Matplotlib, NumPy, cognitive, 14 references
[4] doi:10.1038/s41467-026-71151-2 [code]
Common and distinct neural correlates of social interaction processing and theory of mind in narratives.
Journal: Nature communications
In common: Psychtoolbox, SPM, Statistics and Machine Learning Toolbox, 3 other tools, cognitive, 10 references
[5] doi:10.1038/s41467-026-71428-6 [code]
Binding items to contexts through conjunctive neural representations with the method of loci.
Journal: Nature communications
In common: pandas, Matplotlib, NumPy, 13 references
[6] doi:10.1523/eneuro.0370-25.2026 [code]
Pretraining for Large-Scale Functional Connectome Fingerprinting Supports Generalization and Transfer Learning in Functional Neuroimaging.
Journal: eNeuro
In common: pandas, Matplotlib, NumPy, 12 references
[7] doi:10.1162/imag.a.1272 [code]
Building bridges between brain and behavior: An open-source toolbox for joint modeling with fMRI.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: 13 references
[8] doi:10.1002/advs.202523009 [code]
Personalized Network-Guided Neuromodulation Enhances Human Working Memory.
Journal: Advanced science (Weinheim, Baden-Wurttemberg, Germany)
In common: SPM, Statistics and Machine Learning Toolbox, pandas, 2 other tools, cognitive, 8 references
[9] doi:10.7554/elife.103956 [code]
Human brain-wide activation of sleep rhythms.
Journal: eLife
In common: pandas, NumPy, 10 references
[10] doi:10.7554/elife.107955
Multiple event segmentation mechanisms in the human brain.
Journal: eLife
In common: 11 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.