Strenuous physical activity is associated with a younger age of amyotrophic lateral sclerosis onset in two independent cohorts.
The 6 matches
- [1] § Materials and methods › Logistic regression ↔ MND Register and Case Control Analysis Script.R, lines 246 to 333 · score 0.94 · binomial logistic regression, Hosmer Lemeshow, Box Tidwell, quasi complete separation, detect_separation, goodness · Report a mismatch
- [2] § Materials and methods › Statistical analysis ↔ Post-Mortem Cohort Analysis Script.R, lines 42 to 94 · score 0.73 · Kruskal Wallis, post hoc, disease duration, Tukey, Levene, Shapiro · Report a mismatch
- [3] § Materials and methods › Statistical analysis ↔ Post-Mortem Cohort Analysis Script.R, lines 42 to 94 · score 0.68 · eta squared, Kruskal Wallis, way ANOVA · Report a mismatch
- [4] § Materials and methods › Logistic regression ↔ MND Register and Case Control Analysis Script.R, lines 246 to 333 · score 0.67 · Binomial logistic regression, disease status, MND Register, yes, female, highly active · Report a mismatch
- [5] § Materials and methods › Statistical analysis ↔ MND Register and Case Control Analysis Script.R, lines 53 to 105 · score 0.66 · Kruskal Wallis, post hoc, Levene, Shapiro, Dunn, variance · Report a mismatch
- [6] § Results › Age at symptom onset is decreased in highly active individuals with ALS ↔ Post-Mortem Cohort Analysis Script.R, lines 1 to 40 · score 0.53 · post hoc, post mortem cohort, adj, Cramer, Fisher, Bonferroni · Report a mismatch
Paper
Loaded from Europe PMC by your browser; OSCR does not store it: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
R · 333 lines · 15 KB · CC-BY-4.0 · 3 matches
- install.packages("rstatix")
- install.packages("tidyverse")
- install.packages("dplyr")
- install.packages("ggplot2")
- install.packages("effectsize")
- install.packages("vcd")
- install.packages("rcompanion")
- install.packages("survival")
- install.packages("survminer")
- install.packages("car")
- install.packages("glmtoolbox")
- install.packages("pscl")
- install.packages("pROC")
- install.packages("broom")
- install.packages("detectseparation")
- library(rstatix)
- library(tidyverse)
- library(dplyr)
- library(ggplot2)
- library(effectsize)
- library(vcd)
- library(rcompanion)
- library(survival)
- library(survminer)
- library(car)
- library(glmtoolbox)
- library(pscl)
- library(pROC)
- library(broom)
- library(detectseparation)
- #Demographics, Categorical Variables
- gender_table <- data.frame("male" = c(27, 63, 9), "female" = c(9, 44, 14), row.names = c("Highly Active", "Active", "Inactive"))
- chi_result_gender <- chisq.test(gender_table)
- print(chi_result_gender)
- cramers_v(gender_table, ci = 0.95) #Effect size
- gender_data <- matrix(c(27,9,
- 63,44,
- 9,14),
- nrow = 3, byrow = TRUE)
- dimnames(gender_data) <- list(Group = c("A", "B","C"), Outcome = c("X", "Y"))
- chisq.test(gender_data)
- pairwiseNominalIndependence(gender_data, fisher = FALSE, gtest = FALSE, chisq = TRUE, method = "fdr")
- onset_table <- data.frame("limbic" = c(29, 82, 14), "bulbar" = c(7, 20, 9), "unknown" = c(0, 5, 0), row.names = c("Highly Active", "Active", "Inactive"))
- fisher_result_onset <- fisher.test(onset_table)
- print(fisher_result_onset)
- cramers_v(onset_table, ci = 0.95) #Effect size
- #Demographics, Continuous Variables
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna %>% mutate(
- AGEONSET = as.factor(AGEONSET),
- LPA_LEVEL_GROUP = as.factor(LPA_LEVEL_GROUP),
- C9STATUS = as.factor(C9STATUS)
- ) #Set variables as factor
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna %>%
- group_by(LPA_LEVEL_GROUP) %>%
- shapiro_test(AGEONSET) #Test Normality
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna %>%
- levene_test(AGEONSET ~ LPA_LEVEL_GROUP) #Test equal variance
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna %>%
- group_by(LPA_LEVEL_GROUP) %>%
- get_summary_stats(AGEONSET, type = "mean_sd")
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna %>%
- group_by(LPA_LEVEL_GROUP) %>%
- get_summary_stats(AGEONSET, type = "median_iqr")
- kruskal_result_ageonset <- kruskal_test(MND_Register_Data_FINAL_Feb_25_AOforSurvAna, AGEONSET ~ LPA_LEVEL_GROUP)
- print(kruskal_result_ageonset)
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna %>%
- kruskal_effsize(AGEONSET ~ LPA_LEVEL_GROUP, ci = TRUE) #Kruskal-Wallis Test
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna %>%
- dunn_test(AGEONSET ~ LPA_LEVEL_GROUP, p.adjust.method = "bonferroni") #Dunn Bonferroni Post-Hoc
- #Cox Proportional Hazard regression, Age Onset
- #Set variables as factor and set level
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$C9STATUS <- factor(
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$C9STATUS,
- levels = c("normal", "expanded", "not tested"))
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$LPA_LEVEL_GROUP <- factor(
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$LPA_LEVEL_GROUP,
- levels = c("Not Active", "Active", "Highly Active"))
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$GENDER <- factor(
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$GENDER,
- levels = c("Female", "Male"))
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$SITEONSET <- factor(
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$SITEONSET,
- levels = c("Limb", "Bulbar", "Unknown"))
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$HEADINJURY <- factor(
- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$HEADINJURY,
- levels = c("No", "Yes"))
- #Cox models - Age Onset
- #Age Onset - by group
- cox_model_ao <- coxph(
- Surv(AGEONSET, EVENT) ~ LPA_LEVEL_GROUP + GENDER + C9STATUS + HEADINJURY,
- data = MND_Register_Data_FINAL_Feb_25_AOforSurvAna)
- summary(cox_model_ao)
- cox.zph(cox_model_ao) #Test proportional hazard assumption
- #Plot cumulative hazard
- plot_data_cox_model_ao <- with(MND_Register_Data_FINAL_Feb_25_AOforSurvAna,
- data.frame(LPA_LEVEL_GROUP=levels(LPA_LEVEL_GROUP),
- GENDER = levels(GENDER)[1],
- C9STATUS = levels(C9STATUS)[1],
- HEADINJURY = levels(HEADINJURY)[1]))
- fit_ao <- survfit(cox_model_ao, plot_data_cox_model_ao)
- cox_model_ao_ggplot <- ggsurvplot(fit_ao, data = plot_data_cox_model_ao,
- legend.labs = c("Inactive", "Active", "Highly Active"),
- xlab = "Age at Symptom Onset (Years)",
- fun = "cumhaz",
- ylab = "Cumulative Hazard",
- xlim = c(50,90), break.time.by = 10,
- ylim = c(0,10),
- risk.table = FALSE, conf.int = FALSE,
- legend.title = "LPA Group",
- palette = c("#0072B2", "#E69F00", "#009E73"), #colourblind friendly
- ggtheme = theme_survminer())
- cox_model_ao_ggplot
- #Age Onset - by score
- cox_model_ao_LPAScore <- coxph(
- Surv(AGEONSET, EVENT) ~ LPA_SCORE + GENDER + C9STATUS + HEADINJURY,
- data = MND_Register_Data_FINAL_Feb_25_AOforSurvAna)
- summary(cox_model_ao_LPAScore)
- cox.zph(cox_model_ao_LPAScore) #Test proportional hazard assumption
- #Checking for multicolinearity
- multico_check_ao <- lm(
- AGEONSET ~ LPA_LEVEL_GROUP + GENDER + SITEONSET + C9STATUS + HEADINJURY,
- data = MND_Register_Data_FINAL_Feb_25_AOforSurvAna)
- vif(multico_check_ao)
- #Cox Proportional Hazard regression, Survival
- #Set variables as factor and set level
- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$C9STATUS <- factor(
- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$C9STATUS,
- levels = c("normal", "expanded", "not tested"))
- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$LPA_LEVEL_GROUP <- factor(
- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$LPA_LEVEL_GROUP,
- levels = c("Not Active", "Active", "Highly Active"))
- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$GENDER <- factor(
- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$GENDER,
- levels = c("Female", "Male"))
- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$SITEONSET <- factor(
- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$SITEONSET,
- levels = c("Limb", "Bulbar", "Unknown"))
- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$HEADINJURY <- factor(
- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$HEADINJURY,
- levels = c("No", "Yes"))
- #Cox models - Survival
- #Survival - by group
- cox_model_dd <- coxph(
- Surv(TIMEDEATH_OR_LASTCHECK, SURVIVALSTATUS_NUM) ~ LPA_LEVEL_GROUP + GENDER + SITEONSET + C9STATUS + HEADINJURY + AGEONSET,
- data = MND_Register_Data_FINAL_Feb_25_DDforSurvAna)
- summary(cox_model_dd)
- cox.zph(cox_model_dd) #Test proportional hazard assumption
- #Plot cumulative survival
- plot_data_cox_model_dd <- with(MND_Register_Data_FINAL_Feb_25_DDforSurvAna,
- data.frame(LPA_LEVEL_GROUP=levels(LPA_LEVEL_GROUP),
- GENDER = levels(GENDER)[1],
- SITEONSET = levels(SITEONSET)[1],
- C9STATUS = levels(C9STATUS)[1],
- HEADINJURY = levels(HEADINJURY)[1],
- AGEONSET = mean(AGEONSET, na.rm = TRUE)))
- fit_dd <- survfit(cox_model_dd, plot_data_cox_model_dd)
- cox_model_dd_ggplot <- ggsurvplot(fit_dd, data = plot_data_cox_model_dd,
- legend.labs = c("Inactive", "Active", "Highly Active"),
- xlab = "Disease Duration (Years)",
- ylab = "Survival Probability",
- xlim = c(0,10), break.time.by = 2.5,
- ylim = c(0,1),
- risk.table = FALSE, conf.int = FALSE,
- legend.title = "LPA Group",
- palette = c("#0072B2", "#E69F00", "#009E73"), #colourblind friendly
- censor = FALSE,
- ggtheme = theme_survminer())
- cox_model_dd_ggplot
- #Survival - by score
- cox_model_dd_LPAScore <- coxph(
- Surv(TIMEDEATH_OR_LASTCHECK, SURVIVALSTATUS_NUM) ~ LPA_SCORE + GENDER + SITEONSET + C9STATUS + HEADINJURY + AGEONSET,
- data = MND_Register_Data_FINAL_Feb_25_DDforSurvAna)
- summary(cox_model_dd_LPAScore)
- cox.zph(cox_model_dd_LPAScore) #Test proportional hazard assumption
- #Checking for multicolinearity
- multico_check_dd <- lm(
- TIMEDEATH_OR_LASTCHECK ~ LPA_LEVEL_GROUP + GENDER + SITEONSET + C9STATUS + HEADINJURY + AGEONSET,
- data = MND_Register_Data_FINAL_Feb_25_DDforSurvAna)
- vif(multico_check_dd)
- #Linear Regression, Age Onset
- #Age onset - by group
- lm_ao <- lm(formula = AGEONSET ~ LPA_LEVEL_GROUP + HEADINJURY + C9STATUS + GENDER,
- data = MND_Register_Data_FINAL_Feb_25_AOforSurvAna)
- summary(lm_ao)
- #Age onset - by score
- lm_ao_LPAScore <- lm(formula = AGEONSET ~ LPA_SCORE + HEADINJURY + C9STATUS + GENDER,
- data = MND_Register_Data_FINAL_Feb_25_AOforSurvAna)
- summary(lm_ao_LPAScore)
- #Linear regression age onset plot
- lm_plot_ao <- ggplot(lm(formula = AGEONSET ~ LPA_SCORE + HEADINJURY + C9STATUS + GENDER,
- data = MND_Register_Data_FINAL_Feb_25_AOforSurvAna),aes(x=AGEONSET, y=LPA_SCORE)) +geom_point()+geom_smooth(method = lm)
- print(lm_plot_ao)
- C9orf72_statusAO <- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$C9STATUS
- HI_AO <- MND_Register_Data_FINAL_Feb_25_AOforSurvAna$HEADINJURY
- lm_plot_ao_HIC9 <- ggplot(lm(formula = AGEONSET ~ LPA_SCORE + HEADINJURY + C9STATUS + GENDER,
- data = MND_Register_Data_FINAL_Feb_25_AOforSurvAna),aes(x=AGEONSET, y=LPA_SCORE)) +geom_point(aes(colour = HI_AO, shape = C9orf72_statusAO))+geom_smooth(method = lm)
- print(lm_plot_ao_HIC9)
- #Linear Regression, Disease Duration
- #Survival - by group
- lm_dd <- lm(formula = TIMEDEATH_OR_LASTCHECK ~ LPA_LEVEL_GROUP + HEADINJURY + C9STATUS + GENDER + SITEONSET + AGEONSET,
- data = MND_Register_Data_FINAL_Feb_25_DDforSurvAna)
- summary(lm_dd)
- #Survival - by score
- lm_dd_LPAScore <- lm(formula = TIMEDEATH_OR_LASTCHECK ~ LPA_SCORE + HEADINJURY + C9STATUS + GENDER+ SITEONSET + AGEONSET,
- data = MND_Register_Data_FINAL_Feb_25_DDforSurvAna)
- summary(lm_dd_LPAScore)
- #Linear regression survival plot
- lm_plot_dd <- ggplot(lm(formula = TIMEDEATH_OR_LASTCHECK ~ LPA_SCORE + HEADINJURY + C9STATUS + GENDER + SITEONSET + AGEONSET,
- data = MND_Register_Data_FINAL_Feb_25_DDforSurvAna),aes(x=TIMEDEATH_OR_LASTCHECK, y=LPA_SCORE)) +geom_point()+geom_smooth(method = lm)
- print(lm_plot_dd)
- C9orf72_statusDD <- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$C9STATUS
- HI_DD <- MND_Register_Data_FINAL_Feb_25_DDforSurvAna$HEADINJURY
- lm_plot_dd_HIC9 <- ggplot(lm(formula = TIMEDEATH_OR_LASTCHECK ~ LPA_SCORE + HEADINJURY + C9STATUS + GENDER + SITEONSET + AGEONSET,
- data = MND_Register_Data_FINAL_Feb_25_DDforSurvAna),aes(x=TIMEDEATH_OR_LASTCHECK, y=LPA_SCORE)) +geom_point(aes(colour = HI_DD, shape = C9orf72_statusDD))+geom_smooth(method = lm)
- print(lm_plot_dd_HIC9)
- #Case Control Analysis
- #Set variables as factor and set level
- Case_vs_Control_Data_MND_Register$LPA_LEVEL_GROUP <- factor(
- Case_vs_Control_Data_MND_Register$LPA_LEVEL_GROUP,
- levels = c("Not Active", "Active", "Highly Active"))
- Case_vs_Control_Data_MND_Register$GENDER <- factor(
- Case_vs_Control_Data_MND_Register$GENDER,
- levels = c("Female", "Male"))
- Case_vs_Control_Data_MND_Register$HEADINJURY <- factor(
- Case_vs_Control_Data_MND_Register$HEADINJURY,
- levels = c("No", "Yes"))
- Case_vs_Control_Data_MND_Register$DISEASE_STATUS <- as.numeric(
- as.character(Case_vs_Control_Data_MND_Register$DISEASE_STATUS))
- #Case Control Binomial Logistic Regression
- CaseControl_LogReg <- glm(DISEASE_STATUS ~ LPA_LEVEL_GROUP + AGE + GENDER + HEADINJURY,
- data = Case_vs_Control_Data_MND_Register, family = binomial(link = "logit"))
- summary(glm(DISEASE_STATUS ~ LPA_LEVEL_GROUP + AGE + GENDER + HEADINJURY,
- data = Case_vs_Control_Data_MND_Register, family = binomial(link = "logit")))
- exp(coef(glm(DISEASE_STATUS ~ LPA_LEVEL_GROUP + AGE + GENDER + HEADINJURY,
- data = Case_vs_Control_Data_MND_Register, family = binomial(link = "logit")))) #Generate odds ratios
- confint(glm(DISEASE_STATUS ~ LPA_LEVEL_GROUP + AGE + GENDER + HEADINJURY,
- data = Case_vs_Control_Data_MND_Register, family = binomial(link = "logit"))) #Profile likelihood confidence intervals
- exp(confint(glm(DISEASE_STATUS ~ LPA_LEVEL_GROUP + AGE + GENDER + HEADINJURY,
- data = Case_vs_Control_Data_MND_Register, family = binomial(link = "logit")))) #Convert confidence intervals to odds ratio scale
- hltest(glm(DISEASE_STATUS ~ LPA_LEVEL_GROUP + AGE + GENDER + HEADINJURY,
- data = Case_vs_Control_Data_MND_Register, family = binomial(link = "logit")), verbose = TRUE) #Hosmer-Lemeshow test for goodness of fit
- pR2(glm(DISEASE_STATUS ~ LPA_LEVEL_GROUP + AGE + GENDER + HEADINJURY,
- data = Case_vs_Control_Data_MND_Register, family = binomial(link = "logit"))) #Pseudo r squared
- roc(Case_vs_Control_Data_MND_Register$DISEASE_STATUS, fitted(glm(DISEASE_STATUS ~ LPA_LEVEL_GROUP + AGE + GENDER + HEADINJURY,
- data = Case_vs_Control_Data_MND_Register, family = binomial(link = "logit")))) #ROC curve measure of discrimination
- pvals <- coef(summary(CaseControl_LogReg))[, 4] #Extract p values
- print(pvals)
- #Case Control test logistic regression assumptions
- #Linearity of the logit
- model <- glm(DISEASE_STATUS ~ AGE, family = binomial,
- data = Case_vs_Control_Data_MND_Register)
- boxTidwell(DISEASE_STATUS ~ AGE, data = Case_vs_Control_Data_MND_Register)
- Case_vs_Control_Data_MND_Register$logit <- log(model$fitted.values / (AGE = model$fitted.values))
- ggplot(Case_vs_Control_Data_MND_Register, aes(x = AGE, y = logit)) +
- geom_point() +
- geom_smooth(method = "loess")
- #Checking for multicolinearity
- multico_check_CaseControl <- lm(
- DISEASE_STATUS ~ LPA_LEVEL_GROUP + AGE + GENDER + HEADINJURY,
- data = Case_vs_Control_Data_MND_Register)
- vif(multico_check_CaseControl)
- #Checking for complete or quasi complete separation
- CaseControl_detectsep <- glm(DISEASE_STATUS ~ LPA_LEVEL_GROUP + AGE + GENDER + HEADINJURY,
- data = Case_vs_Control_Data_MND_Register,
- family = binomial("logit"),
- method = "detect_separation")
- CaseControl_detectsep
- #Checking influential observations and outliers
- plot(CaseControl_LogReg, which = 1)
- plot(CaseControl_LogReg, which = 4)
MND Register and Case Control Analysis Script.R, under CC-BY-4.0 · at the source
Overview
- Maurice Wohl Clinical Neuroscience Institute, Department of Basic and Clinical Neuroscience, King's College London, London SE5 9RT, UK
- London Neurodegenerative Diseases Brain Bank, Institute of Psychiatry, Psychology & Neuroscience, Kings College London, London SE8 8AF, UK
- Clinical Neuropathology Department, Kings College Hospital NHS Trust, London SE5 9RS, UK
- Department of Clinical Neurosciences, King’s College Hospital NHS Trust, London SE5 9RS, UK
Abstract
Amyotrophic lateral sclerosis (ALS) is a complex neurodegenerative disease characterized predominantly by degeneration of both upper and lower motor neurons, thought to occur due to an interplay between genetics and environmental factors. Physical activity has been suggested as a potential risk factor for ALS; however, the exact role of exercise in the onset and progression of the disease is still unclear.
We assessed lifetime physical activity in two independent ALS cohorts: post-mortem brain donors from the London Neurodegenerative Diseases Brain Bank (n = 139) and patients from the Motor Neurone Disease (MND) Register of England, Wales and Northern Ireland (n = 166 cases, 196 controls).
In both cohorts, highly active individuals developed ALS symptoms at a significantly younger age, 54.2 years (mean, standard deviation = 7.5) in the post-mortem cohort and 58.0 years (median, interquartile range = 15) in the MND Register, compared with 63.9 years (mean, standard deviation = 11.5) and 63.0 years (median, interquartile range = 17.5) in inactive individuals, respectively [one-way analysis of variance (ANOVA), F(2, 136) = 6.10, P = 0.003, η2 = 0.08, 95% confidence interval (CI) 0.02–1.00 and Kruskal–Wallis, H(2) = 7.39, P = 0.02, η2 = 0.03, 95% CI 0.003–0.12]. Cox regression showed a higher hazard of earlier onset in highly active patients [post-mortem: hazard ratio (HR) 2.84, 95% CI 1.55–5.26, P = 0.0008; MND Register: HR 2.34, 95% CI 1.30–4.23, P = 0.005].
Our findings suggest that strenuous physical activity may be associated with a significantly younger age of ALS onset, replicated in both the post-mortem and MND Register cohorts, but not with an increased risk of developing ALS. Logistic regression analysis confirmed that neither highly active [odds ratio (OR) 1.43, 95% CI 0.69–2.99, P = 0.333] nor being active (OR 1.30, 95% CI 0.72–2.37, P = 0.386) was significantly associated with ALS risk, whereas a history of head injury was (OR 1.72, 95% CI 1.03–2.88, P = 0.038). These results suggest that strenuous exercise may accelerate disease onset in predisposed individuals, while the role of head injury requires further study and the findings may in fact indicate reverse causality.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 6 matches between paragraphs and lines of code.
Zenodo 18508813
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
- 27 September 2026: the link answers (HTTP 200)
2 files
- MND Register and Case Control Analysis Script.R, R, 333 lines, 3 matches
- Post-Mortem Cohort Analysis Script.R, R, 318 lines, 3 matches
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;
- 2 scripts, each with its path and the digest of its content;
- 6 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
Access to the MND register can be requested here 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, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 7 authors, 5 keywords, 3 funders, 37 references.
Cite
This paper
Kennedy, J., Al Khleifat, A., King, A., Al-Sarraj, S., Al-Chalabi, A., Mitchell, J. C., & Troakes, C. (2026). Strenuous physical activity is associated with a younger age of amyotrophic lateral sclerosis onset in two independent cohorts. Brain communications, 8(4), fcag272. https://
BibTeX
@article{kennedy2026stre
author = {Kennedy, Jaimee and Al Khleifat, Ahmad and King, Andrew and Al-Sarraj, Safa and Al-Chalabi, Ammar and Mitchell, Jacqueline C and Troakes, Claire},
title = {{Strenuous physical activity is associated with a younger age of amyotrophic lateral sclerosis onset in two independent cohorts}},
journal = {Brain communications},
year = {2026},
month = jul,
volume = {8},
number = {4},
pages = {fcag272},
publisher = {Oxford University Press},
issn = {2632-1297},
doi = {10.1093/
url = {https://
pmid = {42494493},
pmcid = {PMC13392466}
}
RIS
TY - JOUR
AU - Kennedy, Jaimee
AU - Al Khleifat, Ahmad
AU - King, Andrew
AU - Al-Sarraj, Safa
AU - Al-Chalabi, Ammar
AU - Mitchell, Jacqueline C
AU - Troakes, Claire
TI - Strenuous physical activity is associated with a younger age of amyotrophic lateral sclerosis onset in two independent cohorts
T2 - Brain communications
J2 - Brain Commun
PY - 2026
DA - 2026/
VL - 8
IS - 4
SP - fcag272
SN - 2632-1297
PB - Oxford University Press
DO - 10.1093/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1093/
"type": "article-journal",
"title": "Strenuous physical activity is associated with a younger age of amyotrophic lateral sclerosis onset in two independent cohorts",
"container-title": "Brain communications",
"author": [
{
"family": "Kennedy",
"given": "Jaimee"
},
{
"family": "Al Khleifat",
"given": "Ahmad"
},
{
"family": "King",
"given": "Andrew"
},
{
"family": "Al-Sarraj",
"given": "Safa"
},
{
"family": "Al-Chalabi",
"given": "Ammar"
},
{
"family": "Mitchell",
"given": "Jacqueline C"
},
{
"family": "Troakes",
"given": "Claire"
}
],
"container-title-short":
"volume": "8",
"issue": "4",
"page": "fcag272",
"DOI": "10.1093/
"PMID": "42494493",
"PMCID": "PMC13392466",
"ISSN": "2632-1297",
"publisher": "Oxford University Press",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
13
]
]
}
}
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.1093/bioinformatics/btag592 [code]
- Network-based stratification of allele-specific expression reveals patient subgroups in Huntington's disease.Journal: Bioinformatics (Oxford, England)In common: pROC, survival, broom, 4 other tools, other condition
- [2] doi:10.1038/s41598-025-17894-2 [code]
- Multimodal predictors of disability progression and processing speed decline in relapsing-remitting multiple sclerosis.Journal: Scientific reportsIn common: pROC, broom, easystats, 4 other tools, clinical / translational
- [3] doi:10.1038/s41467-025-56829-3 [code]
- Machine learning-based meta-analysis reveals gut microbiome alterations associated with Parkinson's disease.Journal: Nature communicationsIn common: pROC, broom, easystats, 4 other tools, clinical / translational
- [4] doi:10.1126/sciadv.aec9291 [code]
- Computational mechanisms of perception in autism revealed using games inspired by rodent operant tasks.Journal: Science advancesIn common: pROC, broom, easystats, 4 other tools
- [5] doi:10.1038/s41467-023-37630-6 [code]
- Integrated transcriptome landscape of ALS identifies genome instability linked to TDP-43 pathology.Journal: Nature communicationsIn common: rstatix, tidyverse, histology / microscopy, other condition, 1 reference, author Ammar Al-Chalabi
- [6] 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: pROC, survival, easystats, 3 other tools, clinical / translational, other condition
- [7] 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: pROC, survival, broom, 3 other tools, clinical / translational, other condition
- [8] doi:10.7554/elife.99538 [code]
- Menopausal hormone therapy and the female brain: Leveraging neuroimaging and prescription registry data from the UK Biobank cohort.Journal: eLifeIn common: pROC, survival, broom, 3 other tools, clinical / translational
- [9] doi:10.1002/alz.14300 [code]
- Dementia risk scores, apolipoprotein E, and risk of Alzheimer's disease: One size does not fit all.Journal: Alzheimer's & dementia : the journal of the Alzheimer's AssociationIn common: pROC, survival, broom, 3 other tools, clinical / translational
- [10] doi:10.1038/s41398-026-04131-1 [code]
- Multimodal phenotypic classification of generalized anxiety and panic using structural MRI data and psychosocial factors: machine learning results from the German National Cohort (NAKO) study.Journal: Translational psychiatryIn common: pROC, broom, rstatix, 3 other tools, clinical / translational, other condition
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: 1 repository of the authors' code, each at its verified commit and with its license, 2 scripts, and 6 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:0a89786a799a2948…
Add the badge to the code's README
If you are an author or a maintainer of this paper's code, you can add this badge. It says what OSCR knows of the paper (its code, its validated tracing map) and links the code to this page. Paste one of these snippets under the README's title. Keep the two marks around it, so that the badge can be replaced in place and is never added twice. OSCR changes nothing in your repository.
Markdown
<!-- oscr-badge:start -->
[](https://openscicode.org/badge/doi/10.1093/braincomms/fcag272)
<!-- oscr-badge:end -->reStructuredText
.. oscr-badge:start
.. image:: https://openscicode.org/badge/doi/10.1093/braincomms/fcag272.svg
:target: https://openscicode.org/badge/doi/10.1093/braincomms/fcag272
:alt: OSCR
.. oscr-badge:endHTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.1093/braincomms/fcag272"><img src="https://openscicode.org/badge/doi/10.1093/braincomms/fcag272.svg" alt="OSCR"></a>
<!-- oscr-badge:end -->If you choose to, you can have the badge kept up to date for you, with oscr badge --write from the command line or with the GitHub Action in your repository's workflows. Every other form and option (a card, AsciiDoc, LaTeX, shields.io) is on the badge 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: code errors and mismatches between the code and the paper about this paper and its code, from readers and its authors, beside the paper and its tracing map.
Report a mismatch between the code and the paper · Report a code error (signed in)
Reproductions: reports from readers who ran the authors' code and did not get the paper's result, what they ran, with which environment, commit and data.
Report a reproduction failure (signed in)
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
