OSCR

FAM134B-mediated ER-phagy degrades APP and suppresses Alzheimer's disease pathology.

Code ↔ Paper

2 matches 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 2 matches
  1. [1] § Methods › Generation of knockout cell lines using CRISPR-Cas9 gene editing ↔ vignettes/mixscape_vignette.Rmd, lines 212–259 · score 0.58 · sgRNA, gRNAs, knockout, gene, cell
  2. [2] § Methods › Bioinformatics analysis ↔ R/differential_expression.R, lines 455–538 · score 0.51 · limma, RNA seq, Gene Expression, Rank, memory

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 Markdown · 375 lines · 13 KB · other · 1 match

  1. ---
  2. title: "Mixscape Vignette"
  3. output:
  4. html_document:
  5. theme: united
  6. df_print: kable
  7. date: 'Compiled: `r format(Sys.Date(), "%B %d, %Y")`'
  8. ---
  9. ```{r setup, include=FALSE}
  10. all_times <- list() # store the time for each chunk
  11. knitr::knit_hooks$set(time_it = local({
  12. now <- NULL
  13. function(before, options) {
  14. if (before) {
  15. now <<- Sys.time()
  16. } else {
  17. res <- difftime(Sys.time(), now)
  18. all_times[[options$label]] <<- res
  19. }
  20. }
  21. }))
  22. knitr::opts_chunk$set(
  23. message = FALSE,
  24. warning = FALSE,
  25. time_it = TRUE,
  26. error = TRUE
  27. )
  28. options(SeuratData.repo.use = 'seurat.nygenome.org')
  29. ```
  30. # Overview
  31. This tutorial demonstrates how to use mixscape for the analyses of single-cell pooled CRISPR screens. We introduce new Seurat functions for:
  32. 1. Calculating the perturbation-specific signature of every cell.
  33. 2. Identifying and removing cells that have 'escaped' CRISPR perturbation.
  34. 3. Visualizing similarities/differences across different perturbations.
  35. # Loading required packages
  36. ```{r pkgs1}
  37. # Load packages.
  38. library(Seurat)
  39. library(SeuratData)
  40. library(ggplot2)
  41. library(patchwork)
  42. library(scales)
  43. library(dplyr)
  44. library(reshape2)
  45. # Download dataset using SeuratData.
  46. InstallData(ds = "thp1.eccite")
  47. # Setup custom theme for plotting.
  48. custom_theme <- theme(
  49. plot.title = element_text(size=16, hjust = 0.5),
  50. legend.key.size = unit(0.7, "cm"),
  51. legend.text = element_text(size = 14))
  52. ```
  53. # Loading Seurat object containing ECCITE-seq dataset
  54. We use a 111 gRNA ECCITE-seq dataset generated from stimulated THP-1 cells that was recently published from our lab in bioRxiv [Papalexi et al. 2020](https://www.biorxiv.org/content/10.1101/2020.06.28.175596v1). This dataset can be easily downloaded from the [SeuratData](https://github.com/satijalab/seurat-data) package.
  55. ```{r eccite.load}
  56. # Load object.
  57. eccite <- LoadData(ds = "thp1.eccite")
  58. # Normalize protein.
  59. eccite <- NormalizeData(
  60. object = eccite,
  61. assay = "ADT",
  62. normalization.method = "CLR",
  63. margin = 2)
  64. ```
  65. # RNA-based clustering is driven by confounding sources of variation
  66. Here, we follow the standard Seurat workflow to cluster cells based on their gene expression profiles. We expected to obtain perturbation-specific clusters however we saw that clustering is primarily driven by cell cycle phase and replicate ID. We only observed one perturbation-specific cluster containing cells expression IFNgamma pathway gRNAs.
  67. ```{r eccite.pp, fig.height = 10, fig.width = 15}
  68. # Prepare RNA assay for dimensionality reduction:
  69. # Normalize data, find variable features and scale data.
  70. DefaultAssay(object = eccite) <- 'RNA'
  71. eccite <- NormalizeData(object = eccite) %>% FindVariableFeatures() %>% ScaleData()
  72. # Run Principle Component Analysis (PCA) to reduce the dimensionality of the data.
  73. eccite <- RunPCA(object = eccite)
  74. # Run Uniform Manifold Approximation and Projection (UMAP) to visualize clustering in 2-D.
  75. eccite <- RunUMAP(object = eccite, dims = 1:40)
  76. # Generate plots to check if clustering is driven by biological replicate ID,
  77. # cell cycle phase or target gene class.
  78. p1 <- DimPlot(
  79. object = eccite,
  80. group.by = 'replicate',
  81. label = F,
  82. pt.size = 0.2,
  83. reduction = "umap", cols = "Dark2", repel = T) +
  84. scale_color_brewer(palette = "Dark2") +
  85. ggtitle("Biological Replicate") +
  86. xlab("UMAP 1") +
  87. ylab("UMAP 2") +
  88. custom_theme
  89. p2 <- DimPlot(
  90. object = eccite,
  91. group.by = 'Phase',
  92. label = F, pt.size = 0.2,
  93. reduction = "umap", repel = T) +
  94. ggtitle("Cell Cycle Phase") +
  95. ylab("UMAP 2") +
  96. xlab("UMAP 1") +
  97. custom_theme
  98. p3 <- DimPlot(
  99. object = eccite,
  100. group.by = 'crispr',
  101. pt.size = 0.2,
  102. reduction = "umap",
  103. split.by = "crispr",
  104. ncol = 1,
  105. cols = c("grey39","goldenrod3")) +
  106. ggtitle("Perturbation Status") +
  107. ylab("UMAP 2") +
  108. xlab("UMAP 1") +
  109. custom_theme
  110. # Visualize plots.
  111. ((p1 / p2 + plot_layout(guides = 'auto')) | p3 )
  112. ```
  113. # Calculating local perturbation signatures mitigates confounding effects
  114. To calculate local perturbation signatures we set the number of non-targeting Nearest Neighbors (NNs) equal to k=20 and we recommend that the user picks a k from the following range: 20 < k < 30. Intuitively, the user does not want to set k to a very small or large number as this will most likely not remove the technical variation from the dataset. Using the PRTB signature to cluster cells removes all technical variation and reveals one additional perturbation-specific cluster.
  115. ```{r eccite.cps, fig.height = 10, fig.width = 15}
  116. # Calculate perturbation signature (PRTB).
  117. eccite<- CalcPerturbSig(
  118. object = eccite,
  119. assay = "RNA",
  120. slot = "data",
  121. gd.class ="gene",
  122. nt.cell.class = "NT",
  123. reduction = "pca",
  124. ndims = 40,
  125. num.neighbors = 20,
  126. split.by = "replicate",
  127. new.assay.name = "PRTB")
  128. # Prepare PRTB assay for dimensionality reduction:
  129. # Normalize data, find variable features and center data.
  130. DefaultAssay(object = eccite) <- 'PRTB'
  131. # Use variable features from RNA assay.
  132. VariableFeatures(object = eccite) <- VariableFeatures(object = eccite[["RNA"]])
  133. eccite <- ScaleData(object = eccite, do.scale = F, do.center = T)
  134. # Run PCA to reduce the dimensionality of the data.
  135. eccite <- RunPCA(object = eccite, reduction.key = 'prtbpca', reduction.name = 'prtbpca')
  136. # Run UMAP to visualize clustering in 2-D.
  137. eccite <- RunUMAP(
  138. object = eccite,
  139. dims = 1:40,
  140. reduction = 'prtbpca',
  141. reduction.key = 'prtbumap',
  142. reduction.name = 'prtbumap')
  143. # Generate plots to check if clustering is driven by biological replicate ID,
  144. # cell cycle phase or target gene class.
  145. q1 <- DimPlot(
  146. object = eccite,
  147. group.by = 'replicate',
  148. reduction = 'prtbumap',
  149. pt.size = 0.2, cols = "Dark2", label = F, repel = T) +
  150. scale_color_brewer(palette = "Dark2") +
  151. ggtitle("Biological Replicate") +
  152. ylab("UMAP 2") +
  153. xlab("UMAP 1") +
  154. custom_theme
  155. q2 <- DimPlot(
  156. object = eccite,
  157. group.by = 'Phase',
  158. reduction = 'prtbumap',
  159. pt.size = 0.2, label = F, repel = T) +
  160. ggtitle("Cell Cycle Phase") +
  161. ylab("UMAP 2") +
  162. xlab("UMAP 1") +
  163. custom_theme
  164. q3 <- DimPlot(
  165. object = eccite,
  166. group.by = 'crispr',
  167. reduction = 'prtbumap',
  168. split.by = "crispr",
  169. ncol = 1,
  170. pt.size = 0.2,
  171. cols = c("grey39","goldenrod3")) +
  172. ggtitle("Perturbation Status") +
  173. ylab("UMAP 2") +
  174. xlab("UMAP 1") +
  175. custom_theme
  176. # Visualize plots.
  177. (q1 / q2 + plot_layout(guides = 'auto') | q3)
  178. ```
  179. # Mixscape identifies cells with no detectable perturbation
  180. Here, we are assuming each target gene class is a mixture of two Gaussian distributions one representing the knockout (KO) and the other the non-perturbed (NP) cells. We further assume that the distribution of the NP cells is identical to that of cells expressing non-targeting gRNAs (NT) and we try to estimate the distribution of KO cells using the function `normalmixEM()` from the mixtools package. Next, we calculate the posterior probability that a cell belongs to the KO distribution and classify cells with a probability higher than 0.5 as KOs. Applying this method we identify KOs in 11 target gene classes and detect variation in gRNA targeting efficiency within each class.
  181. ```{r eccite.mixscape, fig.height = 20, fig.width = 20, results="hide"}
  182. # Run mixscape.
  183. eccite <- RunMixscape(
  184. object = eccite,
  185. assay = "PRTB",
  186. slot = "scale.data",
  187. labels = "gene",
  188. nt.class.name = "NT",
  189. min.de.genes = 5,
  190. iter.num = 10,
  191. de.assay = "RNA",
  192. verbose = F,
  193. prtb.type = "KO")
  194. # Calculate percentage of KO cells for all target gene classes.
  195. df <- prop.table(table(eccite$mixscape_class.global, eccite$NT),2)
  196. df2 <- reshape2::melt(df)
  197. df2$Var2 <- as.character(df2$Var2)
  198. test <- df2[which(df2$Var1 == "KO"),]
  199. test <- test[order(test$value, decreasing = T),]
  200. new.levels <- test$Var2
  201. df2$Var2 <- factor(df2$Var2, levels = new.levels )
  202. df2$Var1 <- factor(df2$Var1, levels = c("NT", "NP", "KO"))
  203. df2$gene <- sapply(as.character(df2$Var2), function(x) strsplit(x, split = "g")[[1]][1])
  204. df2$guide_number <- sapply(as.character(df2$Var2),
  205. function(x) strsplit(x, split = "g")[[1]][2])
  206. df3 <- df2[-c(which(df2$gene == "NT")),]
  207. p1 <- ggplot(df3, aes(x = guide_number, y = value*100, fill= Var1)) +
  208. geom_bar(stat= "identity") +
  209. theme_classic()+
  210. scale_fill_manual(values = c("grey49", "grey79","coral1")) +
  211. ylab("% of cells") +
  212. xlab("sgRNA")
  213. p1 + theme(axis.text.x = element_text(size = 18, hjust = 1),
  214. axis.text.y = element_text(size = 18),
  215. axis.title = element_text(size = 16),
  216. strip.text = element_text(size=16, face = "bold")) +
  217. facet_wrap(vars(gene),ncol = 5, scales = "free") +
  218. labs(fill = "mixscape class") +theme(legend.title = element_text(size = 14),
  219. legend.text = element_text(size = 12))
  220. ```
  221. # Inspecting mixscape results
  222. To ensure mixscape is assigning the correct perturbation status to cells we can use the functions below to look at the perturbation score distributions and the posterior probabilities of cells within a target gene class (for example IFNGR2) and compare it to those of the NT cells. In addition, we can perform differential expression (DE) analyses and show that only IFNGR2 KO cells have reduced expression of the IFNG-pathway genes. Finally, as an independent check, we can look at the PD-L1 protein expression values in NP and KO cells for target genes known to be PD-L1 regulators.
  223. ```{r eccite.plots, fig.height = 10, fig.width = 15, results="hide"}
  224. # Explore the perturbation scores of cells.
  225. PlotPerturbScore(object = eccite,
  226. target.gene.ident = "IFNGR2",
  227. mixscape.class = "mixscape_class",
  228. col = "coral2") +labs(fill = "mixscape class")
  229. # Inspect the posterior probability values in NP and KO cells.
  230. VlnPlot(eccite, "mixscape_class_p_ko", idents = c("NT", "IFNGR2 KO", "IFNGR2 NP")) +
  231. theme(axis.text.x = element_text(angle = 0, hjust = 0.5),axis.text = element_text(size = 16) ,plot.title = element_text(size = 20)) +
  232. NoLegend() +
  233. ggtitle("mixscape posterior probabilities")
  234. # Run DE analysis and visualize results on a heatmap ordering cells by their posterior
  235. # probability values.
  236. Idents(object = eccite) <- "gene"
  237. MixscapeHeatmap(object = eccite,
  238. ident.1 = "NT",
  239. ident.2 = "IFNGR2",
  240. balanced = F,
  241. assay = "RNA",
  242. max.genes = 20, angle = 0,
  243. group.by = "mixscape_class",
  244. max.cells.group = 300,
  245. size=6.5) + NoLegend() +theme(axis.text.y = element_text(size = 16))
  246. # Show that only IFNG pathway KO cells have a reduction in PD-L1 protein expression.
  247. VlnPlot(
  248. object = eccite,
  249. features = "adt_PDL1",
  250. idents = c("NT","JAK2","STAT1","IFNGR1","IFNGR2", "IRF1"),
  251. group.by = "gene",
  252. pt.size = 0.2,
  253. sort = T,
  254. split.by = "mixscape_class.global",
  255. cols = c("coral3","grey79","grey39")) +
  256. ggtitle("PD-L1 protein") +
  257. theme(axis.text.x = element_text(angle = 0, hjust = 0.5), plot.title = element_text(size = 20), axis.text = element_text(size = 16))
  258. ```
  259. ```{r save.img, include=TRUE}
  260. p <- VlnPlot(object = eccite, features = "adt_PDL1", idents = c("NT","JAK2","STAT1","IFNGR1","IFNGR2", "IRF1"), group.by = "gene", pt.size = 0.2, sort = T, split.by = "mixscape_class.global", cols = c("coral3","grey79","grey39")) +ggtitle("PD-L1 protein") +theme(axis.text.x = element_text(angle = 0, hjust = 0.5))
  261. ```
  262. ```{r, include=FALSE}
  263. ggsave(filename = "../output/images/mixscape_vignette.jpg", height = 7, width = 12, plot = p, quality = 50)
  264. ```
  265. # Visualizing perturbation responses with Linear Discriminant Analysis (LDA)
  266. We use LDA as a dimensionality reduction method to visualize perturbation-specific clusters. LDA is trying to maximize the separability of known labels (mixscape classes) using both gene expression and the labels as input.
  267. ```{r eccite.lda, fig.height = 7, fig.width = 10, results="hide"}
  268. # Remove non-perturbed cells and run LDA to reduce the dimensionality of the data.
  269. Idents(eccite) <- "mixscape_class.global"
  270. sub <- subset(eccite, idents = c("KO", "NT"))
  271. # Run LDA.
  272. sub <- MixscapeLDA(
  273. object = sub,
  274. assay = "RNA",
  275. pc.assay = "PRTB",
  276. labels = "gene",
  277. nt.label = "NT",
  278. npcs = 10,
  279. logfc.threshold = 0.25,
  280. verbose = F)
  281. # Use LDA results to run UMAP and visualize cells on 2-D.
  282. # Here, we note that the number of the dimensions to be used is equal to the number of
  283. # labels minus one (to account for NT cells).
  284. sub <- RunUMAP(
  285. object = sub,
  286. dims = 1:11,
  287. reduction = 'lda',
  288. reduction.key = 'ldaumap',
  289. reduction.name = 'ldaumap')
  290. # Visualize UMAP clustering results.
  291. Idents(sub) <- "mixscape_class"
  292. sub$mixscape_class <- as.factor(sub$mixscape_class)
  293. # Set colors for each perturbation.
  294. col = setNames(object = hue_pal()(12),nm = levels(sub$mixscape_class))
  295. names(col) <- c(names(col)[1:7], "NT", names(col)[9:12])
  296. col[8] <- "grey39"
  297. p <- DimPlot(object = sub,
  298. reduction = "ldaumap",
  299. repel = T,
  300. label.size = 5,
  301. label = T,
  302. cols = col) + NoLegend()
  303. p2 <- p+
  304. scale_color_manual(values=col, drop=FALSE) +
  305. ylab("UMAP 2") +
  306. xlab("UMAP 1") +
  307. custom_theme
  308. p2
  309. ```
  310. ```{r save.times, include = FALSE}
  311. write.csv(x = t(as.data.frame(all_times)), file = "../output/timings/mixscape_vignette_times.csv")
  312. ```
  313. <details>
  314. <summary>**Session Info**</summary>
  315. ```{r}
  316. sessionInfo()
  317. ```
  318. </details>

mixscape_vignette.Rmd at commit 586015a, under other · at the source

Overview

Authors: Yuting Zhang1, Jun Sun1, Yang Cai1, Ziyan Xu1, Xiang Li2, Wei Wei2, Pai Liu3, Qiming Sun4,5, Zhi-Hao Wang6,7, Yixian Cui1
  1. Department of Neurology, Department of Urology, Medical Research Institute, Frontier Science Center for Immunology and Metabolism, Zhongnan Hospital of Wuhan University, Wuhan University, Wuhan, China
  2. Department of Neurosurgery, Zhongnan Hospital of Wuhan University, Wuhan, China
  3. Department of Pathology and Laboratory Medicine, Emory University School of Medicine, Atlanta, GA USA
  4. Department of Respiratory and Critical Care Medicine, Center for Metabolism Research, Fourth Affiliated Hospital, Zhejiang University School of Medicine and International School of Medicine, International Institutes of Medicine, Zhejiang University, Yiwu, China
  5. Departments of Biochemistry and Cardiology, Second Affiliated Hospital, Zhejiang University School of Medicine, Hangzhou, China
  6. Department of Neurology, Renmin Hospital of Wuhan University, Wuhan, China
  7. Center for Neurodegenerative Disease Research, Renmin Hospital of Wuhan University, Wuhan, China
Journal: The EMBO journal, volume 45, issue 13, pages 4492-4530
Dates: received 7 October 2025; accepted 8 May 2026; published online 26 May 2026; in print July 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1038/s44318-026-00818-9 · PMID 42192129 · PMCID PMC13324857 · OpenAlex W7162465577
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), mouse (organism), Alzheimer's / dementia (population), cellular / molecular (subfield)
Methods: Statistics, Evoked potentials
Keywords: Autophagy & Cell Death, Molecular Biology of Disease, Post-translational Modifications & Proteolysis
MeSH: Alzheimer Disease*, Amyloid beta-Protein Precursor*, Autophagy*, Endoplasmic Reticulum*, Intracellular Signaling Peptides and Proteins*, Membrane Proteins*, Animals, Humans, Mice, Mice, Transgenic, Proteolysis (* major topic)
Topic: Alzheimer's disease research and treatments (Physiology, Medicine), according to OpenAlex
Funding: MOE | Fundamental Research Funds for the Central Universities (Fundamental Research Fund for the Central Universities) (2042025kf0001,2042022dx0003); MOST | National Natural Science Foundation of China (NSFC) (92578120,32370806); MOST | National Key Research and Development Program of China (NKPs) (2024ZD0530100)
Citations: cited by 1 paper (Europe PMC); 84 references in the paper
Research resources: Rabbit polyclonal anti-CALCOCO1 RRID:AB_10637265, Rabbit polyclonal anti-p62/SQSTM1 RRID:AB_10694431, Rabbit polyclonal anti-GST RRID:AB_11042316, Rabbit polyclonal anti-HA RRID:AB_11042321, Rabbit polyclonal anti-GFP RRID:AB_11042881, Mouse monoclonal anti-HIS RRID:AB_11232599, Rabbit polyclonal anti-CALNEXIN RRID:AB_2069033, Rabbit polyclonal anti-CCPG1 RRID:AB_2074010, Rabbit polyclonal anti-C53 RRID:AB_2076869, Mouse Monoclonal Anti-GAPDH RRID:AB_2107436, Rabbit polyclonal anti-PGRMC1 RRID:AB_2164342, Rabbit polyclonal anti-REEP5 RRID:AB_2178440, Rabbit polyclonal anti-TFE3 RRID:AB_2199587, Rabbit polyclonal anti-TFEB RRID:AB_2199611, Rabbit polyclonal anti-TOM20 RRID:AB_2207530, Rabbit polyclonal anti-AMFR RRID:AB_2226463, Rabbit polyclonal anti-CLIMP63 RRID:AB_2276275, Rabbit polyclonal anti-ATL3 RRID:AB_2290228, anti-LAMP1 (human) antibody RRID:AB_2296838, Rabbit monoclonal anti-beta amyloid RRID:AB_2532306, RRID:AB_2630356, Mouse monoclonal anti-beta amyloid 17-24 RRID:AB_2734547, RRID:AB_2768329, Phospho-IRE1-S724 Rabbit pAb RRID:AB_2771207, Phospho-PERK-T982 Rabbit pAb RRID:AB_2771413, LC3B (E5Q2K) mouse mAb RRID:AB_2800018, PERK Rabbit pAb RRID:AB_2861973, Rabbit polyclonal anti-mCherry RRID:AB_2876881, Rabbit polyclonal anti-ATF6 RRID:AB_2876891, Rabbit polyclonal anti-FAM134B RRID:AB_2878879, Rabbit polyclonal anti-TEX264 RRID:AB_2880272, Rabbit polyclonal anti-IRE1 RRID:AB_2880899, Mouse monoclonal anti-APP RRID:AB_2881451, Mouse monoclonal anti-HA RRID:AB_2881490, Mouse IgG RRID:AB_2883054, Mouse monoclonal anti-GOLPH3 RRID:AB_2918542, RRID:AB_3068333, RRID:AB_3073505, Rabbit polyclonal anti-FAM134A RRID:AB_3085745, Rabbit polyclonal anti-FAM134C RRID:AB_3085859, Rabbit polyclonal anti-SEC62 RRID:AB_3086078, Mouse monoclonal anti-Histone H3 RRID:AB_3086558, Rabbit IgG RRID:AB_3674206, RRID:AB_3698464, Mouse polyclonal anti-α-Tubulin RRID:AB_477583, Rabbit polyclonal anti-CALR RRID:AB_513777, Mouse monoclonal anti-beta amyloid RRID:AB_662798, 5XFAD mice (M. musculus) RRID:MMRRC_034848-JAX

