单细胞分析工具—scCODA 与scCODE
scCODA——细胞组成比较
scCODA(single-cell compositional data analysis)是由德国环境健康研究中心计算生物学研究所M Büttner等人基于python开发的单细胞数据分析工具,于2021年11月发表于Nature Communication;主要用于分析不同分组样本的细胞组成的差异。参考官方文档记录用法如下。
Paper:/articles/s41467-021-27150-6Github:https://github.com/theislab/scCODATutorial:/en/latest/index.html
1、安装环境
conda create -n sccoda python=3.9conda activate sccoda
conda install rpy2
pip install sccoda
# conda install -c conda-forge notebook
2、分析流程
(1)加载函数
import importlib
import warnings
warnings.filterwarnings("ignore")
import pandas as pd
import pickle as pkl
import matplotlib.pyplot as plt
from sccoda.util import comp_ana as mod
from sccoda.util import cell_composition_data as dat
from sccoda.util import data_visualization as viz
import sccoda.datasets as scd
(2)读取数据
pandas.Dataframe:第一列为样本名,其余每列各代表一种细胞类型,值表示细胞数量使用scanny包转换为Anndata结构格式,obs表示样本信息## 导入示例数据
cell_counts = scd.haber()
print(cell_counts)
#
Mouse Endocrine Enterocyte Enterocyte.Progenitor Goblet Stem TA TA.Early Tuft
# 0
Control_1
36
59
136
36 239 125
191
18
# 1
Control_2
5
46
23
20
50 11
40
5
# 2
Control_3
45
98
188
124 250 155
365
33
data_all = dat.from_pandas(cell_counts, covariate_columns=["Mouse"])
data_all.obs
data_all.X
## 提取分组信息
data_all.obs["Condition"] = data_all.obs["Mouse"].str.replace(r"_[0-9]", "", regex=True)
#
Mouse
Condition
# 0
Control_1
Control
# 1
Control_2
Control
# 2
Control_3
Control
data_salm = data_all[data_all.obs["Condition"].isin(["Control", "Salm"])]
(3)组成差异分析
## 设置先验信息
model_salm = mod.CompositionalAnalysis(data_salm,
formula="Condition", #指定参考组
reference_cell_type="Goblet") #指定一种细胞类型作为已知组间比例不变的标准,如不确定,则可以设置为 "automatic"
## Markov-chain Monte Carlo (MCMC) inferrence
sim_results = model_salm.sample_hmc() # time consuming
# 备选方案:sample_hmc_da(), sample_nuts()
## 分析结果
# sim_results.set_fdr(est_fdr=0.4)
sim_results.summary()
sim_results.credible_effects()
sim_results.effect_df
如上重点关注effect的Final Parameter列
若为0表示,该细胞类型比例在组间差异不大,可设置set_fdr设置判断的阈值标准大于0,则表示相对于参考组,细胞比例提高;反之,则相反。
3、可视化
此外scCODA也提供了一些可视化细胞比例的绘图函数,简单示例如下。
箱图viz.boxplots(data_salm, feature_name="Condition")
柱状图viz.stacked_barplot(data_salm, feature_name="Condition")
scCODE综合差异分析
scCODE( single-cell consensus optimization of differentially expressed gene detection)是由复旦大学附属金山医院邹欣等人开发的R包工具,于2022年12月发表于Briefing in Bioinformatics;该工具对多种差异基因分析策略进行了集成、整合,用于鉴定鲁棒性的单细胞差异基因。用法比较简单,简单记录如下。
Paper:/bib/article-abstract/23/5/bbac180/6590434?redirectedFrom=fulltextGithub:https://github.com/XZouProjects/scCODE
1、安装R包
necessary1 <- c('doParallel', 'samr','doSNOW','pls')installed <- necessary1 %in% installed.packages()[, 'Package']
if (length(necessary1[!installed]) >=1){
install.packages(necessary1[!installed])
}
necessary2<-c('DESeq2', 'DEsingle',
'edgeR', 'limma', 'MAST', 'S4Vectors', 'scDD', 'scmap', 'SingleCellExperiment', 'SummarizedExperiment')
installed <- necessary2 %in% installed.packages()[, 'Package']
if (length(necessary2[!installed]) >=1){
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
library(BiocManager)
BiocManager::install(necessary2[!installed])
}
install.packages("BPSC_0.99.2.tar.gz", repos = NULL, type="source")
install.packages("OGFSC_0.2.3.tar.gz", repos = NULL, type="source")
install.packages("scCODE_1.2.0.0.tar.gz", repos = NULL, type="source")
2、差异基因分析
(1)准备两组单细胞样本的count表达矩阵
library(scCODE)
data1<-data1_sccode
data1[1:4,1:4]
#
[,1] [,2] [,3]
[,4]
# Gnai3 12336.737462
0
0 5399.62
# Cdc45
0.000000
0
0
0.00
# Narf
0.000000
0
0
0.00
# Scmh1
8.639172
0
0
0.00
dim(data1)
# [1] 13045 139
data2<-data2_sccode
dim(data2)
# [1] 13045 323
(2)差异分析
默认light模式下,使用5种策略进行分析;再统计每种策略的判断结果。如果一个基因的5种结果均判断为显著差异基因,则相对更可靠。在linux端使用时,出现类似OpenBLAS blas_thread_init: pthread_create failed for thread 60 of 128: Resource temporarily unavailable报错,经查在shell命令行设置如下参数可正常使用。 export OPENBLAS_NUM_THREADS=2
export GOTO_NUM_THREADS=2
export OMP_NUM_THREADS=2
results<-scCODE(data1,data2,light = TRUE,top_ranked=5)
deg = results$DE_results
table(deg$Detected_times)
# 1
2
3
4
5
# 360 1287 132 496 917
head(deg)
Excel批量求和技巧:小计行在数据上方如何求和?
编按:哈喽,大家好,求和的问题,相信大家都不陌生,今天就来给大家分享点不一样的求和——小计行在数据上方,你知道如何操作吗?这个案例来源于一位同学在读者群咨询的问题,如下图:根据描述,小编模拟了一份逆向小计求和的案例供大家查阅,如下图:当时在群里讨论这个问题时,有小伙伴说可以使用定位空值然后输入等号单元格,最后按CtrlEnter批量填充来解决。站长网2023-07-30 13:35:150002我曾使用过最干净的电脑,那是我的黑客师傅的电脑 现在我来分享一些
我曾使用过最干净的电脑,那是我的黑客师傅的电脑。现在我来分享一些小技巧,让你的电脑也能像黑客的一样干净。首先,按下win加R键,打开运行模式,输入“%temp%”,然后点击确定。这里存放的都是无用的缓存垃圾,我们可以直接清理掉。接着,再次按下win加R键,打开运行框,输入“MRT”,然后点击确定。站长网2023-07-30 13:11:030000分享一篇关于 PS 教材中选择图层的应用与操作的文章,相信对于正在学习 PS 的小可爱们一定会有所帮助哦!
首先,我们要明确一个概念,图层是PS中最重要的概念之一。图层可以理解为一张透明的薄纸,我们可以在上面绘制、添加文字、效果等等,最后合并到一起形成一张完整的图片。那么,在进行操作时,如何选择图层呢?首先,我们可以使用鼠标点击图层列表中的某一图层来选择它,也可以使用快捷键“Ctrl单击图层”来快速选择。如果需要选择多个图层,则可以按住“Shift”键再次单击图层即可。站长网2023-07-27 16:10:410000女神找你修电脑,你不会怎么办?教你一招解决
站长网2023-07-30 11:50:390000ps快速调色技巧视频:曲线拾色器目标调色方法
ps快速调色技巧视频|ps曲线调色方法视频|ps目标调色方法视频|ps拾色器调色方法视频本视频教程由部落窝教育分享。站长网2023-07-29 15:35:180000