OSCR

Genome-wide association study of positive and negative affect reveals shared genetic architecture and a potential causal relationship with cognition.

Code ↔ Paper

1 match 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 1 match
  1. [1] § Methods and materials › Bidirectional Mendelian randomization ↔ R/ld_clump.R, lines 1–97 · score 0.66 · ld_clump, genomes reference, kb, MAF, r2, threshold

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 · 218 lines · 8.5 KB · other · 1 match

  1. #' Perform LD clumping on SNP data
  2. #'
  3. #' Uses PLINK clumping method, where SNPs in LD within a particular window will be pruned.
  4. #' The SNP with the lowest p-value is retained.
  5. #'
  6. #' @details
  7. #' This function interacts with the OpenGWAS API, which houses LD reference panels
  8. #' for the 5 super-populations in the 1000 genomes reference panel.
  9. #' It includes only bi-allelic SNPs with MAF > 0.01, so it's quite possible that
  10. #' a variant you want to include in the clumping process will be absent.
  11. #' If it is absent, it will be automatically excluded from the results.
  12. #'
  13. #' You can check if your variants are present in the LD reference panel using
  14. #' [`ld_reflookup()`].
  15. #'
  16. #' This function does put load on the OpenGWAS servers, which makes life more
  17. #' difficult for other users. We have implemented a method and made available
  18. #' the LD reference panels to perform clumping locally, see
  19. #' [`ld_clump()`] and related vignettes for details.
  20. #'
  21. #' @param dat Dataframe. Must have a variant name column (`rsid`) and pval column called `pval`.
  22. #' If `id` is present then clumping will be done per unique id.
  23. #' @param clump_kb Clumping kb window. Default is very strict, `10000`
  24. #' @param clump_r2 Clumping r2 threshold. Default is very strict, `0.001`
  25. #' @param clump_p Clumping sig level for index variants. Default = `1` (i.e. no threshold)
  26. #' @param pop Super-population to use as reference panel. Default = `"EUR"`.
  27. #' Options are `"EUR"`, `"SAS"`, `"EAS"`, `"AFR"`, `"AMR"`.
  28. #' `'legacy'` also available - which is a previously used version of the EUR
  29. #' panel with a slightly different set of markers
  30. #' @param opengwas_jwt Used to authenticate protected endpoints. Login to <https://api.opengwas.io> to obtain a jwt. Provide the jwt string here, or store in .Renviron under the keyname OPENGWAS_JWT.
  31. #' @param bfile If this is provided then will use the API. Default = `NULL`
  32. #' @param plink_bin If `NULL` and `bfile` is not `NULL` then will detect
  33. #' packaged plink binary for specific OS. Otherwise specify path to plink binary.
  34. #' Default = `NULL`,
  35. #' @param ... Additional arguments passed to [`ld_clump_api()`].
  36. #'
  37. #' @export
  38. #' @return Data frame
  39. ld_clump <- function(dat=NULL, clump_kb=10000, clump_r2=0.001, clump_p=0.99,
  40. pop = "EUR", opengwas_jwt=get_opengwas_jwt(), bfile=NULL, plink_bin=NULL, ...)
  41. {
  42. stopifnot("rsid" %in% names(dat))
  43. stopifnot(is.data.frame(dat))
  44. if(is.null(bfile))
  45. {
  46. message("Please look at vignettes for options on running this locally if you need to run many instances of this command.")
  47. }
  48. if (!is.null(bfile) && is.null(plink_bin)) {
  49. plink_bin <- Sys.which("plink")
  50. if (plink_bin == "" || is.na(plink_bin)) {
  51. stop("Could not find PLINK executable. Please set plink_bin to the path of the PLINK executable.")
  52. }
  53. }
  54. if(! "pval" %in% names(dat))
  55. {
  56. if( "p" %in% names(dat))
  57. {
  58. warning("No 'pval' column found in dat object. Using 'p' column.")
  59. dat[["pval"]] <- dat[["p"]]
  60. } else {
  61. warning("No 'pval' column found in dat object. Setting p-values for all SNPs to clump_p parameter.")
  62. dat[["pval"]] <- clump_p
  63. }
  64. }
  65. if(! "id" %in% names(dat))
  66. {
  67. dat$id <- random_string(1)
  68. }
  69. ids <- unique(dat[["id"]])
  70. res <- list()
  71. for(i in seq_along(ids))
  72. {
  73. x <- subset(dat, dat[["id"]] == ids[i])
  74. if(nrow(x) == 1)
  75. {
  76. message("Only one SNP for ", ids[i])
  77. res[[i]] <- x
  78. } else {
  79. if(is.null(bfile))
  80. {
  81. message("Clumping ", ids[i], ", ", nrow(x), " variants, using ", pop, " population reference")
  82. res[[i]] <- ld_clump_api(x, clump_kb=clump_kb, clump_r2=clump_r2, clump_p=clump_p, pop=pop, opengwas_jwt=opengwas_jwt, ...)
  83. } else {
  84. message("Clumping ", ids[i], ", ", nrow(x), " variants, using: ", bfile)
  85. res[[i]] <- ld_clump_local(x, clump_kb=clump_kb, clump_r2=clump_r2, clump_p=clump_p, bfile=bfile, plink_bin=plink_bin)
  86. }
  87. }
  88. }
  89. res <- dplyr::bind_rows(res)
  90. return(res)
  91. }
  92. #' Perform clumping on the chosen variants using the API
  93. #'
  94. #' @param dat Dataframe. Must have a variant name column (`variant`) and pval column called `pval`.
  95. #' If `id` is present then clumping will be done per unique id.
  96. #' @param clump_kb Clumping kb window. Default is very strict, `10000`
  97. #' @param clump_r2 Clumping r2 threshold. Default is very strict, `0.001`
  98. #' @param clump_p Clumping sig level for index variants. Default = `1` (i.e. no threshold)
  99. #' @param pop Super-population to use as reference panel. Default = `"EUR"`.
  100. #' Options are `"EUR"`, `"SAS"`, `"EAS"`, `"AFR"`, `"AMR"`
  101. #' @param opengwas_jwt Used to authenticate protected endpoints. Login to <https://api.opengwas.io> to obtain a jwt. Provide the jwt string here, or store in .Renviron under the keyname OPENGWAS_JWT.
  102. #' @param ... Additional arguments passed to `api_query()`.
  103. #' @return Data frame of only independent variants
  104. ld_clump_api <- function(dat, clump_kb=10000, clump_r2=0.001, clump_p=1, pop="EUR", opengwas_jwt=get_opengwas_jwt(), ...)
  105. {
  106. res <- api_query('ld/clump',
  107. query = list(
  108. rsid = dat[["rsid"]],
  109. pval = dat[["pval"]],
  110. pthresh = clump_p,
  111. r2 = clump_r2,
  112. kb = clump_kb,
  113. pop = pop
  114. ),
  115. opengwas_jwt=opengwas_jwt, ...
  116. ) %>% get_query_content()
  117. y <- subset(dat, !dat[["rsid"]] %in% res)
  118. if(nrow(y) > 0)
  119. {
  120. message("Removing ", length(y[["rsid"]]), " of ", nrow(dat), " variants due to LD with other variants or absence from LD reference panel")
  121. }
  122. return(subset(dat, dat[["rsid"]] %in% res))
  123. }
  124. #' Wrapper for clump function using local plink binary and ld reference dataset
  125. #'
  126. #' @param dat Dataframe. Must have a variant name column (`variant`) and pval column called `pval`.
  127. #' If `id` is present then clumping will be done per unique id.
  128. #' @param clump_kb Clumping kb window. Default is very strict, `10000`
  129. #' @param clump_r2 Clumping r2 threshold. Default is very strict, `0.001`
  130. #' @param clump_p Clumping sig level for index variants. Default = `1` (i.e. no threshold)
  131. #' @param bfile If this is provided then will use the API. Default = `NULL`
  132. #' @param plink_bin Specify path to plink binary. Default = `NULL`.
  133. #' See \url{https://github.com/MRCIEU/genetics.binaRies} for convenient access to plink binaries
  134. #' @importFrom utils read.table
  135. #' @importFrom utils write.table
  136. #' @export
  137. #' @return data frame of clumped variants
  138. ld_clump_local <- function(dat, clump_kb, clump_r2, clump_p, bfile, plink_bin)
  139. {
  140. # Make textfile
  141. shell <- ifelse(Sys.info()['sysname'] == "Windows", "cmd", "sh")
  142. fn <- tempfile()
  143. write.table(data.frame(SNP=dat[["rsid"]], P=dat[["pval"]]), file=fn, row.names=FALSE, col.names=TRUE, quote=FALSE)
  144. fun2 <- paste0(
  145. shQuote(plink_bin, type=shell),
  146. " --bfile ", shQuote(bfile, type=shell),
  147. " --clump ", shQuote(fn, type=shell),
  148. " --clump-p1 ", clump_p,
  149. " --clump-r2 ", clump_r2,
  150. " --clump-kb ", clump_kb,
  151. " --out ", shQuote(fn, type=shell)
  152. )
  153. system(fun2)
  154. res <- read.table(paste(fn, ".clumped", sep=""), header=TRUE)
  155. unlink(paste(fn, "*", sep=""))
  156. y <- subset(dat, !dat[["rsid"]] %in% res[["SNP"]])
  157. if(nrow(y) > 0)
  158. {
  159. message("Removing ", length(y[["rsid"]]), " of ", nrow(dat), " variants due to LD with other variants or absence from LD reference panel")
  160. }
  161. return(subset(dat, dat[["rsid"]] %in% res[["SNP"]]))
  162. }
  163. random_string <- function(n=1, len=6)
  164. {
  165. randomString <- character(n)
  166. for (i in seq_len(n))
  167. {
  168. randomString[i] <- paste(sample(c(0:9, letters, LETTERS),
  169. len, replace=TRUE),
  170. collapse="")
  171. }
  172. return(randomString)
  173. }
  174. #' Check which rsids are present in a remote LD reference panel
  175. #'
  176. #' Provide a list of rsids that you may want to perform LD operations on to
  177. #' check if they are present in the LD reference panel. If they are not then
  178. #' some functions e.g. [`ld_clump`] will exclude them from the analysis,
  179. #' so you may want to consider how to handle those variants in your data.
  180. #'
  181. #' @param rsid Array of rsids to check
  182. #' @param pop Super-population to use as reference panel. Default = `"EUR"`.
  183. #' Options are `"EUR"`, `"SAS"`, `"EAS"`, `"AFR"`, `"AMR"`
  184. #' @param opengwas_jwt Used to authenticate protected endpoints. Login to <https://api.opengwas.io> to obtain a jwt. Provide the jwt string here, or store in .Renviron under the keyname OPENGWAS_JWT.
  185. #' @param ... Additional arguments passed to `api_query()`.
  186. #'
  187. #' @export
  188. #' @return Array of rsids that are present in the LD reference panel
  189. ld_reflookup <- function(rsid, pop='EUR', opengwas_jwt=get_opengwas_jwt(), ...)
  190. {
  191. res <- api_query('ld/reflookup',
  192. query = list(
  193. rsid = rsid,
  194. pop = pop
  195. ),
  196. opengwas_jwt=opengwas_jwt, ...
  197. ) %>% get_query_content()
  198. if(length(res) == 0)
  199. {
  200. res <- character(0)
  201. }
  202. return(res)
  203. }