Abstract

Endoplasmic reticulum autophagy (ER-phagy) is a selective autophagy pathway in which receptor proteins target ER membranes and proteins for degradation, yet its role in Alzheimer’s disease (AD) remains unclear. Here, we identify FAM134B/RETREG1 as a specific ER-phagy receptor mediating amyloid precursor protein (APP) degradation. FAM134B directly interacts with ER-localized wild-type and familial mutant APP via their C-terminal domains and recruits LC3 through its LC3-interacting region (LIR) to promote APP delivery to phagophores for lysosomal degradation. In AD, epigenetic silencing at the FAM134B promoter suppresses its transcription by limiting TFEB/TFE3 binding despite their nuclear enrichment. This transcriptional suppression impairs ER-phagy, leading to APP accumulation and exacerbated AD pathology. AAV-mediated hippocampal expression of wild-type, but not LIR-mutant, FAM134B in 5XFAD mice restores ER-phagy, enhances APP clearance, reduces Aβ deposition, preserves synaptic and myelin integrity, and improves cognitive performance. These findings establish FAM134B downregulation as an upstream pathogenic event in AD, suggesting ER-phagy enhancement as a promising strategy to suppress Aβ generation at its source.

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 2 matches between paragraphs and lines of code.

satijalab/seurat

License: other
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 586015abde10618ecb32d3fe632267a83317a08d, 21 September 2026
Languages: R (114), C++ (8), C/C++ (4), C (1)
Size: 455 files, 127 scripts
Software Heritage: archived
Found in: the resources table
Holds: README, license file, environment (DESCRIPTION), tests, continuous integration, documentation, 70 notebooks
Not found: CITATION.cff
Tools: Seurat (75 files), ggplot2 (48 files), patchwork (27 files), tidyverse (19 files), cowplot (10 files), reshape2 (3 files), SingleCellExperiment (3 files), Plotly (2 files), data.table (1 file), DESeq2 (1 file), Harmony (1 file), igraph (1 file), limma (1 file), Monocle 3 (1 file), reticulate (1 file), UMAP (1 file)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
130 files

