OSCR

A massively parallel CRISPR-based screening platform for modifiers of neuronal depolarization.

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 › Single-cell analysis › Cluster overrepresentation analysis ↔ cshift/utils.py, lines 74–84 · score 0.54 · multiple hypothesis, Benjamini Hochberg, cshift

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

Python · 84 lines · 2.5 KB · MIT · 1 match

  1. import numpy as np
  2. from scipy.stats import chi2_contingency
  3. def chisquare_test(ref: np.ndarray, obs: np.ndarray) -> np.ndarray:
  4. """
  5. Multivariate chi-square test for each categorical variable abundance.
  6. Parameters
  7. ----------
  8. ref : np.ndarray
  9. Reference abundance of each categorical variable.
  10. obs : np.ndarray
  11. Observed abundance of each categorical variable.
  12. """
  13. x_max = ref.sum()
  14. y_max = obs.sum()
  15. pvalues = np.zeros(ref.size)
  16. for i in np.arange(pvalues.size):
  17. if ref[i] == 0 and obs[i] == 0:
  18. pvalues[i] = 1.0
  19. continue
  20. m = np.array([[ref[i], x_max - ref[i]], [obs[i], y_max - obs[i]]])
  21. _, pvalues[i], _, _ = chi2_contingency(m)
  22. return pvalues
  23. def aggregate_chisquare_test(ref: np.ndarray, obs: np.ndarray) -> np.ndarray:
  24. """
  25. Aggregate chi-square test for all categorical variables using multiple
  26. reference distributions. Aggregated using a geometric mean on each
  27. categorical p-value.
  28. Parameters
  29. ----------
  30. ref : np.ndarray
  31. Reference abundance of each categorical variable (2D matrix).
  32. obs : np.ndarray
  33. Observed abundance of each categorical variable (1D array).
  34. """
  35. pvalues = np.stack([chisquare_test(ref[i], obs) for i in np.arange(ref.shape[0])])
  36. return np.exp(np.log(pvalues).mean(axis=0))
  37. def percent_change(ref: np.ndarray, obs: np.ndarray) -> np.ndarray:
  38. """
  39. calculates the percent change between a reference group
  40. and a test group. Will first normalize the vectors so that
  41. their total will sum to 1
  42. """
  43. assert ref.size == obs.size
  44. r_norm = ref / ref.sum()
  45. t_norm = obs / obs.sum()
  46. with np.errstate(divide="ignore", invalid="ignore"):
  47. pcc = (t_norm - r_norm) / r_norm
  48. pcc[np.isinf(pcc)] = 1.0
  49. pcc[np.isnan(pcc)] = 0.0
  50. return pcc
  51. def false_discovery_rate(pval: np.ndarray) -> np.ndarray:
  52. """
  53. converts the pvalues into false discovery rate q-values
  54. """
  55. dim = pval.shape
  56. qval = p_adjust_bh(pval.ravel())
  57. return qval.reshape(dim)
  58. def p_adjust_bh(p: np.ndarray) -> np.ndarray:
  59. """
  60. Benjamini-Hochberg p-value correction for multiple hypothesis testing.
  61. https://stackoverflow.com/a/33532498
  62. """
  63. p = np.asfarray(p)
  64. by_descend = p.argsort()[::-1]
  65. by_orig = by_descend.argsort()
  66. steps = float(len(p)) / np.arange(len(p), 0, -1)
  67. q = np.minimum(1, np.minimum.accumulate(steps * p[by_descend]))
  68. return q[by_orig]

utils.py at commit f232215, under MIT · at the source

Overview

