Resolving spatial subclonal genomic heterogeneity of loss of heterozygosity and extrachromosomal DNA in gliomas
We perform bulk RNA sequencing, tumor/normal DNA sequencing, and spatial transcriptomics on an initial discovery cohort of eleven glioma samples (comprising oligodendrogliomas, astrocytomas, one diffuse midline glioma, and glioblastomas) to identify both commonalities and distinct characteristics within the tumor microenvironment. Six additional high-grade IDH wild-type, EGFR positive glioblastomas are analyzed to validate subclonal somatic aneuploidy and copy number alterations associated with extrachromosomal DNA double-minutes. As part of the standard spatial transcriptomic analysis, we develop an integrated analysis framework combining germline/tumor exomes, bulk RNA-seq, and spatial transcriptomics to identify loss of heterozygosity by a hidden Markov model for segmenting consecutively expressed SNPs. In the discovery cohort, we identify focally amplified ecDNA in four of the eleven cases, with subclonal tumor heterogeneity present in two EGFR-amplified grade IV glioblastomas. In a TP53-mutated glioblastoma, we detect a subclone with EGFR amplification on ecDNA coupled to chromosome 17 LOH. To evaluate the impact of spatial subclonal chromosomal alterations on the p53/EGFR axis, we examine six additional EGFR positive gliomas, identifying MDM2/MDM4 ecDNA subclones in two samples. The spatial DNA heterogeneity of EGFR and p53 inactivation underscores the role of ecDNA in enabling rapid oncogene amplification and enhancing tumor adaptability under selective pressure.
from sddb import Catalog
cohort = Catalog().collection("geo-gse242352")
cohort.members # the 17 datasets as a table
print(cohort.licenses()) # check the terms before you download
sdatas = cohort.to_dict() # {uid: SpatialData}, cached locally
# or keep the .zarr files in a folder of your choice:
# sdatas = cohort.to_dict(dest="data/") Needs pip install lamindb and network access to the Lamin database, which is limited during the alpha. If it fails, use the Client tab.
import lamindb as ln
db = ln.DB("scverse/spatialdata-db")
coll = db.Collection.get(key="geo-gse242352")
coll.ordered_artifacts.to_dataframe() # the 17 members, ordered
# download every member .zarr to the local cache:
paths = [a.cache() for a in coll.ordered_artifacts.all()] # sddb client: download every member .zarr into data/
sddb-cli download --collection geo-gse242352 --dest data/ Licenses: 17 NCBI GEO policy
Cite this collection
doi.org/10.1038/s41467-025-59805-z ↗@article{Webb_2025,
title = {Resolving spatial subclonal genomic heterogeneity of loss of heterozygosity and extrachromosomal DNA in gliomas},
volume = {16},
ISSN = {2041-1723},
url = {http://dx.doi.org/10.1038/s41467-025-59805-z},
DOI = {10.1038/s41467-025-59805-z},
number = {1},
journal = {Nature Communications},
publisher = {Springer Science and Business Media LLC},
author = {Webb, Michelle G. and Chow, Frances and McCullough, Carmel G. and Zhang, Bohan and Lee, John J. Y. and Bassiouni, Rania and Garrett, Norman E. and Hurth, Kyle and Carpten, John D. and Zada, Gabriel and Craig, David W.},
year = {2025},
month = June
}