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)。
胸腺成纤维细胞被进一步划分为两个之前未被描述过的亚型:
数据可以在这里下载:
格式为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,下载下来的数据:
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
数据对应情况:
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) 进来看一下:
#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
样本相关的表型信息:
fig1.obs.head()
可视化fig1c的注释结果:
sc.pl.umap(fig1,color = 'Anno_level_fig1'.split(','))
按照年龄分组上色:
sc.pl.umap(fig1,color = 'Age'.split(','))
按照marker分选上色:
sc.pl.umap(fig1,color = 'sort'.split(','))
今天分享到这,去试试看~