OSCR

Human iPSC-derived 2D cortical neurons and 3D cortical organoids show fetal brain proteomic similarity and distinct phosphoproteomic profiles

Code ↔ Paper

24 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 24 matches · 1 of them tie a paragraph to a whole file without given lines: a weak match, whose lines are not tinted
  1. [1] § Methods › Differential phosphoproteomics ↔ export_phospho_2d3d_signaling.py, lines 1 to 59 · score 1.00 · curated signaling pathway, DNA damage, CaMKII, ErbB, TrkB, synaptic plasticity · Report a mismatch
  2. [2] § Methods › Phosphoproteome benchmarking ↔ export_phospho_human_benchmark.py, lines 1 to 44 · score 0.94 · batch reference channel, frontal cortex BA9, TMT6plex, log2 ratios, human cortex phospho, human frontal cortex · Report a mismatch
  3. [3] § Methods › Functional group and GO enrichment analysis ↔ export_con_phospho_lists.py, lines 116 to 189 · score 0.94 · NDD risk genes, neurotransmitter synthesis, ion channels, PI3K, mTOR, matrisome · Report a mismatch
  4. [4] § Methods › Functional group and GO enrichment analysis ↔ export_phospho_volcano_functional.py, lines 63 to 104 · score 0.94 · NDD risk genes, neurotransmitter synthesis, ion channels, PI3K, mTOR, matrisome · Report a mismatch
  5. [5] § Methods › Kinase library motif enrichment ↔ export_phospho_2d3d_motif.py, lines 1 to 51 · score 0.88 · Kinase recognition motif, Kinase Library, localisation, mer, log2FC, STY · Report a mismatch
  6. [6] § Methods › Integration of phosphoproteomics and global proteomics ↔ export_phospho_2d3d_integration.py, lines 1 to 41 · score 0.85 · opposite direction, strip chart, protein log2FC, phospho log2FC, phospho change, stoichiometry · Report a mismatch
  7. [7] § Methods › Phosphoproteome benchmarking ↔ export_phospho_mouse_vs_human_cortex.py, lines 1 to 43 · score 0.83 · mouse gene symbols, human orthologues, cross species, phosphoprotein abundance, log2 transformed, mouse brain · Report a mismatch
  8. [8] § Methods › Phosphoproteome benchmarking ↔ export_phospho_mouse_vs_human_cortex.py, lines 1 to 43 · score 0.83 · frontal cortex BA9, TMT6plex, human frontal cortex, phosphoprotein abundance, Seyfried, CTL · Report a mismatch
  9. [9] § Methods › Kinase library motif enrichment ↔ proteomics/motif_enrichment.py, lines 159 to 227 · score 0.80 · Kinase Library, motif enrichment, Tyr, Ser, Thr, log2FC · Report a mismatch
  10. [10] § Methods › LC–MS/MS data acquisition and analysis ↔ export_phospho_fractionation.py, lines 1 to 35 · score 0.80 · localization probability threshold, SpectroMine, gene symbol, resolution, confidence, Raw · Report a mismatch
  11. [11] § Methods › Cross-tissue benchmarking ↔ export_species_benchmark_scatter.py, lines 1 to 39 · score 0.77 · HomoloGene, mouse cerebral cortex, cross species, fetal brain, mygene, iPSC · Report a mismatch
  12. [12] § Methods › Kinase-substrate enrichment analysis (KSEA) ↔ export_phospho_2d3d_signaling.py, lines 1 to 59 · score 0.76 · OmniPath, Kinase substrate, cached, ranked, log2FC, KSEA · Report a mismatch
  13. [13] § Methods › Phosphoproteome benchmarking ↔ export_species_benchmark_scatter.py, lines 1 to 39 · score 0.75 · HomoloGene, mouse cerebral cortex, cross species, mygene, orthologues, benchmarks · Report a mismatch
  14. [14] § Methods › Differential phosphoproteomics ↔ export_2d_3d_protein_volcano.py, lines 1 to 46 · score 0.73 · median centring, FDR correction, LFQ intensities, log2 transforming, log2FC, Welch · Report a mismatch
  15. [15] § Results › Global proteomic comparison of 2D neurons and 3D cortical organoids ↔ export_go_enrichment_2d_3d.py, lines 1 to 57 · score 0.71 · post synaptic, synaptic vesicles, extracellular matrix, remodeling, GO, ECM · Report a mismatch
  16. [16] § Results › Global proteomic comparison of 2D neurons and 3D cortical organoids ↔ export_go_enrichment_phospho.py, lines 1 to 60 · score 0.70 · post synaptic, synaptic vesicles, extracellular matrix, remodeling, GO, ECM · Report a mismatch
  17. [17] § Methods › LC–MS/MS data acquisition and analysis ↔ export_2d_3d_protein_volcano.py, lines 1 to 46 · score 0.68 · common intensity scale, MaxLFQ, log2 transformed, jointly, median, Proteins · Report a mismatch
  18. [18] § Methods › Kinase-substrate enrichment analysis (KSEA) ↔ proteomics/kinase_enrichment.py, lines 112 to 174 · score 0.67 · Kinase substrate, detected substrates, log2FC, bg, KSEA, score · Report a mismatch
  19. [19] § Methods › Phosphoproteome benchmarking ↔ export_phospho_mouse_vs_human_cortex.py, lines 146 to 174 · score 0.66 · cross species phosphoproteomics, ortholog translated, human frontal cortex, Mouse brain, Spearman, syn20820053 · Report a mismatch
  20. [20] § Results › Comparative phosphoproteomic profiling of 2D neurons and 3D cortical organoids ↔ export_phospho_human_benchmark.py, lines 1 to 44 · score 0.63 · human cortex phosphoproteomes, human frontal cortex, frontal cortex phosphoproteome, phosphoproteomic reference, brain phosphoproteome, iPSC · Report a mismatch
  21. [21] § Methods › Differential phosphoproteomics ↔ export_2d_3d_phospho_volcano.py, lines 1 to 64 · score 0.60 · phosphopeptide LFQ intensities, FDR correction, log2FC, Welch, neurons, organoids · Report a mismatch
  22. [22] § Methods › Differential abundance analysis ↔ export_2d_3d_phospho_volcano.py, lines 1 to 64 · score 0.54 · Benjamini Hochberg, log2FC, Welch, FDR, intensities, neurons · Report a mismatch
  23. [23] § Results › Comparative phosphoproteomic profiling of 2D neurons and 3D cortical organoids ↔ proteomics/__init__.py, the whole file · a weak match · score 0.52 · Venn diagram, motif enrichment, classified, bar, activity, Volcano · Report a mismatch
  24. [24] § Methods › LC–MS/MS data acquisition and analysis ↔ proteomics/loaders.py, lines 401 to 446 · score 0.51 · phospho intensity matrix, UniProtKB, Raw, spectrometer, min, Peptides · 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

