首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python实战:学习生信大牛Sarah A. Teichmann发在Science上的单细胞分析

python实战:学习生信大牛Sarah A. Teichmann发在Science上的单细胞分析

作者头像
生信技能树
发布2025-07-16 14:48:11
发布2025-07-16 14:48:11
14600
代码可运行
举报
文章被收录于专栏:生信技能树生信技能树
运行总次数:0
代码可运行

python也学了一段时间了,现在找一下教程做一些代码训练实战,今天分享的就是来自2020年2月21号发表在Science杂志上的一个资源,文献标题为《A cell atlas of human thymic development defines T cell repertoire formation》

以前也有一篇完整的python版本实战:

在这篇Science杂志的文献中,作者利用单细胞RNA测序技术,创建了一个涵盖一生的人类胸腺的全面图谱,并为人类T细胞发育提供了新的见解:包括CD8αα⁺ T细胞、成纤维细胞亚型和激活的树突状细胞,并发现TCR重排和选择存在偏向性,与基因组位置和谱系承诺动力学相关。这些发现为理解人类T细胞发育提供了新的视角和全面的胸腺图谱。

这篇文献的通讯作者Sarah A. Teichmann也是生信届的大牛,介绍见:【生信进阶之路】盘点生物信息大牛课题组 EP16:Sarah A. Teichmann

Sarah教授是人类细胞图谱(the Human Cell Atlas,HCA)国际联盟的联合创始人和主要负责人。

人类胸腺单细胞图谱

本研究对15个胎儿胸腺样本(胎龄7-17孕周)和9个出生后样本进行了单细胞RNA测序。通过基于CD45、CD3或EpCAM的细胞分选,研究者分析了胸腺细胞和非胸腺细胞的转录组,并结合了T细胞受体αβ(TCRαβ)分析。经过质量控制后,共获得255,901个细胞数据。研究还对同一供体的其他相关器官进行了分析,并使用BBKNN算法结合线性回归进行了批次校正,以确保数据的准确性和可比性。

图谱:

人类胸腺细胞组成的UMAP可视化,按细胞类型着色(DN,双阴性T细胞;DP,双阳性T细胞;ETP,早期胸腺祖细胞;aDC,激活的树突状细胞;pDC,浆细胞样树突状细胞;Mono,单核细胞;Mac,巨噬细胞;Mgk,巨核细胞;Endo,内皮细胞;VSMC,血管平滑肌细胞;Fb,成纤维细胞;Ery,红细胞)。

(E) 胸腺基质细胞类型中标志基因表达的点图。

(G) 不同年龄组中细胞类型的相对比例。

数据集还涵盖了构成胸腺微环境的多种非免疫细胞类型。进一步将它们分类为亚型,包括胸腺上皮细胞(TECs)、成纤维细胞、血管平滑肌细胞(VSMCs)、内皮细胞和淋巴内皮细胞(图1E)。

胸腺成纤维细胞被进一步划分为两个之前未被描述过的亚型:

  • 成纤维细胞1型(Fb1)细胞(标志基因COLEC11、C7、GDF10),Fb1细胞独特地表达COLEC11,该基因在先天免疫中发挥重要作用(27),以及ALDH1A2,这是一种负责产生调节上皮细胞生长的视黄酸的酶(28)。
  • 成纤维细胞2型(Fb2)细胞(标志基因PI16、FN1、FBN1)(图1E)。相比之下,调节血管发育的细胞外基质(ECM)基因和sema基因则特异性地在Fb2中被检测到(图S3A)。
  • smFISH显示,Fb1细胞位于小叶周围(perilobular),而Fb2细胞则位于小叶之间(interlobular),并且常常与由VSMCs衬里的大血管相关联,这与其转录组中调节血管发育的基因特征一致。

数据下载与简单探索

数据可以在这里下载:

格式为h5ad:https://developmental.cellatlas.io/thymus-development

其他地方:ArrayExpress (accession number E-MTAB-8581)

分析代码:Zenodo repository (DOI: 10.5281/zenodo.3572422),以这里为主,数据和代码都有,看清楚有好几个版本,下载最新的那个版本

代码在这里也可以下载到:https://github.com/Teichlab/thymusatlas

数据下载比较麻烦一点,我这里还折腾了一下,可以加我微信发给你:Biotree123,下载下来的数据:

代码语言:javascript
代码运行次数:0
运行
复制
HTA08_v01_A05_Science_human_epi.h5ad
HTA08_v01_A05_Science_human_fig1.h5ad
HTA08_v01_A05_Science_human_hsc.h5ad
HTA08_v01_A06_Science_human_tcells.h5ad
HTA08_v02_A04_Science_mouse_stromal.h5ad
HTA08_v02_A04_Science_mouse_total.h5ad

数据分析中作者开发了一个包,在这里可以找到:https://github.com/jepark87/scjp

数据对应情况:

代码语言:javascript
代码运行次数:0
运行
复制
fig1_data = 'HTA08.v01.A05.Science_human_fig1.h5ad'
hsc_data = 'HTA08.v01.A05.Science_human_hsc.h5ad'
tcell_data = 'HTA08.v01.A06.Science_human_tcells.h5ad'
human_epi_data = 'HTA08.v01.A05.Science_human_epi.h5ad'
mouse_stromal_data = 'HTA08.v02.A04.Science_mouse_stromal.h5ad'
mouse_total_data = 'HTA08.v02.A04.Science_mouse_total.h5ad'

读取Load thymus data (corresponds to Fig 1C) 进来看一下:

代码语言:javascript
代码运行次数:0
运行
复制
#import scanpy.api as sc
import scanpy as sc
sc.settings.verbosity = 
sc.settings.set_figure_params(dpi=, color_map='OrRd')
sc.logging.print_version_and_date()

# 读取数据
fig1 = sc.read('HTA08.v01.A05.Science_human_fig1.h5ad')
fig1
图片
图片

样本相关的表型信息:

代码语言:javascript
代码运行次数:0
运行
复制
fig1.obs.head()
图片
图片

可视化fig1c的注释结果:

代码语言:javascript
代码运行次数:0
运行
复制
sc.pl.umap(fig1,color = 'Anno_level_fig1'.split(','))
图片
图片

按照年龄分组上色:

代码语言:javascript
代码运行次数:0
运行
复制
sc.pl.umap(fig1,color = 'Age'.split(','))

按照marker分选上色:

代码语言:javascript
代码运行次数:0
运行
复制
sc.pl.umap(fig1,color = 'sort'.split(','))

今天分享到这,去试试看~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 人类胸腺单细胞图谱
  • 数据下载与简单探索
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档