Authors: Steven C Boggess1,2, Vaidehi Gandhi1,2, Ming-Chi Tsai3, Emily Marzette1,2, Noam Teyssier1,2,4, Joanna Yu-Ying Chou1,2,5, Xiaoyu Hu6, Amber Cramer3, Lin Yadanar1,2, Kunal Shroff1,2,7,8, Claire G Jeong3, Celine Eidenschenk6, Jesse E Hanson3, Ruilin Tian1,2, Martin Kampmann1,2,9
  1. Institute for Neurodegenerative Diseases, University of California, San Francisco, San Francisco, CA USA
  2. Weill Institute for Neurosciences, University of California, San Francisco, San Francisco, CA USA
  3. Department of Neuroscience, Genentech, South San Francisco, CA USA
  4. Biological and Medical Informatics Graduate Program, University of California, San Francisco, San Francisco, CA USA
  5. City College of San Francisco, San Francisco, CA USA
  6. Department of Functional Genomics, Genentech, South San Francisco, CA USA
  7. Neuroscience Graduate Program, University of California, San Francisco, San Francisco, CA USA
  8. Medical Scientist Training Program, University of California, San Francisco, San Francisco, CA USA
  9. Department of Biochemistry and Biophysics, University of California, San Francisco, San Francisco, CA USA
Journal: Nature communications, volume 17, issue 1, article 9299
Dates: received 5 June 2025; accepted 14 July 2026; published online 1 August 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1038/s41467-026-75882-0 · PMID 42669708 · PMCID PMC13526836 · OpenAlex W7172102303
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), cellular / molecular (subfield)
Methods: Statistics, Smoothing, state filtering, decompositions, Single-unit activity, calcium imaging
Keywords: Excitability, Genetics of the nervous system
MeSH: Clustered Regularly Interspaced Short Palindromic Repeats*, CRISPR-Cas Systems*, Neurons*, Calcium, Humans, Induced Pluripotent Stem Cells (* major topic)
Topic: CRISPR and Genetic Engineering (Molecular Biology, Biochemistry, Genetics and Molecular Biology), according to OpenAlex
Funding: U.S. Department of Health & Human Services | NIH | National Institute of Neurological Disorders and Stroke (NINDS) (U54 NS123746); Alzheimer’s Association (23AARF-1027616); NINDS NIH HHS (U54 NS123746); California Institute for Regenerative Medicine (CIRM) (EDUC2-12730)
Citations: cited by 1 paper (Europe PMC); 103 references in the paper
Research resources: RRID:SCR_013575

Abstract

Understanding the complex interplay between gene expression and neuronal activity is crucial for unraveling the molecular mechanisms underlying cognitive function and neurological disorders. Here, we developed pooled screens using CRISPR interference (CRISPRi) and the fluorescent calcium integrator CaMPARI2 to evaluate genetic modifiers of neuronal depolarization. Using this screening method, we evaluated 1343 genes for their effect on depolarization in a human iPSC-derived neuron model, revealing potential links to neurodegenerative and neurodevelopmental disorders. These genes include known regulators of neuronal excitability, such as TARPs and ion channels, as well as genes associated with autism spectrum disorder and Alzheimer’s disease not previously described to affect neuronal depolarization. This CRISPRi-based screening platform offers a versatile tool to uncover molecular mechanisms controlling neuronal function in health and disease.

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

noamteyssier/sgcount

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: c33819359d78986185e12881caaa4a0d96e995d6, 17 June 2026
Languages: Rust (10)
Size: 22 files, 10 scripts
Software Heritage: not archived
Found in: “Code availability”
Holds: README, continuous integration
Not found: license file, CITATION.cff, environment file, tests, documentation
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
11 files

noamteyssier/crispr_screen

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: 82e282c725dc3883df13e9618b1b00a739815f4b, 22 September 2025
Languages: Rust (34), JavaScript (2)
Size: 68 files, 36 scripts
Software Heritage: not archived
Found in: “Code availability”
Holds: README, license file, continuous integration, documentation
Not found: CITATION.cff, environment file, tests
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
38 files