Python · 295 lines · 12 KB · MIT · 3 matches

  1. """
  2. Cross-species phosphoproteome correlation: mouse brain vs human frontal cortex.
  3. Compares gene-level phosphoprotein abundance between:
  4. Mouse whole-brain — Huttlin et al. (2010) Cell 143:1174 (E-PROT-13, iBAQ)
  5. Mouse gene symbols translated to human orthologs.
  6. Human frontal cortex — Huse et al. (2020) syn20820053
  7. Frontal cortex BA9, TMT6plex, 10 normal controls (CTL).
  8. Both series are log2-transformed and median-centred before comparison.
  9. Output
  10. ------
  11. figures/comparison/phospho_mouse_vs_human_cortex.{pdf,svg}
  12. figures/comparison/phospho_mouse_vs_human_cortex_data.csv
  13. figures/comparison/phospho_mouse_vs_human_cortex_summary.csv
  14. """
  15. import sys, json, re
  16. from pathlib import Path
  17. sys.path.insert(0, str(Path(__file__).parent))
  18. import numpy as np
  19. import pandas as pd
  20. import matplotlib.pyplot as plt
  21. import matplotlib.patheffects as pe
  22. from scipy import stats
  23. from proteomics import utils
  24. from proteomics.config import FIGS
  25. (FIGS / "comparison").mkdir(parents=True, exist_ok=True)
  26. COLOR_MOUSE = "#55A868"
  27. COLOR_HUMAN = "#2166AC"
  28. SEYFRIED_DIR = Path(__file__).parent / "data/proteomics/Seyfried lab_syn20820053"
  29. CTL_COLS = [
  30. "B1: 129C, Sample", "B1: 130C, Sample", "B1: 131N, Sample",
  31. "B2: 128N, Sample", "B2: 129N, Sample", "B2: 130C, Sample",
  32. "B3: 127N, Sample", "B3: 127C, Sample", "B3: 130N, Sample",
  33. "B3: 130C, Sample",
  34. ]
  35. # ── 1. Mouse brain phosphoproteome (E-PROT-13) ──────────────────────────────
  36. print("Loading mouse brain phosphoproteome (E-PROT-13, Huttlin 2010) …")
  37. df_mouse = pd.read_csv(
  38. Path(__file__).parent / "data/proteomics/E-PROT-13_mouse_phospho.tsv",
  39. sep="\t", comment="#",
  40. )
  41. df_mouse = df_mouse.rename(columns={"Gene Name": "gene"}).dropna(subset=["gene"])
  42. df_mouse = df_mouse.set_index("gene")
  43. mouse_brain_log2 = np.log2(df_mouse["brain"].replace(0, np.nan)).dropna()
  44. # Ortholog translation
  45. ortho_path = Path(__file__).parent / "data/proteomics/mouse_to_human_orthologs.json"
  46. with open(ortho_path) as f:
  47. mouse_to_human = json.load(f)
  48. mouse_brain_human = mouse_brain_log2.rename(index=mouse_to_human).dropna()
  49. mouse_brain_human = mouse_brain_human[~mouse_brain_human.index.duplicated(keep="first")]
  50. mouse_brain_human = mouse_brain_human - mouse_brain_human.median()
  51. print(f" Mouse brain phospho (ortholog-translated): {len(mouse_brain_human):,} human gene symbols")
  52. print(f" Value range: {mouse_brain_human.min():.3f} to {mouse_brain_human.max():.3f}")
  53. # ── 2. Human frontal cortex phosphoproteome (Seyfried 2020) ─────────────────
  54. print("\nLoading human frontal cortex phosphoproteome (Huse / Seyfried 2020) …")
  55. df_hum = pd.read_excel(
  56. SEYFRIED_DIR / "datacitation5_IMAC peptide anova analysis.xlsx",
  57. sheet_name="datacitation5_IMACanovainput",
  58. header=3,
  59. )
  60. def _extract_gn(desc):
  61. m = re.search(r"GN=(\S+)", str(desc))
  62. return m.group(1) if m else None
  63. df_hum["gene"] = df_hum["Master Protein Descriptions"].apply(_extract_gn)
  64. df_hum = df_hum.dropna(subset=["gene"])
  65. df_hum = df_hum.replace(0, np.nan)
  66. gene_mean_ctl = df_hum.groupby("gene")[CTL_COLS].mean()
  67. human_ctx_phospho = gene_mean_ctl.mean(axis=1).dropna()
  68. human_ctx_phospho = human_ctx_phospho - human_ctx_phospho.median()
  69. print(f" Human frontal cortex CTL phospho: {len(human_ctx_phospho):,} genes")
  70. print(f" Value range: {human_ctx_phospho.min():.3f} to {human_ctx_phospho.max():.3f}")
  71. # ── 3. Paired comparison ─────────────────────────────────────────────────────
  72. shared = mouse_brain_human.index.intersection(human_ctx_phospho.index)
  73. both = pd.DataFrame({
  74. "mouse_brain_log2": mouse_brain_human.loc[shared],
  75. "human_ctx_log2": human_ctx_phospho.loc[shared],
  76. }).dropna()
  77. pr, pval_p = stats.pearsonr(both["mouse_brain_log2"], both["human_ctx_log2"])
  78. sr, pval_s = stats.spearmanr(both["mouse_brain_log2"], both["human_ctx_log2"])
  79. print(f"\nCorrelation (mouse brain phospho vs human cortex phospho):")
  80. print(f" n = {len(both):,} shared genes")
  81. print(f" Pearson r = {pr:.4f} (p = {pval_p:.2e})")
  82. print(f" Spearman ρ = {sr:.4f} (p = {pval_s:.2e})")
  83. both.index.name = "gene"
  84. both.to_csv(FIGS / "comparison" / "phospho_mouse_vs_human_cortex_data.csv")
  85. pd.DataFrame([{
  86. "comparison": "mouse_brain_phospho_vs_human_cortex_phospho",
  87. "mouse_ref": "Huttlin 2010 (E-PROT-13)",
  88. "human_ref": "Huse / Seyfried 2020 (syn20820053, BA9 frontal cortex, CTL)",
  89. "n_genes": len(both),
  90. "pearson_r": pr,
  91. "pearson_pval": pval_p,
  92. "spearman_r": sr,
  93. "spearman_pval": pval_s,
  94. }]).to_csv(FIGS / "comparison" / "phospho_mouse_vs_human_cortex_summary.csv", index=False)
  95. # ── 4. Figure ─────────────────────────────────────────────────────────────────
  96. fig, axes = plt.subplots(1, 2, figsize=(14, 6.5),
  97. gridspec_kw={"width_ratios": [1.8, 1], "wspace": 0.42})
  98. ax_sc, ax_bar = axes
  99. x = both["mouse_brain_log2"].values
  100. y = both["human_ctx_log2"].values
  101. # Scatter
  102. ax_sc.scatter(x, y, s=5, alpha=0.22, linewidths=0,
  103. color="#666666", rasterized=True, zorder=1)
  104. # Identity line (where axis ranges overlap)
  105. lo = max(x.min(), y.min()) - 0.3
  106. hi = min(x.max(), y.max()) + 0.3
  107. ax_sc.plot([lo, hi], [lo, hi], color="#AAAAAA", ls="--", lw=0.85,
  108. alpha=0.55, zorder=2, label="Identity (y = x)")
  109. # Regression line
  110. m, b = np.polyfit(x, y, 1)
  111. xs = np.linspace(x.min(), x.max(), 300)
  112. ax_sc.plot(xs, m * xs + b, color="#333333", lw=1.6, zorder=3,
  113. label=f"Linear fit (slope={m:.3f})")
  114. # Correlation box
  115. ax_sc.text(
  116. 0.04, 0.97,
  117. f"Pearson r = {pr:.3f}\n"
  118. f"Spearman ρ = {sr:.3f}\n"
  119. f"n = {len(both):,} genes",
  120. transform=ax_sc.transAxes, fontsize=10, va="top", ha="left",
  121. bbox=dict(boxstyle="round,pad=0.45", fc="white", ec="#CCCCCC", lw=0.9),
  122. )
  123. ax_sc.set_xlabel(
  124. "Mouse brain log₂ phospho [median-centred]\n"
  125. "[Huttlin 2010, E-PROT-13, ortholog-translated]",
  126. fontsize=10, color=COLOR_MOUSE, fontweight="bold",
  127. )
  128. ax_sc.set_ylabel(
  129. "Human frontal cortex log₂ phospho [median-centred]\n"
  130. "[Huse / Seyfried 2020, syn20820053, CTL]",
  131. fontsize=10, color=COLOR_HUMAN, fontweight="bold",
  132. )
  133. ax_sc.set_title(
  134. "A Mouse brain vs Human frontal cortex\n"
  135. " cross-species phosphoproteome correlation",
  136. fontsize=10, fontweight="bold", loc="left",
  137. )
  138. ax_sc.spines["top"].set_visible(False)
  139. ax_sc.spines["right"].set_visible(False)
  140. ax_sc.tick_params(labelsize=9)
  141. ax_sc.legend(fontsize=8, loc="lower right", framealpha=0.85)
  142. # ── Panel B: comparison bar chart ─────────────────────────────────────────────
  143. # Puts this cross-species baseline next to the iPSC benchmarks.
  144. # Load the human benchmark summary for iPSC r values.
  145. try:
  146. hum_sum = pd.read_csv(FIGS / "comparison" / "phospho_human_benchmark_summary.csv",
  147. index_col="comparison")
  148. pr_2d_human = hum_sum.loc["2D_phospho_vs_human_frontal_cortex", "pearson_r"]
  149. pr_3d_human = hum_sum.loc["3D_phospho_vs_human_frontal_cortex", "pearson_r"]
  150. sr_2d_human = hum_sum.loc["2D_phospho_vs_human_frontal_cortex", "spearman_r"]
  151. sr_3d_human = hum_sum.loc["3D_phospho_vs_human_frontal_cortex", "spearman_r"]
  152. n_2d_human = int(hum_sum.loc["2D_phospho_vs_human_frontal_cortex", "n"])
  153. n_3d_human = int(hum_sum.loc["3D_phospho_vs_human_frontal_cortex", "n"])
  154. has_ipsc = True
  155. except Exception as e:
  156. print(f" (Could not load iPSC benchmark summary: {e})")
  157. has_ipsc = False
  158. try:
  159. mou_sum = pd.read_csv(FIGS / "comparison" / "phospho_benchmark_summary.csv",
  160. index_col="comparison")
  161. pr_2d_mouse = mou_sum.loc["2D_phospho_vs_mouse_brain_phospho", "pearson_r"]
  162. pr_3d_mouse = mou_sum.loc["3D_phospho_vs_mouse_brain_phospho", "pearson_r"]
  163. sr_2d_mouse = mou_sum.loc["2D_phospho_vs_mouse_brain_phospho", "spearman_r"]
  164. sr_3d_mouse = mou_sum.loc["3D_phospho_vs_mouse_brain_phospho", "spearman_r"]
  165. n_2d_mouse = int(mou_sum.loc["2D_phospho_vs_mouse_brain_phospho", "n"])
  166. n_3d_mouse = int(mou_sum.loc["3D_phospho_vs_mouse_brain_phospho", "n"])
  167. has_mouse = True
  168. except Exception as e:
  169. print(f" (Could not load mouse benchmark summary: {e})")
  170. has_mouse = False
  171. # Build bar data: cross-species baseline + iPSC benchmarks
  172. COLOR_2D = "#E07B39"
  173. COLOR_3D = "#4DBBD5"
  174. bar_data = [("Mouse\nvs Human\ncortex\n(baseline)", pr, sr, "#9A9AB0", "")]
  175. if has_ipsc:
  176. bar_data += [
  177. ("2D neurons\nvs Human\ncortex", pr_2d_human, sr_2d_human, COLOR_2D, ""),
  178. ("3D organoids\nvs Human\ncortex", pr_3d_human, sr_3d_human, COLOR_3D, ""),
  179. ]
  180. if has_mouse:
  181. bar_data += [
  182. ("2D neurons\nvs Mouse\nbrain", pr_2d_mouse, sr_2d_mouse, COLOR_2D, "///"),
  183. ("3D organoids\nvs Mouse\nbrain", pr_3d_mouse, sr_3d_mouse, COLOR_3D, "///"),
  184. ]
  185. bar_labels = [d[0] for d in bar_data]
  186. r_vals = [d[1] for d in bar_data]
  187. rho_vals = [d[2] for d in bar_data]
  188. colors_bar = [d[3] for d in bar_data]
  189. hatches = [d[4] for d in bar_data]
  190. x_pos = np.arange(len(bar_data))
  191. bars = ax_bar.bar(x_pos, r_vals, color=colors_bar, alpha=0.82,
  192. width=0.62, edgecolor="none", zorder=2)
  193. for bar, hatch in zip(bars, hatches):
  194. bar.set_hatch(hatch)
  195. bar.set_edgecolor("#888888")
  196. bar.set_linewidth(0.5)
  197. ax_bar.scatter(x_pos, rho_vals, s=42, color="white",
  198. edgecolors=colors_bar, linewidths=1.8, zorder=4)
  199. ylo = min(0, min(r_vals)) - 0.04
  200. for bar, r in zip(bars, r_vals):
  201. ypos = r + 0.007 if r >= 0 else r - 0.022
  202. va = "bottom" if r >= 0 else "top"
  203. ax_bar.text(bar.get_x() + bar.get_width() / 2,
  204. ypos, f"r={r:.3f}",
  205. ha="center", va=va, fontsize=8, fontweight="bold")
  206. # Zone shading: baseline | human ref | mouse ref
  207. ax_bar.axvspan(-0.4, 0.4, color="#EDEDF5", zorder=0, alpha=0.8)
  208. if has_ipsc:
  209. ax_bar.axvspan(0.6, 2.4, color="#EEF4FF", zorder=0, alpha=0.6)
  210. if has_mouse and has_ipsc:
  211. ax_bar.axvspan(2.6, 4.4, color="#EEF8EE", zorder=0, alpha=0.6)
  212. ax_bar.text(0.0, 0.01, "Cross-species\nbaseline", ha="center", fontsize=7,
  213. color="#555555", zorder=3, transform=ax_bar.get_xaxis_transform())
  214. if has_ipsc:
  215. ax_bar.text(1.5, 0.01, "iPSC vs\nhuman cortex", ha="center", fontsize=7,
  216. color="#445588", zorder=3, transform=ax_bar.get_xaxis_transform())
  217. if has_mouse and has_ipsc:
  218. ax_bar.text(3.5, 0.01, "iPSC vs\nmouse brain", ha="center", fontsize=7,
  219. color="#446644", zorder=3, transform=ax_bar.get_xaxis_transform())
  220. ax_bar.axhline(0, color="#AAAAAA", lw=0.8, zorder=1)
  221. ax_bar.set_xticks(x_pos)
  222. ax_bar.set_xticklabels(bar_labels, fontsize=7.5, linespacing=1.3)
  223. ax_bar.set_ylabel("Pearson r", fontsize=10)
  224. ax_bar.set_ylim(ylo, max(r_vals) + 0.14)
  225. ax_bar.set_title(
  226. "B Phospho correlation context\n"
  227. " cross-species vs iPSC benchmarks",
  228. fontsize=10, fontweight="bold", loc="left",
  229. )
  230. ax_bar.spines["top"].set_visible(False)
  231. ax_bar.spines["right"].set_visible(False)
  232. from matplotlib.patches import Patch
  233. ax_bar.legend(handles=[
  234. Patch(facecolor="#BBBBBB", hatch="", label="Human cortex ref"),
  235. Patch(facecolor="#BBBBBB", hatch="///", label="Mouse brain ref"),
  236. plt.scatter([], [], s=40, facecolor="white", edgecolors="#999999",
  237. linewidths=1.8, label="Spearman ρ"),
  238. ], fontsize=7.5, frameon=False, loc="upper right")
  239. fig.suptitle(
  240. "Cross-species phosphoproteome correlation: mouse brain vs human frontal cortex\n"
  241. "Mouse: Huttlin et al. (2010) E-PROT-13 — whole brain, iBAQ, ortholog-translated | "
  242. "Human: Huse/Seyfried (2020) syn20820053 — frontal cortex BA9, 10 normal controls, TMT6plex\n"
  243. "Both series log₂-transformed and median-centred; gene-level aggregation",
  244. fontsize=9, fontweight="bold", y=1.02,
  245. )
  246. utils.save_fig(fig, "phospho_mouse_vs_human_cortex", subdir="comparison")
  247. print("\nSaved: figures/comparison/phospho_mouse_vs_human_cortex.{pdf,svg}")
  248. plt.close()