ld_clump.R at commit 5097bb9, under other · at the source

Overview

Authors: Chloe Slaney1,2, Naoise Mac Giollabhui3, Peter J van der Most4, Ensor R Palacios1, Lifelines Cohort Study5,6,7, Harold Snieder4, Michel Nivard1, Gibran Hemani1, Catharina A Hartman8, Golam M Khandaker1,2,9,10
  1. Medical Research Council Integrative Epidemiology Unit, Bristol Medical School, University of Bristol, Oakfield House, Oakfield Grove, Bristol, BS8 2BN UK
  2. Centre for Academic Mental Health, Population Health Sciences, Bristol Medical School, University of Bristol, Bristol, UK
  3. Depression Clinical and Research Program, Department of Psychiatry, Massachusetts General Hospital, Boston, USA
  4. Department of Epidemiology, University of Groningen, University Medical Center Groningen, Groningen, The Netherlands
  5. Department of Genetics, University of Groningen, University Medical Center Groningen, Groningen, The Netherlands
  6. Department of Pediatrics, University of Groningen, University Medical Center Groningen, Groningen, The Netherlands
  7. Institute for Molecular Bioscience, The University of Queensland, Brisbane, Queensland Australia
  8. Interdisciplinary Center Psychopathology and Emotion Regulation, Department of Psychiatry, University of Groningen, University Medical Center Groningen, Groningen, The Netherlands
  9. NIHR Bristol Biomedical Research Centre and NIHR Bristol Clinical Research Facility, University Hospitals Bristol and Weston NHS Foundation Trust, Bristol, UK, Bristol, UK
  10. Avon and Wiltshire Mental Health Partnership NHS Trust, Bristol, UK
