Midbrain endocannabinoids actuate dopamine-based action selection.
The 7 matches
- [1] § STAR METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Random forest classifiers ↔ Lujan26-timeseries-decoder-CV.R, lines 1–87 · score 0.71 · sliding window, random forest, trees, fold, decoding, bin
- [2] § STAR METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Functional linear mixed models (FLMM) ↔ Tutorials/Python rpy2 installation/R and rpy2 installation guide.ipynb, lines 75–149 · score 0.64 · installation instructions, CRAN package, fastFMM
- [3] § STAR METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Functional linear mixed models (FLMM) ↔ Figures/Simulations/Simulation_Code/photometry_sim_fLME_fn_multi.R, lines 3–41 · score 0.63 · random slope, design matrices, random intercepts, variance, coefficients, covariates
- [4] § STAR METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Functional linear mixed models (FLMM) ↔ Figures/Simulations/Simulation_Code/fui.R, lines 571–615 · score 0.62 · random slope, design matrices, random intercepts, selection, variables, covariates
- [5] § STAR METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Random forest classifiers ↔ Lujan26-timeseries-decoder-CV.R, lines 240–316 · score 0.62 · decoding accuracy, FDR corrected, threshold, permutation, window, onset
- [6] § RESULTS › Momentary uncoupling of NAc dopamine release dynamics and active avoidance in DGLaTH cKO mice ↔ Lujan26-timeseries-decoder-CV.R, lines 1–87 · score 0.57 · sliding window, random forest, decode, accuracy, escape, avoidance
- [7] § STAR METHODS › QUANTIFICATION AND STATISTICAL ANALYSIS › Functional linear mixed models (FLMM) ↔ Figures/Simulations/Simulation_Code/photometry_sim_fLME-Science-lengthenRewardPeriod.R, lines 766–804 · score 0.54 · regression coefficients, joint CI, pointwise, CIs, covariate
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
R · 334 lines · 10 KB · CC-BY-4.0 · 3 matches
- # Time-resolved decoder comparison using sliding-window random forests.
- #
- # Expected input:
- # - Two CSV files (e.g. "WTdata.csv" and "DGLcKOdata.csv") with one trial per row.
- # - All columns except the last are time-resolved features.
- # - The last column contains the class label for each trial (e.g., "escape", "avoidance")
- #
- # Output:
- # - Console summary of significant decoding differences.
- # - A plot of decoding accuracy over time.
- # - Optional CSV export with adjusted p-values per time window.
- # ---------------------------
- # 1. Analysis configuration
- # ---------------------------
- analysis_config <- list(
- input_files = c(
- # Replace these with your own file paths. Relative paths work if the files
- # are in the working directory; absolute paths can also be used.
- group1 = "path/to/group1_timeseries_data.csv",
- group2 = "path/to/group2_timeseries_data.csv"
- ),
- group_labels = c(
- group1 = "Group 1",
- group2 = "Group 2"
- ),
- group_colors = c(
- group1 = "blue",
- group2 = "red"
- ),
- time_range_sec = c(-4, 6),
- sliding_window_bins = 4,
- sliding_step_bins = 1,
- n_trees = 100,
- n_folds = 10,
- q_threshold = 0.05,
- n_permutations = 200,
- random_seed = 123,
- positive_label = "escape",
- export_results = TRUE,
- export_file = "decoder_adjusted_p_values_by_time_bin.csv",
- save_plot = FALSE,
- plot_file = "decoder_accuracy_over_time.png"
- )
- # Set this to TRUE if you want the script to install missing packages automatically.
- install_missing_packages <- FALSE
- required_packages <- c("randomForest", "caret", "ggplot2")
- group_keys <- names(analysis_config$input_files)
- if (length(group_keys) != 2) {
- stop("This script currently expects exactly two groups in analysis_config$input_files.")
- }
- if (!all(group_keys %in% names(analysis_config$group_labels))) {
- stop("Each input file must have a matching entry in analysis_config$group_labels.")
- }
- if (!all(group_keys %in% names(analysis_config$group_colors))) {
- stop("Each input file must have a matching entry in analysis_config$group_colors.")
- }
- for (pkg in required_packages) {
- if (!requireNamespace(pkg, quietly = TRUE)) {
- if (!install_missing_packages) {
- stop(
- sprintf(
- "Package '%s' is required but not installed. Install it or set install_missing_packages <- TRUE.",
- pkg
- )
- )
- }
- install.packages(pkg, dependencies = TRUE)
- }
- }
- suppressPackageStartupMessages({
- library(randomForest)
- library(caret)
- library(ggplot2)
- })
- # ---------------------------
- # 2. Helper functions
- # ---------------------------
- load_timeseries_dataset <- function(file_path, positive_label = "escape") {
- raw_data <- read.csv(file_path, header = FALSE, stringsAsFactors = FALSE)
- data_matrix <- as.matrix(raw_data)
- if (ncol(data_matrix) < 2) {
- stop(sprintf("File '%s' must contain at least one feature column and one label column.", file_path))
- }
- feature_matrix <- data.matrix(raw_data[, -ncol(raw_data), drop = FALSE])
- labels <- data_matrix[, ncol(data_matrix)]
- if (is.character(labels)) {
- labels <- ifelse(labels == positive_label, 1, 0)
- }
- labels <- as.numeric(labels)
- if (anyNA(feature_matrix) || anyNA(labels)) {
- stop(sprintf("File '%s' contains values that could not be converted to numeric.", file_path))
- }
- cbind(feature_matrix, label = labels)
- }
- build_time_vector <- function(data_matrix, time_range_sec) {
- n_timepoints <- ncol(data_matrix) - 1
- if (length(time_range_sec) != 2 || time_range_sec[1] >= time_range_sec[2]) {
- stop("time_range_sec must contain two increasing values: c(start_time, end_time).")
- }
- seq(time_range_sec[1], time_range_sec[2], length.out = n_timepoints)
- }
- format_significant_windows <- function(results_df) {
- significant_windows <- results_df[results_df$Is_Significant, , drop = FALSE]
- if (nrow(significant_windows) == 0) {
- return("None")
- }
- apply(significant_windows, 1, function(row) {
- sprintf("[%.2f, %.2f]", as.numeric(row["Time_Bin_Start"]), as.numeric(row["Time_Bin_End"]))
- })
- }
- # Compare decoder accuracy across groups for each sliding time window.
- compare_model_accuracies_permtest <- function(data1,
- data2,
- time_vector,
- window_size = 4,
- step = 1,
- n_trees = 100,
- n_folds = 10,
- q_thresh = 0.05,
- n_perm = 200,
- random_seed = 123) {
- if (ncol(data1) != ncol(data2)) {
- stop("Both datasets must contain the same number of feature columns plus one label column.")
- }
- n_timepoints <- ncol(data1) - 1
- if (length(time_vector) != n_timepoints) {
- stop("time_vector length must match the number of feature columns in each dataset.")
- }
- if (window_size > n_timepoints) {
- stop("window_size cannot be larger than the number of timepoints.")
- }
- n_trials1 <- nrow(data1)
- n_trials2 <- nrow(data2)
- labels1 <- as.factor(data1[, ncol(data1)])
- labels2 <- as.factor(data2[, ncol(data2)])
- time_indices <- seq(1, n_timepoints - window_size + 1, by = step)
- accs1_all <- vector("list", length(time_indices))
- accs2_all <- vector("list", length(time_indices))
- p_vals <- numeric(length(time_indices))
- set.seed(random_seed)
- folds1 <- createFolds(labels1, k = n_folds, list = TRUE)
- folds2 <- createFolds(labels2, k = n_folds, list = TRUE)
- for (window_idx in seq_along(time_indices)) {
- start_idx <- time_indices[window_idx]
- end_idx <- start_idx + window_size - 1
- accs1 <- numeric(n_folds)
- accs2 <- numeric(n_folds)
- for (fold_idx in seq_len(n_folds)) {
- train_idx1 <- setdiff(seq_len(n_trials1), folds1[[fold_idx]])
- test_idx1 <- folds1[[fold_idx]]
- train_idx2 <- setdiff(seq_len(n_trials2), folds2[[fold_idx]])
- test_idx2 <- folds2[[fold_idx]]
- X_train1 <- data1[train_idx1, start_idx:end_idx, drop = FALSE]
- y_train1 <- labels1[train_idx1]
- X_test1 <- data1[test_idx1, start_idx:end_idx, drop = FALSE]
- y_test1 <- labels1[test_idx1]
- X_train2 <- data2[train_idx2, start_idx:end_idx, drop = FALSE]
- y_train2 <- labels2[train_idx2]
- X_test2 <- data2[test_idx2, start_idx:end_idx, drop = FALSE]
- y_test2 <- labels2[test_idx2]
- model1 <- randomForest(x = X_train1, y = y_train1, ntree = n_trees)
- model2 <- randomForest(x = X_train2, y = y_train2, ntree = n_trees)
- pred1 <- predict(model1, X_test1)
- pred2 <- predict(model2, X_test2)
- accs1[fold_idx] <- mean(pred1 == y_test1)
- accs2[fold_idx] <- mean(pred2 == y_test2)
- }
- accs1_all[[window_idx]] <- accs1
- accs2_all[[window_idx]] <- accs2
- observed_diff <- mean(accs1) - mean(accs2)
- combined <- c(accs1, accs2)
- group1_size <- length(accs1)
- perm_diffs <- replicate(n_perm, {
- permuted <- sample(combined)
- mean(permuted[seq_len(group1_size)]) - mean(permuted[(group1_size + 1):length(combined)])
- })
- p_vals[window_idx] <- mean(abs(perm_diffs) >= abs(observed_diff))
- }
- adj_p <- p.adjust(p_vals, method = "BH")
- significant <- adj_p < q_thresh
- first_sig_idx <- which(significant)[1]
- window_start_times <- time_vector[time_indices]
- window_end_times <- time_vector[time_indices + window_size - 1]
- onset_time <- if (!is.na(first_sig_idx)) window_start_times[first_sig_idx] else NA_real_
- data.frame(
- Time_Bin_Start = window_start_times,
- Time_Bin_End = window_end_times,
- Accuracy_Group1 = vapply(accs1_all, mean, numeric(1)),
- Accuracy_Group2 = vapply(accs2_all, mean, numeric(1)),
- P_Value = p_vals,
- Adj_P_Value = adj_p,
- Is_Significant = significant,
- Onset_Time = onset_time
- )
- }
- # ---------------------------
- # 3. Load data and run analysis
- # ---------------------------
- data1 <- load_timeseries_dataset(
- analysis_config$input_files[group_keys[1]],
- positive_label = analysis_config$positive_label
- )
- data2 <- load_timeseries_dataset(
- analysis_config$input_files[group_keys[2]],
- positive_label = analysis_config$positive_label
- )
- time_vector <- build_time_vector(data1, analysis_config$time_range_sec)
- results_df <- compare_model_accuracies_permtest(
- data1 = data1,
- data2 = data2,
- time_vector = time_vector,
- window_size = analysis_config$sliding_window_bins,
- step = analysis_config$sliding_step_bins,
- n_trees = analysis_config$n_trees,
- n_folds = analysis_config$n_folds,
- q_thresh = analysis_config$q_threshold,
- n_perm = analysis_config$n_permutations,
- random_seed = analysis_config$random_seed
- )
- onset_time <- unique(results_df$Onset_Time)[1]
- if (is.na(onset_time)) {
- cat("No significant group difference detected after FDR correction.\n")
- } else {
- cat(sprintf("First significant time bin start: %.2f s\n", onset_time))
- }
- significant_windows <- format_significant_windows(results_df)
- cat("Significant time windows:", paste(significant_windows, collapse = ", "), "\n")
- # ---------------------------
- # 4. Plot decoding accuracy
- # ---------------------------
- plot_df <- data.frame(
- Time = results_df$Time_Bin_Start,
- Group_1 = results_df$Accuracy_Group1,
- Group_2 = results_df$Accuracy_Group2,
- Significant = results_df$Is_Significant
- )
- accuracy_plot <- ggplot(plot_df, aes(x = Time)) +
- geom_line(aes(y = Group_1, color = analysis_config$group_labels[group_keys[1]]), linewidth = 0.9) +
- geom_line(aes(y = Group_2, color = analysis_config$group_labels[group_keys[2]]), linewidth = 0.9) +
- geom_point(
- data = subset(plot_df, Significant),
- aes(y = pmax(Group_1, Group_2) + 0.02),
- color = "black",
- shape = 8,
- size = 2
- ) +
- geom_hline(yintercept = 0.5, linetype = "dashed", color = "gray50") +
- coord_cartesian(xlim = analysis_config$time_range_sec) +
- scale_color_manual(
- values = setNames(
- analysis_config$group_colors[group_keys],
- analysis_config$group_labels[group_keys]
- )
- ) +
- labs(
- x = "Time (s)",
- y = "Decoding accuracy",
- color = "Group",
- title = "Sliding-window decoding accuracy comparison"
- ) +
- theme_minimal()
- print(accuracy_plot)
- # ---------------------------
- # 5. Export results
- # ---------------------------
- if (isTRUE(analysis_config$export_results)) {
- write.csv(results_df, file = analysis_config$export_file, row.names = FALSE)
- }
- if (isTRUE(analysis_config$save_plot)) {
- ggsave(
- filename = analysis_config$plot_file,
- plot = accuracy_plot,
- width = 8,
- height = 5,
- dpi = 300
- )
- }
Lujan26-timeseries-decoder-CV.R, under CC-BY-4.0 · at the source
Overview
- Department of Anatomy and Cell Biology, University of Illinois College of Medicine, Chicago, IL, USA
- Department of Neurobiology, University of Maryland School of Medicine, Baltimore, MD, USA
- Neuronal Networks Section, National Institute on Drug Abuse, National Institutes of Health, Baltimore, MD, USA
- Machine Learning Core, National Institute of Mental Health, National Institutes of Health, Bethesda, MD, USA
- Electrophysiology Research Section, National Institute on Drug Abuse, National Institutes of Health, Baltimore, MD, USA
- Department of Neuroscience, Lovelace Biomedical Research Institute, Albuquerque, NM, USA
- Department of Psychiatry, University of Maryland School of Medicine, Baltimore, MD, USA
- Senior author
- Lead contact
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.
Repositories
Its files are read in the Code ↔ Paper reader above, with 7 matches between paragraphs and lines of code.
gloewing/photometry_flmm
6139fc14acd3f0f8d60608f9d8850fe19f240e61, 30 July 2025Availability: 1 check, the latest on 29 September 2026: the link answers
- 29 September 2026: the link answers
53 files
- Figures/
Appendix_Citations/ — R, 39 linesphotometry_mentions.R - Figures/
Appendix_DA_Adapts/ — R, 253 linesda_adapts_learn_analysis _Interaction_Avg.R - Figures/
Appendix_DA_Adapts/ — R, 397 linesda_adapts_learn_fReg.R - Figures/
Figure 6/ — R, 639 linesscience_paper_Fig4G-I Inset.R - Figures/
Figure 6/ — R, 382 linesscience_paper_Fig4G-I.R - Figures/
Figure 6/ — R, 513 linesscience_paper_FigG-I Photobleach.R - Figures/
Figure_1/ — R, 629 linesda_adapts_learn_intro.R - Figures/
Figure_12/ — R, 265 linesscience_paper_Exp1-lick_ aligned_Lick_bout_Figure s.R - Figures/
Figure_14/ — R, 349 linesExp1 - Cue Aligned Trial Effect.R - Figures/
Figure_16/ — R, 468 linesscience_background_rewar ds.R - Figures/
Figure_17/ — R, 322 linesscience_paper_Fig6A-D.R - Figures/
Figure_2/ — R, 718 linesFLMM Explanation Inset New.R - Figures/
Figure_2/ — R, 567 linesmethod_explanation_fig.R - Figures/
Figure_2/ — R, 263 linessignal_heatmap.R - Figures/
Figure_3/ — R, 349 linesExp1 - Figure3.R - Figures/
Figure_4/ — R, 444 linesExp1 - Lick Aligned IRI Author Analysis.R - Figures/
Figure_4/ — R, 463 linesExp1 - Lick Aligned.R - Figures/
Figure_5/ — R, 795 linesExp1 - Lick Aligned Photobleach.R - Figures/
Figure_5/ — R, 463 linesExp1 - Lick Aligned.R - Figures/
Figure_5/ — R, 514 linesSimpsons_Figs Final.R - Figures/
Figure_8/ — R, 458 linesmixed_effects_explanatio n.R - Figures/
Simulations/ — R, 1,485 lines, 1 matchSimulation_Code/ fui.R - Figures/
Simulations/ — R, 596 linesSimulation_Code/ photo_simulation_science _Figures.R - Figures/
Simulations/ — R, 426 linesSimulation_Code/ photo_simulation_science _figs_delayLength.R - Figures/
Simulations/ — R, 903 lines, 1 matchSimulation_Code/ photometry_sim_fLME-Scie nce-lengthenRewardPeriod .R - Figures/
Simulations/ — R, 677 linesSimulation_Code/ photometry_sim_fLME-Scie nce_Delay_indivi_obs.R - Figures/
Simulations/ — R, 553 linesSimulation_Code/ photometry_sim_fLME-Scie nce_indivi_obs.R - Figures/
Simulations/ — R, 423 lines, 1 matchSimulation_Code/ photometry_sim_fLME_fn_m ulti.R - Figures/
Utility_Functions/ — R, 121 linesexisting_funs.R - Figures/
Utility_Functions/ — R, 1,485 linesfui.R - Figures/
Utility_Functions/ — R, 52 linesinterval_label.R - Figures/
Utility_Functions/ — Shell, 21 linesphoto_sim.sh - Figures/
Utility_Functions/ — R, 22 linesplot_adjust.R - Figures/
Utility_Functions/ — R, 83 linesplot_fGLMM.R - Figures/
Utility_Functions/ — R, 106 linesplot_fGLMM_RE.R - Figures/
Utility_Functions/ — R, 92 linesplot_fGLMM_new.R - Figures/
Utility_Functions/ — R, 57 linesplot_fReg.R - Figures/
Utility_Functions/ — R, 79 linesplot_fReg_new.R - Figures/
Utility_Functions/ — R, 149 linesplot_fui.R - Tutorials/
Photometry FLMM Guide Part I/ — R, 244 linesfastFMM-photometry-binar y.Rmd - Tutorials/
Photometry FLMM Guide Part I/ — Jupyter, 223 linesfastFMM-photometry-binar y.ipynb - Tutorials/
Photometry FLMM Guide Part II/ — R, 114 linesfastFMM-photometry-withi nTrial.Rmd - Tutorials/
Photometry FLMM Guide Part II/ — Jupyter, 84 linesfastFMM-photometry-withi nTrial.ipynb - Tutorials/
Photometry FLMM Guide Part III/ — R, 160 linesfastFMM-photometry-Corre lation.Rmd - Tutorials/
Photometry FLMM Guide Part III/ — Jupyter, 146 linesfastFMM-photometry-Corre lation.ipynb - Tutorials/
Photometry FLMM Guide Part IV/ — R, 188 linesfastFMM-photometry-ANOVA .Rmd - Tutorials/
Photometry FLMM Guide Part IV/ — Jupyter, 150 linesfastFMM-photometry-ANOVA .ipynb - Tutorials/
Photometry FLMM Guide Part V/ — R, 174 linesfastFMM-photometry-Inter action.Rmd - Tutorials/
Photometry FLMM Guide Part V/ — Jupyter, 145 linesfastFMM-photometry-Inter action.ipynb - Tutorials/
Python rpy2 installation/ — Jupyter, 173 lines, 1 matchR and rpy2 installation guide.ipynb - plot_fui.R — R, 167 lines
- LICENSE — License, 121 lines
- README.md — Text, 96 lines
Zenodo 19154695
Availability: 1 check, the latest on 29 September 2026: the link answers (HTTP 200)
- 29 September 2026: the link answers (HTTP 200)
1 file
- Lujan26-timeseries-decod
er-CV.R — R, 334 lines, 3 matches
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;
- 52 scripts, each with its path and the digest of its content;
- 7 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.
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, 29 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 15 authors, 9 keywords, 13 MeSH terms, 2 funders, 101 references, 9 RRIDs.
Cite
This paper
Luján, M., Young-Morrison, R., Kashtelyan, V., Loewinger, G., Klingenberg, T. D., Hoffman, A., Gildish, I., Covey, D., McDonnell, E., Morgado, F., Peters, K., Kim, A., Pereira, F., Lupica, C., & Cheer, J. (2026). Midbrain endocannabinoids actuate dopamine-based action selection. Cell reports, 45(5), 117298. https://
BibTeX
@article{lujan2026midbra
author = {Luján, MÁ and Young-Morrison, R and Kashtelyan, V and Loewinger, G and Klingenberg, Tanner D and Hoffman, AF and Gildish, I and Covey, DP and McDonnell, EE and Morgado, F and Peters, K and Kim, AY and Pereira, F and Lupica, CR and Cheer, JF},
title = {{Midbrain endocannabinoids actuate dopamine-based action selection}},
journal = {Cell reports},
year = {2026},
month = apr,
volume = {45},
number = {5},
pages = {117298},
publisher = {Cell Press},
issn = {2211-1247},
doi = {10.1016/
url = {https://
pmid = {42024504},
pmcid = {PMC13285665}
}
RIS
TY - JOUR
AU - Luján, MÁ
AU - Young-Morrison, R
AU - Kashtelyan, V
AU - Loewinger, G
AU - Klingenberg, Tanner D
AU - Hoffman, AF
AU - Gildish, I
AU - Covey, DP
AU - McDonnell, EE
AU - Morgado, F
AU - Peters, K
AU - Kim, AY
AU - Pereira, F
AU - Lupica, CR
AU - Cheer, JF
TI - Midbrain endocannabinoids actuate dopamine-based action selection
T2 - Cell reports
J2 - Cell Rep
PY - 2026
DA - 2026/
VL - 45
IS - 5
SP - 117298
SN - 2211-1247
PB - Cell Press
DO - 10.1016/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1016/
"type": "article-journal",
"title": "Midbrain endocannabinoids actuate dopamine-based action selection",
"container-title": "Cell reports",
"author": [
{
"family": "Luján",
"given": "MÁ"
},
{
"family": "Young-Morrison",
"given": "R"
},
{
"family": "Kashtelyan",
"given": "V"
},
{
"family": "Loewinger",
"given": "G"
},
{
"family": "Klingenberg",
"given": "Tanner D"
},
{
"family": "Hoffman",
"given": "AF"
},
{
"family": "Gildish",
"given": "I"
},
{
"family": "Covey",
"given": "DP"
},
{
"family": "McDonnell",
"given": "EE"
},
{
"family": "Morgado",
"given": "F"
},
{
"family": "Peters",
"given": "K"
},
{
"family": "Kim",
"given": "AY"
},
{
"family": "Pereira",
"given": "F"
},
{
"family": "Lupica",
"given": "CR"
},
{
"family": "Cheer",
"given": "JF"
}
],
"container-title-short":
"volume": "45",
"issue": "5",
"page": "117298",
"DOI": "10.1016/
"PMID": "42024504",
"PMCID": "PMC13285665",
"ISSN": "2211-1247",
"publisher": "Cell Press",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
21
]
]
}
}
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/s42003-026-10957-8 [code]
- Brain defence by the extracellular matrix protein Cochlin.Journal: Communications biologyIn common: randomForest, nlme, caret, 9 other tools, mouse, cellular / molecular
- [2] doi:10.1073/pnas.2613593123 [code]
- Calbindin stratifies midbrain dopaminergic neurons governing distinct aspects of locomotion.Journal: Proceedings of the National Academy of Sciences of the United States of AmericaIn common: emmeans, lme4, data.table, 3 other tools, mouse, 6 references
- [3] doi:10.1093/bioinformatics/btag592 [code]
- Network-based stratification of allele-specific expression reveals patient subgroups in Huntington's disease.Journal: Bioinformatics (Oxford, England)In common: randomForest, mgcv, emmeans, 9 other tools
- [4] doi:10.1038/s41467-026-73994-1 [code]
- Prediction error correlates in the striosome-dopamine circuit emerge from information gain.Journal: Nature communicationsIn common: pandas, Matplotlib, 10 references
- [5] doi:10.1016/j.xcrm.2026.102766 [code]
- A longitudinal single-cell and spatial multiomic atlas of pediatric high-grade glioma.Journal: Cell reports. MedicineIn common: rpy2, ComplexHeatmap, lmerTest, 8 other tools, cellular / molecular
- [6] doi:10.1038/s41467-026-77170-3 [code]
- DNA methylation profiling identifies long-range epigenetic silencing of clustered protocadherins as a key determinant of meningioma progression.Journal: Nature communicationsIn common: randomForest, caret, emmeans, 6 other tools, cellular / molecular
- [7] doi:10.1016/j.celrep.2026.117505 [code]
- Impaired spatial coding and neuronal hyperactivity in the medial entorhinal cortex of aged APP knock-in mice.Journal: Cell reportsIn common: mgcv, nlme, emmeans, 7 other tools, mouse
- [8] doi:10.1261/rna.080954.126 [code]
- Neuronal subtype-specific ribosomal protein mRNA expression.Journal: RNA (New York, N.Y.)In common: nlme, ComplexHeatmap, lmerTest, 7 other tools, mouse, cellular / molecular
- [9] doi:10.1038/s41467-026-71595-6 [code]
- A single-cell and spatial atlas of early human olfactory development.Journal: Nature communicationsIn common: mgcv, caret, ComplexHeatmap, 7 other tools
- [10] doi:10.1038/s41398-026-04010-9 [code]
- Bullying victimization and brain development: a longitudinal structural magnetic resonance imaging study from adolescence to early adulthood.Journal: Translational psychiatryIn common: nlme, emmeans, lmerTest, 5 other tools, 1 reference
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.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 2 repositories of the authors' code, each at its verified commit and with its license, 52 scripts, and 7 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:b15f421830a33896…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
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.