export_phospho_mouse_vs_human_cortex.py at commit 48df905, under MIT · at the source

Overview

Authors: Rawan Albatarni1,2, Sunkyu Choi3, Kyung Chul Shin2, Praveen Babu Vemulapalli3, Mohammed R. Shaker1,2, Frank Schmidt3, Yongsoo Park1,2
  1. College of Health & Life Sciences, Hamad Bin Khalifa University, Qatar Foundation, Doha, Qatar
  2. Neurological Disorders Research Center, Qatar Biomedical Research Institute, Hamad Bin Khalifa University, Qatar Foundation, Doha, Qatar
  3. Proteomics Core, Weill Cornell Medicine-Qatar, Education City, Qatar Foundation, Doha, Qatar
Journal: Frontiers in bioengineering and biotechnology, volume 14, article 1932407
Dates: received 8 July 2026; accepted 21 August 2026; published online 24 September 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI · PMCID PMC13646154
Status: code verified (how the code is found and verified)
Categories: genetics / omics (modality), human (organism), mouse (organism), developmental (subfield)
Methods: Spectral & time-frequency, Preprocessing, Statistics, Smoothing, state filtering, decompositions, Connectivity, Single-unit activity, calcium imaging
Keywords: 2D neurons, brain organoids, LC-MS/MS, phosphoproteomics, proteomics
Citations: not cited yet (Europe PMC); 37 references in the paper