noamteyssier/adpbulk

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: 20ab1f6eaa3a81843cd74905dde705a2e90bd2fb, 17 June 2026
Languages: Python (3)
Size: 8 files, 3 scripts
Software Heritage: not archived
Found in: “Code availability”
Holds: README, license file, environment (pyproject.toml), tests, continuous integration
Not found: CITATION.cff, documentation
Tools: anndata (2 files), NumPy (2 files), pandas (2 files)
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
5 files

noamteyssier/cshift

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: f2322154b73ed907c03215ea5ba898f5a3abdd57, 17 June 2026
Languages: Python (6)
Size: 11 files, 6 scripts
Software Heritage: not archived
Found in: “Code availability”
Holds: README, license file, environment (setup.py), tests, continuous integration
Not found: CITATION.cff, documentation
Tools: NumPy (4 files), Matplotlib (2 files), pandas (2 files), SciPy (2 files), seaborn (2 files)
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
8 files

noamteyssier/idea

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: e4027495e73201ac305c96e3f7708575c2c1de35, 17 June 2026
Languages: Python (6)
Size: 30 files, 6 scripts
Software Heritage: not archived
Found in: “Code availability”
Holds: README, license file, environment (pyproject.toml, docs/requirements.txt), documentation
Not found: CITATION.cff, tests, continuous integration
Tools: NumPy (3 files), pandas (2 files), Matplotlib (1 file), NetworkX (1 file)
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
8 files

Zenodo 12774353

License: CC-BY-4.0
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: the references
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 26 September 2026: the link answers (HTTP 200)
  • 26 September 2026: the link answers (HTTP 200)
11 files
At the source:

Zenodo 12774305

License: CC-BY-4.0
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: the references
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 26 September 2026: the link answers (HTTP 200)
  • 26 September 2026: the link answers (HTTP 200)
38 files
At the source:

Zenodo 20736458

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: the references
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: anndata (2 files), NumPy (2 files), pandas (2 files)
Availability: 1 check, the latest on 26 September 2026: the link answers (HTTP 200)
  • 26 September 2026: the link answers (HTTP 200)
5 files
At the source:

Zenodo 20736463

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: the references
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: NumPy (4 files), Matplotlib (2 files), pandas (2 files), SciPy (2 files), seaborn (2 files)
Availability: 1 check, the latest on 26 September 2026: the link answers (HTTP 200)
  • 26 September 2026: the link answers (HTTP 200)
8 files
At the source:

Zenodo 20736467

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: the references
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: NumPy (3 files), pandas (2 files), Matplotlib (1 file), NetworkX (1 file)
Availability: 1 check, the latest on 26 September 2026: the link answers (HTTP 200)
  • 26 September 2026: the link answers (HTTP 200)
8 files
At the source:

Code availability

