Light Exposure as a Modifiable Determinant of Mental Health.
The 3 matches
- [1] § Using Light Exposure to Study Mental Health: Measurement and Intervention Opportunities › Observational Characterization of Light Exposure in Mental Health Conditions ↔ scripts/desc_analysis.qmd, lines 270–413 · score 0.77 · melanopic EDI, Low daytime, low nighttime, High daytime, consecutive, S010
- [2] § Using Light Exposure to Study Mental Health: Measurement and Intervention Opportunities › Observational Characterization of Light Exposure in Mental Health Conditions ↔ scripts/Figure_3.qmd, lines 131–168 · score 0.76 · melanopic EDI, Low daytime, low nighttime, High daytime, consecutive, S010
- [3] § Monitoring Compliance and Dose in Light Therapy Studies ↔ scripts/Figure_4.qmd, lines 114–149 · score 0.68 · post light, melanopic EDI, pre light, therapy light, Figure 4
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
Quarto · 414 lines · 12 KB · CC-BY-4.0 · 1 match
- ---
- title: "Descriptive analysis"
- author: "Johannes Zauner"
- format:
- html:
- self-contained: true
- code-tools: true
- ---
- # Preface
- This is a work-in-progress descriptive analysis of the `Sancho-SalasEtAl2025` dataset.
- ```{r}
- #| label: setup
- #| include: false
- library(LightLogR)
- library(glue)
- library(tidyverse)
- library(gt)
- library(readxl)
- library(cowplot)
- library(legendry)
- library(rnaturalearth)
- library(rnaturalearthdata)
- library(sf)
- library(patchwork)
- library(rlang)
- library(here)
- source("https://raw.githubusercontent.com/MeLiDosProject/Data_Metadata_Conventions/main/scripts/overview_plot.R")
- source(
- "https://raw.githubusercontent.com/MeLiDosProject/Data_Metadata_Conventions/main/scripts/summary_table.R"
- )
- ```
- # Overview
- ## Data import: wearable data
- The first step is the import of wearable data from the `head` position (mounted on glasses).
- ```{r}
- #| label: "general information"
- #time zone of Costa Rica
- tz <- "America/Costa_Rica"
- #coordinates for Costa Rica
- coordinates <- c(9.9372, -84.0509)
- #regex to extract participant Id and wearing position
- # pattern <- "[A-Z]+_S[0-9]{3}_[hcw]"
- #regex to extract participant Id
- # pattern <- "^([0-9]{3})_"
- pattern <- "(UCRS[0-9]{3})_"
- country_colors <- c(
- Sweden = "#88CCEE", # Sky blue
- Spain = "#CC6677", # Coral red
- Germany = "#DDCC77", # Mustard yellow
- Netherlands= "#117733", # Dark green
- Turkey = "#332288", # Indigo
- Ghana = "#AA4499", # Purple-pink
- Costa_Rica = "#44AA99" # Teal
- )
- ```
- ```{r}
- #path to participants
- path_part1 <- "data/raw/individual"
- #path to actlumus data sans wearing position
- path_part2 <- "/continuos/actlumus_"
- #wearing position
- wearing_position <- "chest"
- #getting all subfolders
- folders <- dir(here(path_part1))
- #creating complete folder names
- paths <- glue("{path_part1}/{folders}{path_part2}{wearing_position}")
- #collecting file names
- files <- list.files(here(paths), full.names = TRUE)
- files <- files[str_detect(files, "Report", negate = TRUE)]
- ```
- ```{r}
- #there remain some early data from a pilot collection. these will be removed
- data <- import$ActLumus(files, tz, auto.id = pattern, dst_adjustment = TRUE)
- #change names to conform to group
- data <-
- data |>
- mutate(Id = fct_relabel(Id, \(x) sprintf("UCR_S%03d", parse_number(x))))
- ```
- ```{r}
- paths_cc <- glue("{path_part1}/{folders}/continuos/currentconditions")
- #collecting file names
- files_cc <- list.files(here(paths_cc), full.names = TRUE)
- current_conditions <- read_csv(files_cc)
- current_conditions <-
- current_conditions |>
- select(Id = record_id, start = startdate_4_v2,
- currentlight = currentight_v2, kss = kss_v2) |>
- mutate(start = force_tz(start, tz),
- start = start - dminutes(30),
- end = start + dhours(1),
- Id = factor(Id)) |>
- drop_na(start) |>
- group_by(Id)
- ```
- ```{r}
- #| fig-width: 10
- #| fig-height: 5
- data <-
- data |>
- select(Id, Datetime, MEDI) |>
- add_states(current_conditions)
- data |>
- filter(Id %in% c("UCRS001", "UCRS002")) |>
- gg_days() |>
- gg_state(currentlight, aes_fill = currentlight)
- data |>
- filter(Id %in% c("UCRS001", "UCRS002", "UCRS003")) |>
- gg_heatmap() +
- geom_point(data = \(x) x |> drop_na(currentlight),
- aes(col = currentlight), size = 4) +
- scale_color_manual(values = c(E = "yellow2", I = "skyblue3", L = "green2", O = "skyblue", S = "green3"))
- ```
- ## Regularizing data
- In the first step, we will trim the data by the study time.
- ```{r}
- #import table with study times
- Study_dates <- read_excel("../data/Study_dates_MeLiDos_UCR.xlsx")
- #gather the important information
- Study_dates <-
- Study_dates |>
- rename(Id = subjectID_device, start = date_trial_start, end = date_trial_end) |>
- select(Id, start, end) |>
- mutate(across(c(start, end), \(x) force_tz(x, tz)),
- trial = TRUE) |>
- drop_na() |>
- filter(str_detect(Id, "_c$")) |>
- mutate(
- Id = str_remove(Id, "_c$"),
- Id = factor(Id)) |>
- group_by(Id)
- #add the trim information to the dataset and filter by it
- data <-
- data |>
- add_states(Study_dates) |>
- dplyr::filter(trial) |>
- select(-trial)
- data |> gg_overview()
- # data |> summarize(min = min(Datetime), max = max(Datetime))
- ```
- ```{r}
- data |> has_gaps()
- data |> has_irregulars()
- data |> gg_gaps(group.by.days = TRUE, show.irregulars = TRUE, full.days = FALSE)
- ```
- ```{r}
- #| fig-height: 15
- #| fig-width: 5
- data_cleaned <- data |> gap_handler(full.days = TRUE)
- data_cleaned |> gap_table(MEDI) |> cols_hide(ends_with("_n"))
- ```
- ## Exporting hourly values
- ```{r}
- data_export <-
- data_cleaned |>
- aggregate_Datetime("1 minute", numeric.handler = \(x) mean(x, na.rm = TRUE)) |>
- remove_partial_data(MEDI, threshold.missing = "3 hours", by.date = TRUE)
- save(data_export, file = "../data/imported/light/cr_1minute.RData")
- ```
- ## Visualization
- ```{r}
- #| warning: false
- #| message: false
- #| fig-height: 8
- #| fig-width: 12
- data_cleaned |>
- mutate(Id = fct_relabel(Id, \(x) str_remove(x, "UCR_"))) |>
- grand_overview(coordinates, "San José", "Costa Rica", "#44AA99", photoperiod_sequence = 0.2, ov_y.text.size = 5)
- ggsave("../output/figures/Figure_1.png", width = 17, height = 10, scale = 2, units = "cm")
- ggsave("../output/figures/Figure_1.pdf", width = 17, height = 10, scale = 2, units = "cm")
- ```
- ```{r}
- #| message: false
- #| warning: false
- table_summary <-
- light_summary_table(
- data_cleaned, coordinates, "San Pedro, San José", "Costa Rica", country_colors["Costa_Rica"],
- histograms = TRUE
- )
- table_summary
- gtsave(table_summary, here("output/tables/table_summary.png"), vwidth = 820)
- gtsave(table_summary, here("output/tables/table_summary.pdf"))
- gtsave(table_summary |> cols_hide(c(plot)), here("output/tables/table_summary.docx"))
- ```
- ## Adding sleep information
- ```{r}
- #path to participants
- path_part1 <- "data/raw/individual"
- #path to sleep diary
- path_part3 <- "/continuos/sleepdiary"
- #getting all subfolders
- folders <- dir(here(path_part1))
- #creating complete folder names
- paths <- glue("{path_part1}/{folders}{path_part3}")
- #collecting file names
- files <- list.files(here(paths), full.names = TRUE)
- sleep_data <-
- import_Statechanges(filename = files[c(3,9,10)],
- # sep = ";",
- # sep = ",",
- # dec = ",",
- Id.colname = record_id,
- Datetime.format = "mdYHM",
- tz = tz,
- State.colnames = c("sleep_v2", "offset_v2"),
- State.encoding = c("sleep", "wake")
- )
- #adjusting sleeptime for S009
- sleep_data[7,3] <- sleep_data[7,3] + dhours(3)
- Brown_data <-
- sleep_data |>
- sc2interval(full = TRUE, starting.state = "wake") |>
- LightLogR::sleep_int2Brown(
- Brown.day = "wake",
- Brown.evening = "pre-s",
- Brown.night = "sleep"
- ) |>
- mutate(Id = fct_relabel(Id, \(x) sprintf("UCR_S%03d", parse_number(x))))
- ```
- ## Single out extreme patterns
- ```{r}
- #| eval: false
- #| fig-width: 7
- #| fig-height: 7
- data_5min <-
- data_cleaned |>
- select(Id, Datetime, MEDI) |>
- aggregate_Datetime("5 mins", numeric.handler = \(x) mean(x, na.rm = TRUE)) |>
- remove_partial_data(
- MEDI, by.date = TRUE,
- ) |>
- mutate(.Date = (date(Datetime) - min(date(Datetime)) + 1))
- dose_data <-
- data_5min |>
- add_Date_col(group.by = TRUE) |>
- summarize(
- dose(
- MEDI,
- Datetime,
- na.rm = TRUE,
- as.df = TRUE
- ),
- .groups = "drop"
- )
- dose_data |>
- ungroup() |>
- filter(dose == max(dose) | dose == min(dose))
- data_5min |>
- gg_day(facetting = FALSE,
- group = factor(.Date),
- geom = "line",
- aes_col = factor(.Date)) +
- facet_wrap(~Id, ncol = 2)
- data_5min_red <-
- data_5min |>
- filter(Id %in% c("UCR_S010", "UCR_S003", "UCR_S009"))
- data_5min_red <-
- data_5min_red |>
- interval2state(Brown_data, State.colname = State.Brown) |>
- Brown2reference(
- Brown.day = "wake",
- Brown.evening = "pre-s",
- Brown.night = "sleep"
- ) |>
- mutate(State.Brown = fct_relevel(State.Brown,
- "wake", "pre-s", "sleep"))
- Plot1 <-
- data_5min_red |>
- # filter(Id %in% c("UCR_S010") & date(Datetime) == "2025-07-12") |> #High day low night
- # filter(Id %in% c("UCR_S003") & date(Datetime) == "2025-06-19") |> #High night
- # filter(Id %in% c("UCR_S009") & date(Datetime) == "2025-07-05") |> #low day
- filter(date(Datetime) %in% c("2025-07-12", "2025-07-05", "2025-06-19")) |>
- # filter(date(Datetime) %in% c("2025-07-01", "2025-07-05")) |>
- add_Date_col() |>
- add_photoperiod(coordinates) |>
- mutate(Id = fct_relevel(Id, "UCR_S010", "UCR_S003", "UCR_S009"),
- Id = fct_recode(Id,
- "High daytime & low nighttime levels" = "UCR_S010",
- "High nighttime levels" = "UCR_S003",
- "Low daytime levels" = "UCR_S009"),
- # Id = fct_reorder(Id, MEDI, .fun = min, .desc = TRUE),
- ) |>
- gg_doubleplot(alpha = 0.8,
- aes_col = State.Brown,
- group = consecutive_id(State.Brown),
- # aes_col = factor(Id),
- aes_fill = State.Brown,
- # aes_fill = factor(Id),
- facetting = FALSE,
- y.axis.label = "Melanopic EDI (lx)") |>
- gg_photoperiod() +
- guides(fill = "none", color = "none") +
- facet_wrap(~Id, scales = "free_x", ncol = 1) +
- coord_cartesian(ylim = c(0,20000)) +
- labs(x = NULL) +
- theme(
- strip.background = element_blank()
- ) +
- ggplot2::theme_sub_axis(text = element_text(size = 10)) +
- theme_sub_strip(text = element_text(face = "bold"))
- Plot2 <-
- data_5min_red |>
- filter(date(Datetime) %in% c("2025-07-12", "2025-07-05", "2025-06-19")) |>
- mutate(Id = fct_relevel(Id, "UCR_S010", "UCR_S003", "UCR_S009"),
- Id = fct_recode(Id,
- " " = "UCR_S010",
- " " = "UCR_S003",
- " " = "UCR_S009")) |>
- group_by(
- State.Brown, .add = TRUE
- ) |>
- summarize(
- mean = mean(MEDI, na.rm = TRUE), .groups = "drop"
- ) |>
- ggplot(aes(x = State.Brown, y = mean)) +
- geom_col(aes(fill = State.Brown)) +
- facet_wrap(~Id, ncol = 1, scales = "free_x") +
- scale_y_continuous(trans = "symlog",
- breaks = c(0, 10^(0:5)),
- labels =
- function(x) format(rep("", 7),
- scientific = FALSE, big.mark = " ")) +
- coord_cartesian(ylim = c(0,20000)) +
- cowplot::theme_cowplot() +
- ggsci::scale_fill_jco() +
- guides(fill = "none") +
- labs(y = "Melanopic EDI (lx)",
- x = NULL
- ) +
- # geom_text(aes(y = 0,
- # label = State.Brown |> str_replace("-sleep", "-slp")),
- # vjust = -0.1, size = 3) +
- # annotate(geom = "text",
- # x = 1, y = 20000, label = "wake", color = "black",
- # angle = 90, hjust = 1, size = 4)+
- # annotate(geom = "text",
- # x = 2, y = 20000, label = "pre-sleep", color = "black",
- # angle = 90, hjust = 1, size = 4)+
- # annotate(geom = "text",
- # x = 3, y = 20000, label = "sleep", color = "black",
- # angle = 90, hjust = 1, size = 4)+
- ggplot2::theme(plot.title.position = "plot",
- strip.text.y = ggplot2::element_text(face = "bold",
- ), strip.placement = "outside",
- panel.grid.major.y = ggplot2::element_line("grey95"),
- strip.background = element_blank(),
- # strip.text = element_blank(),
- plot.margin = ggplot2::margin(10,
- 20, 10, 10, "pt")) +
- ggplot2::theme_sub_axis(text = element_text(size = 10))
- Plot1 + plot_spacer() + Plot2 + plot_layout(widths = c(6,-0.4, 1), axes = "collect")
- ggsave("../output/figures/Figure_patterns.png", width = 8*1.5, height = 7*1.5, scale = 2, units = "cm")
- ```
desc_analysis.qmd at commit ed90d9a, under CC-BY-4.0 · at the source
Overview
- Department Health and Sports Sciences, TUM School of Medicine and Health, Chronobiology & Health, Technical University of Munich, Munich, Germany
- Max Planck Institute for Biological Cybernetics, Max Planck Research Group Translational Sensory & Circadian Neuroscience, Tübingen, Germany
- TUM Institute for Advanced Study (TUM-IAS), Technical University of Munich, Garching, Germany
- TUMCREATE Ltd., Singapore, Singapore
Abstract
Purpose of Review: Light is a fundamental environmental signal that shapes human physiology, behaviour, and mental health. Beyond vision, light exposure regulates circadian rhythms, sleep, neuroendocrine function, arousal, and brain circuits implicated in emotional regulation. This review synthesizes recent evidence linking light exposure to mental health and argues that light should be conceptualized as a core, modifiable component of the mental health exposome – the cumulative, dynamic set of environmental influences shaping mental health across the lifespan.
Recent Findings: Recent randomized controlled trials using light therapy, large-scale epidemiological studies, and neurophysiological investigations demonstrate that habitual patterns of daytime and nighttime light exposure are associated with a broad range of mental health outcomes. Higher daytime light exposure is generally associated with better mood and lower depressive symptomatology, whereas greater exposure to light at night is linked to increased risk of depression, anxiety, and sleep disturbance. Advances in wearable light measurement and digital phenotyping now enable precise characterization of individual light environments, supporting observational studies and improving dose verification in light-based interventions. Emerging neurobiological evidence further suggests that light can influence affective brain circuits through pathways that extend beyond sleep and circadian regulation.
Summary: Together, converging evidence positions light exposure as a biologically potent and highly modifiable determinant of mental health operating across multiple temporal scales, from acute alerting effects to longer-term circadian and behavioural adaptation. Conceptual challenges remain, including bidirectionality between light exposure and mental health and limitations in causal inference. Nevertheless, improved measurement technologies and personalized, just-in-time intervention strategies open new opportunities for integrating light exposure into psychiatric research, prevention, and clinical practice.
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 3 matches between paragraphs and lines of code.
tscnlab/SpitschanEtAl_CurrPsychiatryRep_2025
1ed6dd975ddafd9fef78e58eda48035b08d6ead9, 6 March 2026Availability: 1 check, the latest on 30 September 2026: the link answers
- 30 September 2026: the link answers
2 files
- scripts/
Figure_3.qmd , Quarto, 235 lines, 1 match - scripts/
Figure_4.qmd , Quarto, 368 lines, 1 match
Zenodo 17289456
Availability: 1 check, the latest on 30 September 2026: the link answers (HTTP 200)
- 30 September 2026: the link answers (HTTP 200)
melidosproject/sancho-salasetal_dataset_2025
ed90d9ac91b9fa81c0869dafbe6efb3c8d9faed3, 13 May 2026Availability: 1 check, the latest on 30 September 2026: the link answers
- 30 September 2026: the link answers
24 files
- README.Rmd, R, 183 lines
- project_globals.R, R, 1 line
- scripts/
desc_analysis.qmd , Quarto, 414 lines, 1 match - scripts/
import_ASE.qmd , Quarto, 135 lines - scripts/
import_LEBA.qmd , Quarto, 148 lines - scripts/
import_VLSQ8.qmd , Quarto, 119 lines - scripts/
import_chronotype.qmd , Quarto, 242 lines - scripts/
import_currentconditions , Quarto, 106 lines.qmd - scripts/
import_demographics.qmd , Quarto, 98 lines - scripts/
import_exercisediary.qmd , Quarto, 187 lines - scripts/
import_experiencelog.qmd , Quarto, 222 lines - scripts/
import_health.qmd , Quarto, 102 lines - scripts/
import_light_chest.qmd , Quarto, 180 lines - scripts/
import_light_head.qmd , Quarto, 172 lines - scripts/
import_light_wrist.qmd , Quarto, 172 lines - scripts/
import_logger_acceptabil , Quarto, 112 linesity.qmd - scripts/
import_logger_evaluation , Quarto, 179 lines.qmd - scripts/
import_mHLEA.qmd , Quarto, 311 lines - scripts/
import_sleepdiaries.qmd , Quarto, 219 lines - scripts/
import_trial_times.qmd , Quarto, 41 lines - scripts/
import_wearlog.qmd , Quarto, 290 lines - scripts/
import_wellbeingdiary.qm , Quarto, 113 linesd - LICENSE, License, 395 lines
- README.md, Text, 292 lines
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:
- 3 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 24 scripts, each with its path and the digest of its content;
- 3 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
All code and data are available at https://
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, 30 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 2 authors, 6 keywords, 6 MeSH terms, 2 funders, 78 references.
Cite
This paper
Spitschan, M., & Zauner, J. (2026). Light Exposure as a Modifiable Determinant of Mental Health. Current psychiatry reports, 28(1), 24. https://
BibTeX
@article{spitschan2026li
author = {Spitschan, Manuel and Zauner, Johannes},
title = {{Light Exposure as a Modifiable Determinant of Mental Health}},
journal = {Current psychiatry reports},
year = {2026},
month = apr,
volume = {28},
number = {1},
pages = {24},
publisher = {Springer Science+Business Media},
issn = {1523-3812},
doi = {10.1007/
url = {https://
pmid = {42047992},
pmcid = {PMC13124800}
}
RIS
TY - JOUR
AU - Spitschan, Manuel
AU - Zauner, Johannes
TI - Light Exposure as a Modifiable Determinant of Mental Health
T2 - Current psychiatry reports
J2 - Curr Psychiatry Rep
PY - 2026
DA - 2026/
VL - 28
IS - 1
SP - 24
SN - 1523-3812
PB - Springer Science+Business Media
DO - 10.1007/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1007/
"type": "article-journal",
"title": "Light Exposure as a Modifiable Determinant of Mental Health",
"container-title": "Current psychiatry reports",
"author": [
{
"family": "Spitschan",
"given": "Manuel"
},
{
"family": "Zauner",
"given": "Johannes"
}
],
"container-title-short":
"volume": "28",
"issue": "1",
"page": "24",
"DOI": "10.1007/
"PMID": "42047992",
"PMCID": "PMC13124800",
"ISSN": "1523-3812",
"publisher": "Springer Science+Business Media",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
28
]
]
}
}
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.1162/netn.a.586
- Effects of light on brain-state dynamics and energy landscape.Journal: Network neuroscience (Cambridge, Mass.)In common: 4 references
- [2] doi:10.1002/gps3.70039
- Associations between wearable-device-measured
daytime and nighttime light exposures and dementia risk: A prospective cohort study. Journal: General psychiatryIn common: clinical / translational, 3 references - [3] doi:10.1093/neuonc/noag128 [code]
- Spatially-resolved single-cell imaging of melanoma brain metastases identifies localized immune patterns predictive of immune checkpoint blockade response.Journal: Neuro-oncologyIn common: cowplot, patchwork, ggplot2, 1 other tool, clinical / translational
- [4] doi:10.1002/alz.71567 [code]
- Associations of dementia polyexposure scores to Alzheimer's disease endophenotypes in a diverse population.Journal: Alzheimer's & dementia : the journal of the Alzheimer's AssociationIn common: cowplot, patchwork, ggplot2, 1 other tool, clinical / translational
- [5] doi:10.1038/s41514-026-00397-3 [code]
- Nasal administration of Protollin enhances monocyte phagocytosis and decreases CD8&
lt;sup& gt;+& lt;/ sup& gt; T cell cytotoxicity in subjects with early Alzheimer's disease: a Phase 1 clinical trial. Journal: npj agingIn common: cowplot, patchwork, ggplot2, 1 other tool, clinical / translational - [6] doi:10.1016/j.isci.2026.115657 [code]
- Integration of machine learning to develop a disulfidptosis model for predicting glioma prognosis, immunotherapy response, and drug.Journal: iScienceIn common: cowplot, patchwork, ggplot2, 1 other tool, clinical / translational
- [7] doi:10.1038/s41588-026-02737-1 [code]
- Human and mouse adrenal glands are characterized by species-specific steroidogenic states and tissue turnover.Journal: Nature geneticsIn common: cowplot, patchwork, ggplot2, 1 other tool
- [8] doi:10.1093/braincomms/fcag343 [code]
- Long-term brain volume trajectories and lifestyle associations in cognitively normal adults: the BRAIN-STRIDE study.Journal: Brain communicationsIn common: cowplot, patchwork, ggplot2, 1 other tool
- [9] doi:10.1073/pnas.2609814123 [code]
- Genetic architectures of brain-related traits are shaped by strong selective constraints.Journal: Proceedings of the National Academy of Sciences of the United States of AmericaIn common: cowplot, patchwork, ggplot2, 1 other tool
- [10] doi:10.1038/s41467-026-76675-1 [code]
- Long-read proteogenomic atlas of human neuronal differentiation reveals isoform diversity informing neurodevelopmental risk mechanisms.Journal: Nature communicationsIn common: cowplot, patchwork, ggplot2, 1 other tool
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: 3 repositories of the authors' code, each at its verified commit and with its license, 24 scripts, and 3 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:6703df2822272ef5…
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.