Abstract

Human iPSC-derived 2D cortical neurons and 3D cortical organoids (COs) are widely used to model early brain development in health and disease, but the molecular similarity of 2D and 3D models to human brain tissue at the protein and phosphorylation levels has not been systematically defined. Here, we performed paired global proteomic and phosphoproteomic profiling of 2D cortical neurons and 3D COs, and benchmarked both models against published human fetal brain, human adult frontal cortex, and mouse cortex reference datasets. Compared to mouse cerebral cortex, both 2D and 3D showed substantially higher proteomic similarity to human fetal brain. In contrast, phosphoproteomic profiles were poorly correlated between iPSC-derived models and adult human frontal cortex, and between human and mouse cortex, demonstrating that phosphorylation signaling is highly context- and developmental stage-dependent and not recapitulated by cross-species. Together, our findings establish a paired proteomic and phosphoproteomic benchmarking framework for human neuronal models, highlighting that 2D neurons and 3D COs are complementary platforms for neurodevelopmental research.

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

yongsoopark01/ipsc-neuron-organoid-proteomics

License: MIT
State: the link answers, verified on 9 October 2026
Evidence: files inventoried
Commit: 48df905b00a38d1bfd717b75dd86961aa55b8333, 13 May 2026
Languages: Python (45)
Size: 62 files, 45 scripts
Software Heritage: not archived
Found in: “Data availability statement”
Holds: README, license file, environment (pyproject.toml, uv.lock)
Not found: CITATION.cff, tests, continuous integration, documentation
Tools: pandas (43 files), NumPy (41 files), Matplotlib (39 files), SciPy (21 files), statsmodels (7 files), seaborn (4 files), scikit-learn (3 files)
Availability: 1 check, the latest on 9 October 2026: the link answers
  • 9 October 2026: the link answers