The sgcount94 and crispr_screen95 bioinformatics pipelines for analysis of pooled screens are available on the Kampmann Lab website (https://kampmannlab.ucsf.edu/sgcount, https://kampmannlab.ucsf.edu/crisprscreen) and on GitHub (https://github.com/noamteyssier/sgcount, https://github.com/noamteyssier/crispr_screen). Analysis pipelines used to analyze CROP-seq data are open source and available on GitHub (adpbulk98-https://github.com/noamteyssier/adpbulk; cshift100-https://github.com/noamteyssier/cshift; IDEA103-https://github.com/noamteyssier/idea). The CellProfiler pipelines will be made available on request to the corresponding authors (M.K.) and will also be submitted to the CellProfiler depository of published pipelines (https://cellprofiler.org/examples/ published_pipelines.html) upon publication.

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

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:

  • 10 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 122 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 Statement

All screen datasets will be shared on the CRISPRbrain data commons (http://crisprbrain.org/) and will be shared upon request (associated with Figs. 2 and 4 and Supplementary Fig. 2). Single-cell RNA sequencing data is available through NCBI GEO (GSE289235 (https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE289235)). The CaMPARI2 screen counts data generated in this study will deposited in the CRISPRbrain data commons (http://crisprbrain.org/) and will also be shared upon request (associated with Figs. 2 and 4 and Supplementary Fig. 2). The CROP-seq data generated in this study have been deposited in the NCBI GEO under accession code GSE289235 (https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE289235) https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE289235. There are no restrictions on data availability. Source data are provided with this paper.

The sgcount94 and crispr_screen95 bioinformatics pipelines for analysis of pooled screens are available on the Kampmann Lab website (https://kampmannlab.ucsf.edu/sgcount, https://kampmannlab.ucsf.edu/crisprscreen) and on GitHub (https://github.com/noamteyssier/sgcount, https://github.com/noamteyssier/crispr_screen). Analysis pipelines used to analyze CROP-seq data are open source and available on GitHub (adpbulk98-https://github.com/noamteyssier/adpbulk; cshift100-https://github.com/noamteyssier/cshift; IDEA103-https://github.com/noamteyssier/idea). The CellProfiler pipelines will be made available on request to the corresponding authors (M.K.) and will also be submitted to the CellProfiler depository of published pipelines (https://cellprofiler.org/examples/ published_pipelines.html) upon publication.

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, 15 authors, 2 keywords, 6 MeSH terms, 4 funders, 102 references, 1 RRID.

Cite

This paper

Boggess, S. C., Gandhi, V., Tsai, M.-C., Marzette, E., Teyssier, N., Chou, J. Y.-Y., Hu, X., Cramer, A., Yadanar, L., Shroff, K., Jeong, C. G., Eidenschenk, C., Hanson, J. E., Tian, R., & Kampmann, M. (2026). A massively parallel CRISPR-based screening platform for modifiers of neuronal depolarization. Nature communications, 17(1), 9299. https://doi.org/10.1038/s41467-026-75882-0

BibTeX

@article{boggess2026massively,
author = {Boggess, Steven C and Gandhi, Vaidehi and Tsai, Ming-Chi and Marzette, Emily and Teyssier, Noam and Chou, Joanna Yu-Ying and Hu, Xiaoyu and Cramer, Amber and Yadanar, Lin and Shroff, Kunal and Jeong, Claire G and Eidenschenk, Celine and Hanson, Jesse E and Tian, Ruilin and Kampmann, Martin},
title = {{A massively parallel CRISPR-based screening platform for modifiers of neuronal depolarization}},
journal = {Nature communications},
year = {2026},
month = aug,
volume = {17},
number = {1},
pages = {9299},
publisher = {Nature Publishing Group},
issn = {2041-1723},
doi = {10.1038/s41467-026-75882-0},
url = {https://doi.org/10.1038/s41467-026-75882-0},
pmid = {42669708},
pmcid = {PMC13526836}
}

RIS

TY - JOUR
AU - Boggess, Steven C
AU - Gandhi, Vaidehi
AU - Tsai, Ming-Chi
AU - Marzette, Emily
AU - Teyssier, Noam
AU - Chou, Joanna Yu-Ying
AU - Hu, Xiaoyu
AU - Cramer, Amber
AU - Yadanar, Lin
AU - Shroff, Kunal
AU - Jeong, Claire G
AU - Eidenschenk, Celine
AU - Hanson, Jesse E
AU - Tian, Ruilin
AU - Kampmann, Martin
TI - A massively parallel CRISPR-based screening platform for modifiers of neuronal depolarization
T2 - Nature communications
J2 - Nat Commun
PY - 2026
DA - 2026/08/01
VL - 17
IS - 1
SP - 9299
SN - 2041-1723
PB - Nature Publishing Group
DO - 10.1038/s41467-026-75882-0
UR - https://doi.org/10.1038/s41467-026-75882-0
LA - en
ER -

CSL-JSON

{
"id": "10.1038/s41467-026-75882-0",
"type": "article-journal",
"title": "A massively parallel CRISPR-based screening platform for modifiers of neuronal depolarization",
"container-title": "Nature communications",
"author": [
{
"family": "Boggess",
"given": "Steven C"
},
{
"family": "Gandhi",
"given": "Vaidehi"
},
{
"family": "Tsai",
"given": "Ming-Chi"
},
{
"family": "Marzette",
"given": "Emily"
},
{
"family": "Teyssier",
"given": "Noam"
},
{
"family": "Chou",
"given": "Joanna Yu-Ying"
},
{
"family": "Hu",
"given": "Xiaoyu"
},
{
"family": "Cramer",
"given": "Amber"
},
{
"family": "Yadanar",
"given": "Lin"
},
{
"family": "Shroff",
"given": "Kunal"
},
{
"family": "Jeong",
"given": "Claire G"
},
{
"family": "Eidenschenk",
"given": "Celine"
},
{
"family": "Hanson",
"given": "Jesse E"
},
{
"family": "Tian",
"given": "Ruilin"
},
{
"family": "Kampmann",
"given": "Martin"
}
],
"container-title-short": "Nat Commun",
"volume": "17",
"issue": "1",
"page": "9299",
"DOI": "10.1038/s41467-026-75882-0",
"PMID": "42669708",
"PMCID": "PMC13526836",
"ISSN": "2041-1723",
"publisher": "Nature Publishing Group",
"URL": "https://doi.org/10.1038/s41467-026-75882-0",
"language": "en",
"issued": {
"date-parts": [
[
2026,
8,
1
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1038/s44400-026-00125-4 [code]
Regulators of interferon-responsive microglia uncovered by Genome-wide CRISPRi screening.
Journal: NPJ dementia
In common: cellular / molecular, 4 references, author Martin Kampmann
[2] 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 communications
In common: anndata, NetworkX, seaborn, 4 other tools, 3 references
[3] doi:10.1016/j.xgen.2026.101284 [code]
NERINE reveals rare variant associations in gene networks across phenotypes and implicates an SNCA-PRL-LRRK2 subnetwork in Parkinson's disease.
Journal: Cell genomics
In common: NetworkX, seaborn, pandas, 3 other tools, cellular / molecular, 3 references
[4] doi:10.1186/s13073-026-01704-z [code]
Gene expression profiling enables refined parcellation of cortical layers in the heterogeneous human cerebral cortex.
Journal: Genome medicine
In common: anndata, seaborn, pandas, 3 other tools, cellular / molecular, 3 references
[5] doi:10.1016/j.cell.2026.05.047 [code]
An emergent disease-associated motor neuron state precedes cell death in ALS.
Journal: Cell
In common: anndata, seaborn, pandas, 3 other tools, cellular / molecular, 4 references
[6] doi:10.1038/s41597-026-07173-8 [code]
The Cell Ontology in the age of single-cell omics.
Journal: Scientific data
In common: anndata, seaborn, pandas, 3 other tools, cellular / molecular, 3 references
[7] doi:10.1016/j.xcrm.2026.102766 [code]
A longitudinal single-cell and spatial multiomic atlas of pediatric high-grade glioma.
Journal: Cell reports. Medicine
In common: anndata, NetworkX, seaborn, 4 other tools, cellular / molecular, 2 references
[8] doi:10.1038/s41593-026-02376-z [code]
A framework for comparative analysis of human and mouse cortical neuron dendrites in corresponding brain regions.
Journal: Nature neuroscience
In common: anndata, seaborn, pandas, 3 other tools, 3 references
[9] doi:10.7554/elife.106347 [code]
Esr1-dependent signaling and transcriptional maturation in the medial preoptic area of the hypothalamus shape the development of mating behavior during adolescence.
Journal: eLife
In common: anndata, NetworkX, seaborn, 4 other tools, 2 references
[10] doi:10.1016/j.celrep.2026.117073 [code]
Single-cell epigenomics uncovers heterochromatin instability and transcription factor dysfunction during mouse brain aging.
Journal: Cell reports
In common: anndata, NetworkX, seaborn, 4 other tools, cellular / molecular, 2 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.