Spatial genomics reveals cholesterol metabolism as a key factor in immunotherapy resistance in colorectal cancer [Visium]
Immune checkpoint inhibitors (ICIs) have transformed the treatment landscape across multiple cancer types achieving durable responses for a significant number of patients. Despite their success, many patients still fail to respond to ICIs or develop resistance soon after treatment. We sought to identify early treatment features associated with ICI outcome. We leveraged the MC38 syngeneic tumor model because it has variable response to ICI therapy driven by tumor intrinsic heterogeneity. ICI response was assessed based on the level of immune cell infiltration into the tumor – a well-established clinical hallmark of ICI response. We generated a spatial atlas of 48,636 transcriptome-wide spots across 16 tumors using spatial transcriptomics; given the tumors were difficult to profile, we developed an enhanced transcriptome capture protocol yielding high quality spatial data. In total, we identified 8 tumor cell subsets (e.g., proliferative, inflamed, and vascularized) and 4 stroma subsets (e.g., immune and fibroblast). Each tumor had orthogonal histology and bulk-RNA sequencing data, which served to validate and benchmark observations from the spatial data. Our spatial atlas revealed that increased tumor cell cholesterol regulation, synthesis, and transport were associated with a lack of ICI response. Conversely, inflammation and T cell infiltration were associated with response. We further leveraged spatially aware gene expression analysis, to demonstrate that high cholesterol synthesis by tumor was associated with cytotoxic CD8 T cell exclusion. Finally, we demonstrate that bulk RNA-sequencing was able to detect immune correlates of response but lacked the sensitivity to detect cholesterol synthesis as a feature of resistance.
from sddb import Catalog
cohort = Catalog().collection("geo-gse284989")
cohort.members # the 22 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-gse284989")
coll.ordered_artifacts.to_dataframe() # the 22 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-gse284989 --dest data/ Licenses: 22 NCBI GEO policy
Cite this collection
doi.org/10.3389/fonc.2025.1549237 ↗@article{Kavran_2025,
title = {Spatial genomics reveals cholesterol metabolism as a key factor in colorectal cancer immunotherapy resistance},
volume = {15},
ISSN = {2234-943X},
url = {http://dx.doi.org/10.3389/fonc.2025.1549237},
DOI = {10.3389/fonc.2025.1549237},
journal = {Frontiers in Oncology},
publisher = {Frontiers Media SA},
author = {Kavran, Andrew J. and Bai, Yulong and Rabe, Brian and Kreshock, Anna and Fisher, Andrew and Cheng, Yelena and Lewin, Anne and Dai, Chao and Meyer, Matthew J. and Mavrakis, Konstantinos J. and Lyubetskaya, Anna and Drokhlyansky, Eugene},
year = {2025},
month = Mar
}