3.1 导读

单细胞降维聚类之后需要重要的几个步骤

  • 自定义marker基因 可视化
  • 借助Marker基因,定型细胞类型
  • 细胞比例的差异分析

3.2 自定义Marker基因可视化

  • 定义maker基因list

    1. # 参考文献https://www.nature.com/articles/s41591-018-0096-5#Ack1
    2. maker_gene = {"endothelial_cells":[ "CLDN18", "FOLR1", "AQP4" , "PEBP4"],
    3. "endothilial":["CLDN5", "FLT1", "CDH5 ","RAMP2"],
    4. "epithelial_cells": ["CAPS", "TMEM190", "PIFO","SNTN"],
    5. "fibroblasts":["COL1A1", "DCNCOL1A2","C1R9"] ,
    6. "B_cells":["CD79A","IGKC", "IGLC3","IGHG3","LYZ", "MARCO", "CD68" ,"CD16a", "FCGR3A"],
    7. "T_cells":["CD3D","TRAC", "TRBC1" , "TRBC"]}
  • 堆积小提琴图

    1. sc.pl.stacked_violin(adata_all,
    2. maker_gene, groupby="louvain_2",
    3. use_raw=False, dendrogram=True, standard_scale ='var',
    4. row_palette = 'Set2',scale='count'
    5. )

    image.png

  • 气泡图

    1. sc.settings.set_figure_params(dpi=50, facecolor='white', dpi_save =100)
    2. myplot = sc.pl.dotplot(adata_all, maker_gene, groupby='louvain_2',dendrogram=True,
    3. color_map='Oranges', mean_only_expressed=True,return_fig=True,
    4. dot_max=1,dot_min=0.05,
    5. figsize=(11,10))
    6. myplot.add_totals().show()

    image.png

  • 聚类热图

    1. sc.pl.heatmap(adata_all, maker_gene, groupby='louvain_2',dendrogram=True,figsize=(11,16))

    image.png

    可调节figsize 显示整体图形大小

3.3 未知Marker基因定型

  • 取出所有cluster中 Marker基因top=5 进行去重。然后可视化小提琴图或者点图

    1. df_markergene_all = sc.get.rank_genes_groups_df(adata_all, group=list(adata_all.obs.louvain_2.unique()),key= "louvain_2_rankgenes")
    2. marke_list = list(df_markergene_all.groupby(['group']).head(5).drop_duplicates(subset='names')['names'])

    image.png

  • 可视化画图

    1. sc.settings.set_figure_params(dpi=50, facecolor='white', dpi_save =100)
    2. sc.pl.stacked_violin(adata_all,
    3. maker_list, groupby="louvain_2",
    4. use_raw=False, dendrogram=True, standard_scale ='var',
    5. row_palette = 'Set2',scale='count'
    6. )

    image.png

    查找相关基因进行定型 如果找不到相关信息,后续通过GO/KEGG 富集进行定位基因功能。后续会有相关分析。

  • 定型细胞注释

    通过自定义细胞已知细胞类型定义,如果想定义更详细的细胞类型可查找相关的Marker 进行注释。大体分为一下格式

  1. cell_type = {"T_cells":[5,1,13,4,2,19],
  2. "B_cells":[14,8,7,10,29,25,18,23],
  3. "endothelial_cells":[20,26,21,0,11],
  4. "fibroblasts":[28,6,22,31,30,15,12,3,16,28],
  5. "endothilial":[9,27],
  6. "epithelial_cells":[24,17]
  7. }
  8. adata_all.obs['cell_type'] = adata_all.obs['louvain_2'].astype(str) ## 赋值类型
  9. for key in cell_type:
  10. mask = adata_all.obs['cell_type'].isin(map(str,cell_type[key]))
  11. adata_all.obs.loc[mask,"cell_type"] = key

image.png

  • 可视化umap 按照新的赋值

    1. sc.settings.set_figure_params(dpi=80, facecolor='white', dpi_save =100)
    2. sc.pl.umap(adata_all, title="cell type", color = "cell_type", legend_fontsize = 8,
    3. frameon = True, wspace =0.3, color_map='Blues', palette='rainbow', use_raw =False)

    image.png

  • 总结

    细胞定型是一个技术活。需要读取文献进行注释分析,细胞定型完毕。后续的分析就可以简单进行了。

image.png