Journal: Scientific reports, volume 16, issue 1, article 24055
Dates: received 28 July 2025; accepted 29 April 2026; published online 25 May 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1038/s41598-026-51734-1 · PMID 42185370 · PMCID PMC13439573 · OpenAlex W7162291590
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: genetics / omics (modality), human (organism), depression (population), cognitive (subfield)
Methods: Smoothing, state filtering, decompositions, Preprocessing
Keywords: Diseases, Genetics, Neuroscience, Psychology, Risk factors
MeSH: Affect*, Cognition*, Genome-Wide Association Study*, Female, Genetic Predisposition to Disease, Humans, Male, Phenotype, Polymorphism, Single Nucleotide (* major topic)
Topic: Genetic Associations and Epidemiology (Genetics, Biochemistry, Genetics and Molecular Biology), according to OpenAlex
Funding: Wellcome Trust (201486/Z/16/Z, 201486/B/16/Z); Medical Research Council (MC_UU_00032/6)
Citations: not cited yet (Europe PMC); 74 references in the paper

Abstract

Altered affect and cognitive dysfunction are burdensome features of many neuropsychiatric conditions that are highly comorbid, remain poorly understood, and have few efficacious treatments. Exploring their genetic architecture and causal relationships may provide insight into their aetiology and comorbidity. Compared to related but distinct traits (depression, wellbeing, neuroticism), findings from genome-wide association studies (GWAS) of positive and negative affect may be informative due to these phenotypes being less heterogenous (compared to broader phenotypes of wellbeing and depression), whilst still retaining important clinical relevance as potential targets for indirect intervention (compared to neuroticism which may be less modifiable). Using data from the Lifelines Cohort Study, we conducted the first GWAS of positive and negative affect using a validated measure (N = 57,946), and four cognitive domains: working memory, reaction time, learning and memory, and executive function (N ≥ 35,729). We then assessed genetic overlap and potential causal relationships using genetic correlation and bidirectional Mendelian randomization (MR) analyses, incorporating large GWAS on related—albeit distinct—phenotypes (depression, anxiety, wellbeing, general cognitive ability [GCA]). We identified one SNP that reached genome-wide significance (p < 5 × 10–8) for reaction time, and many independent SNPs with suggestive associations for other phenotypes (N = 11–20). For most phenotypes, exploratory gene mapping indicated that SNPs with suggestive associations have higher gene expression in brain tissue compared to other tissues; however, this only met Bonferroni-corrected p-value threshold criteria for positive affect and visual learning and memory. Genetic correlations between negative and positive affect suggest that they are dissociable constructs (rg = − 0.18). GCA has higher genetic overlap with negative affect than with positive affect (rg = − 0.19 vs − 0.06), which could indicate that negative affect and GCA have a higher shared neural basis and/or they exhibit causal relationships. Supporting the latter, MR analyses indicated that higher GCA may reduce negative affect, depression, and anxiety, and increase wellbeing, with little impact on positive affect. Conversely, MR analyses indicated that higher risk of depression and lower wellbeing may causally reduce GCA. Together, these findings suggest that interventions that indirectly influence GCA may be valid targets to prevent negative affect, while interventions that indirectly influence depression/wellbeing may be valid targets for GCA.

