Spatial deconvolution of tertiary lymphoid structure in human IPF lungs revealed novel CCL19-expressing mural cells
Tertiary lymphoid structures (TLS) are commonly observed in human idiopathic pulmonary fibrosis (IPF) lungs. The specific immune and non-immune cells in the TLS of IPF patients, and the factors that drive TLS formation, remain largely unknown. Here we spatially deconvoluted immune and non-immune cells in the TLS of human IPF lungs, and examined the signals underlying TSL development in IPF patients. We identified a novel subset of CCL19hi-IPF-associated-mural cells (CCL19hiIAMC) that enveloped the vessels inside the TLS. CCL19hiIAMCs were the major source of CCL19 inside the TLS of IPF lungs, attracting T/B lymphocytes and unique CCR7+DCs to drive TLS formation. CCL19hiIAMCs also provided other pro-TLS and proinflammatory molecules to promote lymphocyte maturation and tissue inflammation. Our data also reveal that various IPF-associated fibroblasts surrounded the TLS, promoting TLS development and plasma cells dissemination via CXCL12/CXCR4 signaling. CCR7 and CXCR4 signaling attracted lymphocytes and DCs that upregulated pro-TLS genes in the IPF microenvironment to enhance TLS formation. Together, these findings have deconvoluted the cell subsets and their transcriptomes in the TLS of IPF lungs and suggest that novel CCL19hiIAMCs may drive TLS formation in collaboration with various immune cells and fibroblasts.
from sddb import Catalog
cohort = Catalog().collection("geo-gse248082")
cohort.members # the 14 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-gse248082")
coll.ordered_artifacts.to_dataframe() # the 14 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-gse248082 --dest data/ Licenses: 14 NCBI GEO policy
Cite this collection
doi.org/10.1183/13993003.01114-2024 ↗@article{Yang_2025,
title = {Distinct mural cells and fibroblasts promote pathogenic plasma cell accumulation in idiopathic pulmonary fibrosis},
volume = {65},
ISSN = {1399-3003},
url = {http://dx.doi.org/10.1183/13993003.01114-2024},
DOI = {10.1183/13993003.01114-2024},
number = {6},
journal = {European Respiratory Journal},
publisher = {European Respiratory Society (ERS)},
author = {Yang, Zhi and Cao, Gaoyuan and Tan, Xiaosheng and Orfanos, Sarah and Jude, Joseph and Barbet, Gaetan and An, Steven S. and Jiang, Dianhua and Panettieri, Reynold A. and Yang, Qi},
year = {2025},
month = Feb,
pages = {2401114}
}