Slingshot|单细胞轨迹推断r包

看Cross-tissue organization of the fibroblast lineage的时候发现作者使用了Slingshot这个r包来做拟时序分析,尝试使用了一下。

一、加载数据,转换格式

我使用的数据集:正常成纤维单细胞数据集(https://doi.org/10.1038/s41586-021-03549-5 ),seurat文件。

library(slingshot)
library(Seurat)
library(SingleCellExperiment)
library(RColorBrewer)
#加载单细胞数据集
load(file = "sc.RData")
#seurat转换为SingleCellExperiment
sc <- as.SingleCellExperiment(sc)

二、运行slingshot

sc <- slingshot(sc, clusterLabels = "ClustName", reducedDim = "UMAP")
sc
#class: SingleCellExperiment 
#dim: 21087 5000 
#metadata(0):
#assays(2): counts logcounts
#rownames(21087): Sox17 Mrpl15 ... 1700109K24Rik Gm10556
#rowData names(0):
#colnames(5000): AAGGTTCAGACAGACC-1_1_1 AAGTCTGAGGATGGTC-1_1_1 ...
#  TTGGAACCACCACGTG.4_32 TTTATGCGTCTGATTG.4_32
#colData names(11): nCount_RNA nFeature_RNA ... slingPseudotime_3
#  slingPseudotime_4
#reducedDimNames(3): PCA HARMONY UMAP
#mainExpName: RNA
#altExpNames(0):
summary(sc$slingPseudotime_1)
#Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
#  0.155   7.934  12.553  13.726  19.180  27.999    1559 

三、可视化

折线图:可指定起始和终点细胞簇(如果有先验知识,不指定的话就是无监督的)。

lin1 <- getLineages(sc, 
                    clusterLabels = "ClustName", 
                    #start.clus = 'Pi16',#可指定起始细胞簇
                    #end.clus=c("Comp","Col15a1","Ccl19", "Coch", "Cxcl12", "Fbln1", "Bmp4", "Npnt", "Hhip"),#可指定终点细胞簇
                    reducedDim = "UMAP")
plot(reducedDims(sc)$UMAP,col = brewer.pal(10,'Paired')[sce$Cluster],pch=16,asp=1)
lines(SlingshotDataSet(lin1), lwd=2,col = 'black',type = 'lineages')

细胞轨迹图:不指定起始和终点细胞簇(左)和同时指定起始和终点细胞簇(右)。

曲线图:我这里使用了同时指定起始和终点细胞簇的lin1,得到的结果和文章基本一致。

crv1 <- getCurves(lin1)
plot(reducedDims(sc)$UMAP,col = brewer.pal(10,'Paired')[sce$Cluster],pch=16,asp=1)
lines(SlingshotDataSet(crv1), lwd = 3, col = 'black')

参考文献:Slingshot: cell lineage and pseudotime inference for single-cell transcriptomics.BMC Genomics, 2018, 19, 477.

帮助文档:Slingshot: Trajectory Inference for Single-Cell Data (bioconductor.org)

### 如何在Jupyter Notebook中安装配置OpenCV (cv2) #### 选择合适的Python环境 为了确保最佳兼容性和性能,在开始之前建议创建一个新的Conda虚拟环境来管理依赖项[^3]。 ```bash conda create --name opencv_env python=3.9 conda activate opencv_env ``` #### 配置软件包仓库镜像源 考虑到网络因素的影响,推荐使用国内的清华大学开源软件镜像站作为pip和conda的默认索引网址,从而加速下载过程并提高成功率[^4]。 对于`conda`命令: ```bash conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes ``` 对于`pip`工具,则可以通过编辑或新建文件`~/.pip/pip.conf`(Linux/MacOS)或`%APPDATA%\pip\pip.ini`(Windows),添加如下内容: ```ini [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple ``` #### 安装必要的库和支持组件 通过上述优化后的通道快速获取所需资源。针对OpenCV本身及其配套模块执行以下操作即可完成部署工作[^1]。 ```bash conda install opencv ``` 如果希望获得更全面的功能支持,还可以考虑额外安装一些常用的图像处理扩展包: ```bash pip install numpy matplotlib scikit-image imutils ``` #### 测试安装效果 启动Jupyter Notebook服务,并尝试导入cv2模块验证是否成功加载了OpenCV库函数。 ```python import cv2 print(cv2.__version__) ``` 当以上代码能够正常输出版本号而没有任何错误提示时即表明整个流程已经顺利完成。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值