Supplementary Information: The online version contains supplementary material available at 10.1038/s41598-026-51734-1.

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 1 match between paragraphs and lines of code.

MRCIEU/ieugwasr

License: other
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: 5097bb98167d2a7634ea96b58854ee319a0c6f57, 28 September 2026
Languages: R (21)
Size: 76 files, 21 scripts
Software Heritage: not archived
Found in: the references
Holds: README, license file, environment (DESCRIPTION), tests, continuous integration, documentation, 2 notebooks
Not found: CITATION.cff
Tools: tidyverse (7 files)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
24 files

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;
  • 21 scripts, each with its path and the digest of its content;
  • 1 match 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

Data availability

Due to the sensitivity of the data involved, these data are published as a restricted dataset at the University of Bristol Research Data Repository data.bris, at 10.5523/bris.2uooem4mn8d062nyriuy7m5oyr. The metadata record published openly by the repository at this location clearly states how data can be accessed by bona fide researchers. Requests for access will be considered by the University of Bristol Research Data Service, who will assess the motives of potential data re-users before deciding to grant access to the data. No authentic request for access will be refused and re-users will not be charged for any part of this process.

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

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 28 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 10 authors, 5 keywords, 9 MeSH terms, 2 funders, 73 references.

Cite

This paper

Slaney, C., Mac Giollabhui, N., van der Most, P. J., Palacios, E. R., Lifelines Cohort Study, Snieder, H., Nivard, M., Hemani, G., Hartman, C. A., & Khandaker, G. M. (2026). Genome-wide association study of positive and negative affect reveals shared genetic architecture and a potential causal relationship with cognition. Scientific reports, 16(1), 24055. https://doi.org/10.1038/s41598-026-51734-1