drisso/SingleCellExperiment

License: none: the authors keep all their rights
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: f130bb012bcfcb7aa4e277f528753b55cfef0878, 16 July 2026
Languages: R (52)
Size: 86 files, 52 scripts
Software Heritage: not archived
Found in: the resources table
Holds: README, environment (DESCRIPTION), tests, continuous integration, documentation, 3 notebooks
Not found: license file, CITATION.cff
Tools: SingleCellExperiment (9 files)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
53 files

Bioconductor/GenomicRanges

License: none: the authors keep all their rights
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: 44c311c711b9a5a5d6db070a8f3210819e4bc9de, 2 September 2026
Languages: R (46)
Size: 83 files, 46 scripts
Software Heritage: not archived
Found in: the resources table
Holds: README, environment (DESCRIPTION), tests, documentation, 1 notebook
Not found: license file, CITATION.cff, continuous integration
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
47 files

linnarsson-lab/loompy

License: BSD-2-Clause
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: a819291e68a1dd14531e0b85c779f45a57c43894, 16 December 2024
Languages: Python (29), JavaScript (10), Shell (1), Jupyter (1)
Size: 145 files, 41 scripts
Software Heritage: archived
Found in: the resources table
Holds: README, license file, environment (setup.cfg, setup.py), tests, continuous integration, documentation, 1 notebook
Not found: CITATION.cff
Tools: NumPy (20 files), SciPy (10 files), h5py (7 files), Biopython (2 files), Numba (2 files), BEDTools (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
43 files

scverse/scanpy

License: BSD-3-Clause
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: 7db89c60639ed01c027ae8a10af65ff972232cda, 27 September 2026
Languages: Python (215), Jupyter (11), R (2)
Size: 886 files, 228 scripts
Software Heritage: archived
Found in: the resources table
Holds: README, license file, environment (pyproject.toml), tests, continuous integration, documentation, 11 notebooks
Not found: CITATION.cff
Tools: anndata (50 files), NumPy (40 files), Scanpy (27 files), pandas (26 files), Matplotlib (15 files), SciPy (12 files), scikit-learn (9 files), Numba (6 files), h5py (5 files), igraph (4 files), seaborn (2 files), UMAP (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
106 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:

  • 5 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 370 scripts, each with its path and the digest of its content;
  • 2 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

Datasets cited

Other data links

Data availability

This study includes no data deposited in external repositories.

The source data of this paper are collected in the following database record: biostudies:S-SCDT-10_1038-S44318-026-00818-9 (https://www.ebi.ac.uk/biostudies/sourcedata/studies/S-SCDT-10_1038-S44318-026-00818-9).

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, 3 keywords, 11 MeSH terms, 3 funders, 83 references, 48 RRIDs.

Cite

This paper

Zhang, Y., Sun, J., Cai, Y., Xu, Z., Li, X., Wei, W., Liu, P., Sun, Q., Wang, Z.-H., & Cui, Y. (2026). FAM134B-mediated ER-phagy degrades APP and suppresses Alzheimer's disease pathology. The EMBO journal, 45(13), 4492-4530. https://doi.org/10.1038/s44318-026-00818-9

BibTeX

@article{zhang2026fam134b,
author = {Zhang, Yuting and Sun, Jun and Cai, Yang and Xu, Ziyan and Li, Xiang and Wei, Wei and Liu, Pai and Sun, Qiming and Wang, Zhi-Hao and Cui, Yixian},
title = {{FAM134B-mediated ER-phagy degrades APP and suppresses Alzheimer's disease pathology}},
journal = {The EMBO journal},
year = {2026},
month = may,
volume = {45},
number = {13},
pages = {4492--4530},
publisher = {Nature Publishing Group},
issn = {0261-4189},
doi = {10.1038/s44318-026-00818-9},
url = {https://doi.org/10.1038/s44318-026-00818-9},
pmid = {42192129},
pmcid = {PMC13324857}
}

RIS

TY - JOUR
AU - Zhang, Yuting
AU - Sun, Jun
AU - Cai, Yang
AU - Xu, Ziyan
AU - Li, Xiang
AU - Wei, Wei
AU - Liu, Pai
AU - Sun, Qiming
AU - Wang, Zhi-Hao
AU - Cui, Yixian
TI - FAM134B-mediated ER-phagy degrades APP and suppresses Alzheimer's disease pathology
T2 - The EMBO journal
J2 - EMBO J
PY - 2026
DA - 2026/05/26
VL - 45
IS - 13
SP - 4492
EP - 4530
SN - 0261-4189
PB - Nature Publishing Group
DO - 10.1038/s44318-026-00818-9
UR - https://doi.org/10.1038/s44318-026-00818-9
LA - en
ER -

CSL-JSON

{
"id": "10.1038/s44318-026-00818-9",
"type": "article-journal",
"title": "FAM134B-mediated ER-phagy degrades APP and suppresses Alzheimer's disease pathology",
"container-title": "The EMBO journal",
"author": [
{
"family": "Zhang",
"given": "Yuting"
},
{
"family": "Sun",
"given": "Jun"
},
{
"family": "Cai",
"given": "Yang"
},
{
"family": "Xu",
"given": "Ziyan"
},
{
"family": "Li",
"given": "Xiang"
},
{
"family": "Wei",
"given": "Wei"
},
{
"family": "Liu",
"given": "Pai"
},
{
"family": "Sun",
"given": "Qiming"
},
{
"family": "Wang",
"given": "Zhi-Hao"
},
{
"family": "Cui",
"given": "Yixian"
}
],
"container-title-short": "EMBO J",
"volume": "45",
"issue": "13",
"page": "4492-4530",
"DOI": "10.1038/s44318-026-00818-9",
"PMID": "42192129",
"PMCID": "PMC13324857",
"ISSN": "0261-4189",
"publisher": "Nature Publishing Group",
"URL": "https://doi.org/10.1038/s44318-026-00818-9",
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
26
]
]
}
}

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.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: Monocle 3, Harmony, SingleCellExperiment, 22 other tools, cellular / molecular
[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: Monocle 3, Biopython, BEDTools, 20 other tools, 1 reference
[3] doi:10.7554/elife.93640 [code]
Sibling chimerism among microglia in marmosets.
Journal: eLife
In common: Monocle 3, Harmony, SingleCellExperiment, 20 other tools, cellular / molecular
[4] doi:10.1016/j.xcrm.2026.102651 [code]
Integrative CSF profiling identifies disease-specific immune responses in leptomeningeal disease.
Journal: Cell reports. Medicine
In common: Harmony, SingleCellExperiment, reticulate, 19 other tools, cellular / molecular
[5] doi:10.1002/imt2.70163 [code]
Spatial multi-omics unveils sphingolipid metabolic reprogramming within the retinal pathological niche.
Journal: iMeta
In common: Monocle 3, Harmony, SingleCellExperiment, 19 other tools, mouse, cellular / molecular
[6] doi:10.1038/s44320-026-00208-7 [code]
Interpretable deep generative ensemble learning for single-cell omics with Hydra.
Journal: Molecular systems biology
In common: SingleCellExperiment, reticulate, limma, 18 other tools, cellular / molecular, 1 reference
[7] doi:10.1038/s42003-026-10957-8 [code]
Brain defence by the extracellular matrix protein Cochlin.
Journal: Communications biology
In common: Monocle 3, Biopython, reticulate, 18 other tools, mouse, cellular / molecular
[8] doi:10.1038/s41586-026-10629-x [code]
Whole-genome duplication shaped cell-type evolution in the vertebrate brain.
Journal: Nature
In common: BEDTools, Harmony, reticulate, 18 other tools, mouse, cellular / molecular
[9] doi:10.1093/bib/bbag175 [code]
Uncovering causal relationships in single-cell omic studies with causarray.
Journal: Briefings in bioinformatics
In common: Harmony, SingleCellExperiment, reticulate, 18 other tools, Alzheimer's / dementia, mouse
[10] doi:10.1038/s41586-026-10214-2 [code]
Multidimensional profiling of heterogeneity in supratentorial ependymomas.
Journal: Nature
In common: Monocle 3, Harmony, SingleCellExperiment, 18 other tools, mouse

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.