这是一个系列教程:前几天介绍了第一篇,这次接着分析:
单细胞分析的一个重要步骤就是高可变基因(highly variable genes,HVG)。这类基因是单细胞研究中重点关注的基因,通常可以反映细胞类型或者细胞的状态差异,与技术噪音和背景无关。在空间转录组分析中,同样也需要寻找高可变基因,但是这个步骤考虑了基因的位置信息,也就是空间可变基因(spatially variable genes,SVG)。这类基因的通常在组织或样本的不同空间位置上呈现显著差异的基因。通常与组织结构、细胞类型分布或微环境特性密切相关。分析和识别空间可变基因对于理解组织的空间异质性和功能动态具有重要意义。
Spateo 提供通过最优传输进行空间可变基因识别的功能。用户可以识别那些在空间上表达不均匀的基因,或者在切片内具有与特定给定基因相似空间表达模式的基因。该功能还扩展支持了在两个切片之间进行空间可变基因的识别。
简单整理了一下单切片和多切片寻找SVG的代码,方便大家学习。
切片内空间可变基因识别
%load_ext autoreload
%autoreload
import sys
sys.path.insert(0,"/home/panhailin/software/source/git_hub/spateo-release_add_svg/")
import spateo as st
import pickle
读取填充缺失值后的adata
空间可变基因(SVGs)的识别可以在任何类型的数据上完成,这里我们使用平滑处理后的数据来展示如何识别SVGs。平滑数据可以通过st.svg.imputation()函数生成。
e16_sm = st.read_h5ad('E16.5.smooth.h5ad')
e16_sm
随机采样400个细胞
e16 = st.svg.downsampling(e16_sm, downsampling=400)
e16
通过与均匀分布比较识别空间可变基因(SVGs)
e16_w, _ = st.svg.cal_wass_dis_bs(e16, bin_size=1, processes=7, n_neighbors=8, bin_num=100, min_dis_cutoff=500, max_dis_cutoff=1000, bootstrap=100)
筛选出显著的空间可变基因(SVGs)
st.svg.add_pos_ratio_to_adata(e16_sm, layer='raw')
e16_w['pos_ratio_raw'] = e16_sm.var['pos_ratio_raw']
sig_df = e16_w[(e16_w['log2fc']>=1) & (e16_w['rank_p']<=0.05) & (e16_w['pos_ratio_raw']>=0.05) & (e16_w['adj_pvalue']<=0.05)]
sig_df
展示top20基因
st.pl.space(e16_sm, color=sig_df.sort_values(by='log2fc', ascending=False).index[0:20], pointsize=0.1, show_legend="upper left", space='spatial')
识别与特定基因具有相似空间表达模式的基因
e16_gene_w, _ = st.svg.cal_wass_dis_target_on_genes(e16, n_neighbors=8, target_genes=["Neurod1", 'Fabp7'], processes=7, bootstrap=100, min_dis_cutoff=500, max_dis_cutoff=1000,)
# Top 10 genes are similar to Neurod1
e16_gene_w['Neurod1'].sort_values(by='Wasserstein_distance').head(10)
# Show example genes
st.pl.space(e16_sm, color=['Neurod1', 'Epha3', 'Phf21b', 'Mef2d'], pointsize=0.1, show_legend="upper left", space='spatial')
# Top 10 genes are similar to Fabp7
e16_gene_w['Fabp7'].sort_values(by='Wasserstein_distance').head(10)
# Show example genes
st.pl.space(e16_sm, color=['Fabp7', 'Lockd', 'Hmgn2', 'Zbtb20'], pointsize=0.1, show_legend="upper left", space='spatial')
这次生信的大纲内容进行全面的调整,想了解生信的,跟班的,可以看下面👇这个文章
这次可不是只学单细胞,基本上从基础到多组学、空间、机器学习一条龙全打通了
单细胞数据分析需求的可以看👇这个文章
没有服务器,单细胞数据搞不定?我们目前做好了这些pipeline,可以帮你做