美文网首页空转-分析方法空间转录组
10X空间转录组的轨迹分析

10X空间转录组的轨迹分析

作者: 单细胞空间交响乐 | 来源:发表于2020-12-09 09:40 被阅读0次

    我们做过单细胞的童鞋们来说,轨迹分析并不陌生,然而如果将单细胞的轨迹分析结果运用到空间转录组上,就可以帮助我们了解到细胞随着时间进行的过程中,细胞位置的迁移。其中最常用的方式,是对轨迹分析结果各个state进行空间映射,以此来判断时间上的早期和晚期的细胞,也可以将不同细胞类型进行空间的映射,帮助我们知道各个时期细胞类型的空间分布,这两种方式都值得借鉴,今天我们来说一种方式,借助空间转录组数据进行轨迹分析的一种方法----stlearn。
    我们这里就来分享一下轨迹分析的方法。

    数据预处理

    import stlearn as st
    st.settings.set_figure_params(dpi=120)
    # Reading data
    data = st.Read10X(path="/home/d.pham/10X/BCBA/")
    # Save raw_count
    data.layers["raw_count"] = data.X
    # Preprocessing
    st.pp.filter_genes(data,min_cells=3)
    st.pp.normalize_total(data)
    st.pp.log1p(data)
    # Keep raw data
    data.raw = data
    st.pp.scale(data)
    # Run PCA
    st.em.run_pca(data,n_comps=50,random_state=0)
    

    这个地方需要注意,读取10X空间转录组的文件夹需要包含的文件,以及预处理,从函数的名字来看,主要运用的是scanpy的方式。

    聚类,我们这里不需要再进行tsne或者umap,因为我们想要的二位空间信息已经存在

    st.pp.neighbors(data,n_neighbors=25,use_rep='X_pca',random_state=0)
    st.pp.neighbors(data,n_neighbors=25,use_rep='X_pca',random_state=0)
    st.pl.cluster_plot(data,use_label="louvain",tissue_alpha=1,spot_size=5,show_legend=True)
    
    图片.png
    这里需要注意的是,如果我们想要把自己已经分好的聚类结果导入进去,而不想采用该软件的结果,可以将其他结果导入,甚至是细胞定义的结果。

    第三步,指定时间起点

    import numpy as np
    data.uns["iroot"] = np.flatnonzero(data.obs["louvain"]  == str(6))[50]
    st.spatial.trajectory.pseudotime(data,eps=50,use_rep="X_pca")
    

    这里我们以cluster6为例。

    第四步,推断轨迹

    Here we called global trajectory because it does the same method of trajectory inference in single cell analysis.
    We used PAGA and DPT to perform this step. It also does the function of sub-clustering.

    st.pl.non_spatial_plot(data,use_label="louvain")
    
    图片.png
    图片.png
    图片.png

    This is the DPT visualization in tissue morphology

    st.pl.trajectory.pseudotime_plot(data,list_cluster="all",show_graph=True,node_alpha=1,tissue_alpha=1,edge_alpha=0.1,node_size=5)
    
    图片.png

    第五步 Running the local trajectory inference

    First, the visualization of sub-clustering results of cluster 6 (DICS) would be showed by:


    图片.png

    The local trajectory could be constructed by this function. It calculate the spatio-temporal distance between each pair-wise of sub-clusters.

    st.spatial.trajectory.pseudotimespace_local(data,use_label="louvain",cluster=6)
    st.pl.trajectory.local_plot(data,use_cluster=6,branch_alpha=0.2,reverse=True)
    
    图片.png
    可见这个地方是对cluster内部的一个轨迹推断,这里需要注意的是,cluster只有被分割成多个区域才可能运用这个方法

    第六步,对多个cluster进行轨迹推断,(cluster6,7为例)

    st.spatial.trajectory.pseudotimespace_global(data,use_label="louvain",list_cluster=[6,7])
    st.pl.cluster_plot(data,use_label="louvain",show_trajectory=True,list_cluster=[6,7],show_subcluster=False)
    
    图片.png
    st.pl.trajectory.tree_plot(data)
    
    图片.png

    第七步,转变基因

    图片.png

    这个方法大家可以尝试,至少可视化做的不错。

    相关文章

      网友评论

        本文标题:10X空间转录组的轨迹分析

        本文链接:https://www.haomeiwen.com/subject/mxgcgktx.html