BibTeX

@article{slaney2026genome,
author = {Slaney, Chloe and Mac Giollabhui, Naoise and van der Most, Peter J and Palacios, Ensor R and {Lifelines Cohort Study} and Snieder, Harold and Nivard, Michel and Hemani, Gibran and Hartman, Catharina A and Khandaker, Golam M},
title = {{Genome-wide association study of positive and negative affect reveals shared genetic architecture and a potential causal relationship with cognition}},
journal = {Scientific reports},
year = {2026},
month = may,
volume = {16},
number = {1},
pages = {24055},
publisher = {Nature Publishing Group},
issn = {2045-2322},
doi = {10.1038/s41598-026-51734-1},
url = {https://doi.org/10.1038/s41598-026-51734-1},
pmid = {42185370},
pmcid = {PMC13439573}
}

RIS

TY - JOUR
AU - Slaney, Chloe
AU - Mac Giollabhui, Naoise
AU - van der Most, Peter J
AU - Palacios, Ensor R
AU - Lifelines Cohort Study
AU - Snieder, Harold
AU - Nivard, Michel
AU - Hemani, Gibran
AU - Hartman, Catharina A
AU - Khandaker, Golam M
TI - Genome-wide association study of positive and negative affect reveals shared genetic architecture and a potential causal relationship with cognition
T2 - Scientific reports
J2 - Sci Rep
PY - 2026
DA - 2026/05/25
VL - 16
IS - 1
SP - 24055
SN - 2045-2322
PB - Nature Publishing Group
DO - 10.1038/s41598-026-51734-1
UR - https://doi.org/10.1038/s41598-026-51734-1
LA - en
ER -

CSL-JSON

{
"id": "10.1038/s41598-026-51734-1",
"type": "article-journal",
"title": "Genome-wide association study of positive and negative affect reveals shared genetic architecture and a potential causal relationship with cognition",
"container-title": "Scientific reports",
"author": [
{
"family": "Slaney",
"given": "Chloe"
},
{
"family": "Mac Giollabhui",
"given": "Naoise"
},
{
"family": "van der Most",
"given": "Peter J"
},
{
"family": "Palacios",
"given": "Ensor R"
},
{
"literal": "Lifelines Cohort Study"
},
{
"family": "Snieder",
"given": "Harold"
},
{
"family": "Nivard",
"given": "Michel"
},
{
"family": "Hemani",
"given": "Gibran"
},
{
"family": "Hartman",
"given": "Catharina A"
},
{
"family": "Khandaker",
"given": "Golam M"
}
],
"container-title-short": "Sci Rep",
"volume": "16",
"issue": "1",
"page": "24055",
"DOI": "10.1038/s41598-026-51734-1",
"PMID": "42185370",
"PMCID": "PMC13439573",
"ISSN": "2045-2322",
"publisher": "Nature Publishing Group",
"URL": "https://doi.org/10.1038/s41598-026-51734-1",
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
25
]
]
}
}

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/s41562-026-02476-7 [code]
Genome-wide meta-analysis of quantitatively measured generalized anxiety symptoms in individuals of European ancestry.
Journal: Nature human behaviour
In common: tidyverse, genetics / omics, 9 references, author Peter J. van der Most
[2] doi:10.1038/s41562-026-02486-5 [code]
Genome-wide association studies of infant and toddler temperament in European and multi-ancestry populations.
Journal: Nature human behaviour
In common: tidyverse, genetics / omics, 7 references
[3] doi:10.1371/journal.pcbi.1014422 [code]
Deciphering cell type-specific causal genetic effects on brain imaging-derived phenotypes and disorders with single-cell Mendelian randomization.
Journal: PLoS computational biology
In common: tidyverse, genetics / omics, 7 references
[4] doi:10.1038/s41398-026-04137-9 [code]
An integrative mendelian randomisation and drug mechanism framework for target prioritisation and therapeutic repurposing in major depression.
Journal: Translational psychiatry
In common: depression, genetics / omics, 6 references
[5] doi:10.1038/s42003-026-10131-0 [code]
Shared genetic architecture between the topology of brain white matter structural connectome and fluid intelligence.
Journal: Communications biology
In common: genetics / omics, 7 references
[6] doi:10.1038/s41540-026-00754-8
Systematic proteomic analysis of neuroimaging metrics identifies therapeutic targets for pituitary neuroendocrine.
Journal: NPJ systems biology and applications
In common: genetics / omics, 7 references
[7] doi:10.1038/s41467-026-73428-y [code]
Regional heterogeneity in phenotypic and genetic associations between bone and brain in humans.
Journal: Nature communications
In common: tidyverse, genetics / omics, 6 references
[8] doi:10.1038/s41467-026-73996-z [code]
Genetic architecture of white matter microstructure captured by unsupervised deep representation learning of fractional anisotropy maps.
Journal: Nature communications
In common: tidyverse, genetics / omics, 6 references
[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 America
In common: tidyverse, genetics / omics, 5 references
[10] doi:10.3390/genes17080874 [code]
Multi-Omic Analysis of Cerebrospinal Fluid Metabolites in Autism Spectrum Disorder: Biomarker Identification, Metabolic Genetics Insights, and Network Toxicology.
Journal: Genes
In common: genetics / omics, 6 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.