单细胞分析工具—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)

ps中渐变工具的使用方法及渐变工具的用途?
Photoshop中的渐变工具可以用来创建从一个颜色到另一个颜色的平滑过渡。它可以用来添加背景、创建渐变文字、创建渐变形状等,可以帮助设计师轻松地制作��各种渐变效果。使用方法:打开PS软件,选择渐变工具(GradientTool)。站长网2023-07-27 17:45:060000网页禁止复制粘贴怎么解决?教你五招轻松搞定
在网上遇到一些无法复制的文章,有什么办法可以绕开这种限制,将网页内容轻松**下来呢?其实网页上文本复制下来不是问题,只要用对方法,都可以轻松搞定,将相关文本复制下来,一起来看看要怎么做吧。方法一、截图识别站长网2023-07-30 10:00:310000天呐!不愧是精通电脑的高手,原来早就把键盘上的功能全搞清楚了,并
天呐!不愧是精通电脑的高手,原来早就把键盘上的功能全搞清楚了,并且还详细写了出来,让人一看就懂,不得不说即使是电脑小白,也能看清楚明白。建议大家保存下来,尤其是办公室白领、学生或者是经常需要使用的人,尽早把这些快捷键和按键功能背书,不但可以快速提高工作效率,还能彻底解决日常遇见的问题,助你成为电脑高手,瞬间让你在同事与同学当中脱颖而出。站长网2023-07-30 15:31:570002108套Excel可视化图表模板,自带公式,免费领取!(人事、财务、采购等)
哈喽,小伙伴们,你们好呀!今天是我们的福利时间,给大家分享Excel模板!在工作中,很多人都会用Excel,然而,很多时候,一连串的数字符号看上去实在令人头疼,一点都不形象。所以,有时候,我们需要将数字进行图形化。图表的制作总是很麻烦,可视化图表的操作就更加不用说了。不用担心今天我们给大家准备了108套Excel可视化图表模板让你的数据表格秒变高颜值图表!看看模板里有什么吧站长网2023-07-29 16:46:560003如何鉴别手机是正品还是翻新?拨号键输入两组代码就知道,涨知识
不管我们是在实体店买手机,还是网上买手机,大家最担心的一个问题,都是怕用买新机的价钱,买到一部翻新机,那我们在买手机的时候,怎样才能快速辨别自己买到的手机到底是不是正品呢?接下来小俊就给大家分享2种方法,只要在拨号键里面输入2组代码,就能快速知道自己的手机是不是翻新机,不知道的朋友,可以点赞收藏加关注,方便以后需要的时候,可以快速找到!接下来就跟着小俊一起来学习一下他的知识!站长网2023-07-28 17:35:170000