SLICER:从单细胞RNA-seq数据推断分支的非线性细胞轨迹

image.png

SLICER是一种构建轨迹的算法,该轨迹描述了某些生物学过程中基因表达的变化。SLICER可以捕获高度非线性的基因表达变化,自动选择与该过程相关的基因,并检测轨迹中的多个分支和loop features。

SLICER(Selective Locally Linear Inference of Cellular Expression Relationships),是一种使用局部线性嵌入(LLE)重建细胞轨迹的新方法。与现有的推断细胞轨迹的方法相比,SLICER具有四个显着的优势:
(1)无需生物学先验知识即可自动选择用于构建细胞轨迹的基因;
(2)使用局部线性嵌入(一种非线性降维算法)来捕获基因表达水平和整个过程之间的高度非线性关系;
(3)使用geodesic entropy自动检测细胞轨迹中分支的数量和位置;
(4)检测轨迹中的特征类型(例如“气泡”)的能力,这是现有方法无法检测到的。

安装

install.packages("SLICER")
install.packages("lle")

还可以使用devtools从GitHub安装SLICER

library("devtools")
install_github("jw156605/SLICER")
library(SLICER)
library(lle)
#输入为基因表达矩阵traj
#选择表达变化大的基因做拟时序
genes = select_genes(traj)
#选择合适的K值
k = select_k(traj[,genes], kmin=5)
traj_lle = lle(traj[,genes], m=2, k)$Y
#Construct a k-nearest neighbor graph that is fully connected
traj_graph = conn_knn_graph(traj_lle,5)
ends = find_extreme_cells(traj_graph, traj_lle)
start = 1
cells_ordered = cell_order(traj_graph, start)
branches = assign_branches(traj_graph,start)
image.png

欢迎关注~

参考:
https://github.com/jw156605/SLICER
https://genomebiology.biomedcentral.com/articles/10.1186/s13059-016-0975-3

你可能感兴趣的:(SLICER:从单细胞RNA-seq数据推断分支的非线性细胞轨迹)