47 files

Zenodo 20176358

License: MIT
State: the link answers, verified on 9 October 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: “Data availability statement”
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: pandas (43 files), NumPy (41 files), Matplotlib (39 files), SciPy (21 files), statsmodels (7 files), seaborn (4 files), scikit-learn (3 files)
Availability: 1 check, the latest on 9 October 2026: the link answers (HTTP 200)
  • 9 October 2026: the link answers (HTTP 200)
47 files

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:

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

Data availability statement

All analysis scripts are deposited at GitHub (https://github.com/yongsoopark01/ipsc-neuron-organoid-proteomics) and archived on Zenodo (DOI: 10.5281/zenodo.20176358 (https://doi.org/10.5281/zenodo.20176358)). Processed LFQ protein and phosphopeptide intensity data are deposited at Zenodo (DOI: 10.5281/zenodo.20176759 (https://doi.org/10.5281/zenodo.20176759)).

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, 9 October 2026: the first record

Recorded: type, language, journal, volume, pages, dates, 7 authors, 5 keywords, 37 references.

Cite

This paper

Albatarni, R., Choi, S., Shin, K. C., Vemulapalli, P. B., Shaker, M. R., Schmidt, F., & Park, Y. (2026). Human iPSC-derived 2D cortical neurons and 3D cortical organoids show fetal brain proteomic similarity and distinct phosphoproteomic profiles. Frontiers in bioengineering and biotechnology, 14, 1932407.

BibTeX

@article{albatarni2026human,
author = {Albatarni, Rawan and Choi, Sunkyu and Shin, Kyung Chul and Vemulapalli, Praveen Babu and Shaker, Mohammed R. and Schmidt, Frank and Park, Yongsoo},
title = {{Human iPSC-derived 2D cortical neurons and 3D cortical organoids show fetal brain proteomic similarity and distinct phosphoproteomic profiles}},
journal = {Frontiers in bioengineering and biotechnology},
year = {2026},
month = oct,
volume = {14},
pages = {1932407},
publisher = {Frontiers Media SA},
issn = {2296-4185},
pmcid = {PMC13646154}
}

RIS

TY - JOUR
AU - Albatarni, Rawan
AU - Choi, Sunkyu
AU - Shin, Kyung Chul
AU - Vemulapalli, Praveen Babu
AU - Shaker, Mohammed R.
AU - Schmidt, Frank
AU - Park, Yongsoo
TI - Human iPSC-derived 2D cortical neurons and 3D cortical organoids show fetal brain proteomic similarity and distinct phosphoproteomic profiles
T2 - Frontiers in bioengineering and biotechnology
J2 - Front Bioeng Biotechnol
PY - 2026
DA - 2026/10/09
VL - 14
SP - 1932407
SN - 2296-4185
PB - Frontiers Media SA
LA - en
ER -

CSL-JSON

{
"id": "pmcid:PMC13646154",
"type": "article-journal",
"title": "Human iPSC-derived 2D cortical neurons and 3D cortical organoids show fetal brain proteomic similarity and distinct phosphoproteomic profiles",
"container-title": "Frontiers in bioengineering and biotechnology",
"author": [
{
"family": "Albatarni",
"given": "Rawan"
},
{
"family": "Choi",
"given": "Sunkyu"
},
{
"family": "Shin",
"given": "Kyung Chul"
},
{
"family": "Vemulapalli",
"given": "Praveen Babu"
},
{
"family": "Shaker",
"given": "Mohammed R."
},
{
"family": "Schmidt",
"given": "Frank"
},
{
"family": "Park",
"given": "Yongsoo"
}
],
"container-title-short": "Front Bioeng Biotechnol",
"volume": "14",
"page": "1932407",
"PMCID": "PMC13646154",
"ISSN": "2296-4185",
"publisher": "Frontiers Media SA",
"language": "en",
"issued": {
"date-parts": [
[
2026,
10,
9
]
]
}
}

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/s41556-022-00929-5 [code]
Enhanced cortical neural stem cell identity through short SMAD and WNT inhibition in human cerebral organoids facilitates emergence of outer radial glial cells.
Journal: Nature cell biology
In common: statsmodels, seaborn, pandas, 3 other tools, developmental, 6 references
[2] doi:10.1038/s41586-024-08172-8 [code]
An integrated transcriptomic cell atlas of human neural organoids.
Journal: Nature
In common: seaborn, scikit-learn, pandas, 3 other tools, genetics / omics, 5 references
[3] doi:10.1016/j.stem.2023.09.003 [code]
Tissue morphology influences the temporal program of human brain organoid development.
Journal: Cell stem cell
In common: pandas, SciPy, Matplotlib, 1 other tool, developmental, genetics / omics, 6 references
[4] doi:10.1038/s41467-022-33364-z [code]
Modeling human telencephalic development and autism-associated SHANK3 deficiency using organoids generated from single neural rosettes.
Journal: Nature communications
In common: seaborn, scikit-learn, pandas, 3 other tools, 5 references
[5] doi:10.1038/s41586-025-09997-7 [code]
Dissecting gene regulatory networks governing human cortical cell fate.
Journal: Nature
In common: seaborn, scikit-learn, pandas, 3 other tools, genetics / omics, 4 references
[6] doi:10.1093/nsr/nwae213 [code]
Epigenomic landscapes during prefrontal cortex development and aging in rhesus.
Journal: National science review
In common: statsmodels, seaborn, scikit-learn, 4 other tools, genetics / omics, 3 references
[7] doi:10.1002/adhm.202504889 [code]
Mapping the Cerebral Organoid Landscape: A Systematic Review of Preclinical 3D Models in Neuroscience.
Journal: Advanced healthcare materials
In common: pandas, SciPy, Matplotlib, 1 other tool, developmental, 5 references
[8] doi:10.1371/journal.pbio.3002912 [code]
Meta-analysis of single-cell RNA sequencing co-expression in human neural organoids reveals their high variability in recapitulating primary tissue.
Journal: PLoS biology
In common: pandas, SciPy, NumPy, genetics / omics, 6 references
[9] doi:10.1126/sciadv.aec5080 [code]
Label-free biochemical imaging and time point analysis of neural organoids via deep learning-enhanced Raman microspectroscopy.
Journal: Science advances
In common: scikit-learn, SciPy, Matplotlib, 1 other tool, developmental, 5 references
[10] doi:10.1038/s41586-022-05279-8 [code]
Inferring and perturbing cell fate regulomes in human brain organoids.
Journal: Nature
In common: seaborn, scikit-learn, pandas, 3 other tools, genetics / omics, 4 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.

Add the badge to the code's README

OSCR: the badge of this paper

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 -->
[![OSCR](https://openscicode.org/badge/repo/github.com/yongsoopark01/ipsc-neuron-organoid-proteomics.svg)](https://openscicode.org/badge/repo/github.com/yongsoopark01/ipsc-neuron-organoid-proteomics)
<!-- oscr-badge:end -->
reStructuredText
.. oscr-badge:start

.. image:: https://openscicode.org/badge/repo/github.com/yongsoopark01/ipsc-neuron-organoid-proteomics.svg
   :target: https://openscicode.org/badge/repo/github.com/yongsoopark01/ipsc-neuron-organoid-proteomics
   :alt: OSCR

.. oscr-badge:end
HTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/repo/github.com/yongsoopark01/ipsc-neuron-organoid-proteomics"><img src="https://openscicode.org/badge/repo/github.com/yongsoopark01/ipsc-neuron-organoid-proteomics.svg" alt="OSCR"></a>
<!-- oscr-badge:end -->

On GitHub, open the README, choose Edit (the pencil), paste the snippet under the title, then "Commit changes".

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)

Versions of its code: the releases of its code tied to a version of this paper (the preprint, the accepted manuscript, the version of record…), each with the tracing map versioned with it.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.