背景:使用python包spatialDE分析10x v2空转数据。
01.软件介绍
spatialDE用于非线性和非参数地计算依赖于空间位置坐标的特征基因。
image.png
特点:
无监督的:无监督聚类
非参数和非线性的
基因空间基因表达识别组织特异性
速度快
image.png
02.软件安装
conda create -n spatialDE python=3.8
conda activate spatialDE
pip install spatialde
pip install patsy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install matplotlib -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
03.软件运行
本测试数据来自于10x官方公开数据集:
https://www.10xgenomics.com/datasets/visium-cytassist-gene-expression-libraries-of-post-xenium-mouse-brain-ff-using-the-mouse-whole-transcriptome-probe-set-2-standard
输入文件需要两个:
一个是基因表达矩阵:
注意行为细胞,列为基因;
image.png
一个是细胞注释信息:
其中包括细胞的空间位置坐标x/y已经总的基因表达量
image.png
代码如下:
counts = pd.read_csv('./spatialDE/matrix.csv', index_col=0)
sample_info = pd.read_csv('./spatialDE/metadata.csv', index_col=0)
counts = counts.T[counts.sum(0) >= 3].T
counts = counts.loc[sample_info.index]
norm_expr = NaiveDE.stabilize(counts.T).T
resid_expr = NaiveDE.regress_out(sample_info, norm_expr.T, 'np.log(nCount_Spatial)').T
sample_resid_expr = resid_expr.sample(n=1000, axis=1, random_state=1)
X = sample_info[['x', 'y']]
results = SpatialDE.run(X, sample_resid_expr)
results.head().T
results.to_csv("./spatialDE/results.csv")
for i, g in enumerate(['Ankrd34b', '1110032F04Rik', 'Gfod1']):
plt.subplot(1, 3, i + 1)
plt.scatter(sample_info['x'], sample_info['y'], c=norm_expr[g]);
plt.title(g)
plt.axis('equal')
plt.colorbar(ticks=[]);
plt.savefig("./spatialDE/02.fig02"+g+".png", dpi=600)
plt.close()
results.sort_values('qval').tail(10)[['g', 'l', 'qval']]
sign_results = results.query('qval < 0.05')
sign_results['l'].value_counts()
histology_results, patterns = SpatialDE.aeh.spatial_patterns(X, resid_expr, sign_results, C=3, l=20, verbosity=1)
histology_results.head()
#'所谓的组织特异性就等于聚类
for i in histology_results.sort_values('pattern').pattern.unique():
print('Pattern {}'.format(i))
print(', '.join(histology_results.query('pattern == @i').sort_values('membership')['g'].tolist()))
print()
可视化如下:
image.png
image.png
这是方差较大的前10个基因,也就是所谓svg;
image.png
image.png
这是方差较小的基因,也就是非svg。