应审稿人要求| pseudo bulk差异分析

文摘   2024-09-18 09:06   江苏  

一、写在前面

最近有粉丝提问,收到了如下的审稿人意见:

审稿人认为在单细胞测序过程中,利用findMarker通过Wilcox获得的差异基因虽然考虑到了不同组别细胞数量的不同,但是未能考虑到每组样本数量的不同。因此作者希望纳入样本水平的pseudo-bulk分析能够有助于确认两种条件下的差异基因。
首先我个人觉得审稿人自己的话有些矛盾,使用pseudo-bulk计算差异基因,岂不是无法考虑到不同组别中样本数量的差异?另外这有些吹毛求疵,在Seurat V5之前,作者甚至没有在包里集成pseudo-bulk的函数与算法(当然也可以自己提取矩阵计算)。难道能说作者发表的这几篇Cell和Nature给大家推荐的流程不好吗:
Hao, Hao, et al., Cell 2021 [Seurat v4]
Stuart, Butler, et al., Cell 2019 [Seurat v3]
Butler, et al., Nat Biotechnol 2018 [Seurat v2] Satija, Farrell, et al., Nat Biotechnol 2015 [Seurat v1]
再者说,scRNA-seqBulk RNA-Seq更加的稀疏,将前者模拟为后者参与差异计算,其实也没那么科学。当然,审稿人的观点也不是全无道理,若能够通过不同的算法得到相同的差异基因结果,的确有较高的说服力。

二、pseudo-bulk差异分析走起

测试文件可以自行下载:

链接:https://pan.baidu.com/s/12dEGTJy4DnQ7gH2mbxCf-A?pwd=7qfm 

提取码:7qfm 

2.1 数据载入

# 加载R包
library(Seurat)
## 载入需要的程序包:SeuratObject
## 载入需要的程序包:sp
## 
## 载入程序包:'SeuratObject'
## The following objects are masked from 'package:base':
##
## intersect, t


# 读取数据:
scRNA <- readRDS('test_data/T1D_scRNA.rds')

# 这个数据包含24个样本:
unique(scRNA$sample)
##  [1] "D_503"  "H_120"  "H_630"  "H_3060" "D_609"  "H_727"  "H_4579" "D_504" 
## [9] "H_3128" "H_7108" "D_502" "D_497" "D_506" "H_409" "H_6625" "D_610"
## [17] "D_501" "D_500" "H_4119" "H_1334" "D_498" "H_2928" "D_644" "D_505"


# 包含两个组别的数据:
DimPlot(scRNA,split.by = 'Group')

2.2 差异计算

(1) pseudo-bulk差异计算


### 生成拟bulk 数据 ###
bulk <- AggregateExpression(scRNA, return.seurat = T, slot = "counts", assays = "RNA",
group.by = c("cell_type", "sample", "Group")# 分别填写细胞类型、样本变量、分组变量的slot名称
)
## Names of identity class contain underscores ('_'), replacing with dashes ('-')
## Centering and scaling data matrix
##
## This message is displayed once every 8 hours.


# 生成的是一个新的Seurat对象
bulk
## An object of class Seurat 
## 41056 features across 345 samples within 1 assay
## Active assay: RNA (41056 features, 0 variable features)
## 3 layers present: counts, data, scale.data

我们可以像普通scRNA-seqSeurat对象一样,利用FindMarkers()进行差异分析,我们这里用celltype10做演示。


# 取出celltype10对应的对象:
ct10.bulk <- subset(bulk, cell_type == "celltype10")
# 改变默认分类变量:
Idents(ct10.bulk) <- "Group"

# 下面的额计算依赖DESeq2,做过Bulk RNA-Seq的同学都知道:
if(!require(DESeq2))BiocManager::install('DESeq2')
## 载入需要的程序包:DESeq2
## 载入需要的程序包:S4Vectors
## 载入需要的程序包:stats4
## 载入需要的程序包:BiocGenerics
## 
## 载入程序包:'BiocGenerics'
## The following object is masked from 'package:SeuratObject':
##
## intersect
## The following objects are masked from 'package:stats':
##
## IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
##
## anyDuplicated, aperm, append, as.data.frame, basename, cbind,
## colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
## get, grep, grepl, intersect, is.unsorted, lapply, Map, mapply,
## match, mget, order, paste, pmax, pmax.int, pmin, pmin.int,
## Position, rank, rbind, Reduce, rownames, sapply, setdiff, table,
## tapply, union, unique, unsplit, which.max, which.min
## 
## 载入程序包:'S4Vectors'
## The following object is masked from 'package:utils':
##
## findMatches
## The following objects are masked from 'package:base':
##
## expand.grid, I, unname
## 载入需要的程序包:IRanges
## 
## 载入程序包:'IRanges'
## The following object is masked from 'package:sp':
##
## %over%
## The following object is masked from 'package:grDevices':
##
## windows
## 载入需要的程序包:GenomicRanges
## 载入需要的程序包:GenomeInfoDb
## 载入需要的程序包:SummarizedExperiment
## 载入需要的程序包:MatrixGenerics
## 载入需要的程序包:matrixStats
## 
## 载入程序包:'MatrixGenerics'
## The following objects are masked from 'package:matrixStats':
##
## colAlls, colAnyNAs, colAnys, colAvgsPerRowSet, colCollapse,
## colCounts, colCummaxs, colCummins, colCumprods, colCumsums,
## colDiffs, colIQRDiffs, colIQRs, colLogSumExps, colMadDiffs,
## colMads, colMaxs, colMeans2, colMedians, colMins, colOrderStats,
## colProds, colQuantiles, colRanges, colRanks, colSdDiffs, colSds,
## colSums2, colTabulates, colVarDiffs, colVars, colWeightedMads,
## colWeightedMeans, colWeightedMedians, colWeightedSds,
## colWeightedVars, rowAlls, rowAnyNAs, rowAnys, rowAvgsPerColSet,
## rowCollapse, rowCounts, rowCummaxs, rowCummins, rowCumprods,
## rowCumsums, rowDiffs, rowIQRDiffs, rowIQRs, rowLogSumExps,
## rowMadDiffs, rowMads, rowMaxs, rowMeans2, rowMedians, rowMins,
## rowOrderStats, rowProds, rowQuantiles, rowRanges, rowRanks,
## rowSdDiffs, rowSds, rowSums2, rowTabulates, rowVarDiffs, rowVars,
## rowWeightedMads, rowWeightedMeans, rowWeightedMedians,
## rowWeightedSds, rowWeightedVars
## 载入需要的程序包:Biobase
## Welcome to Bioconductor
##
## Vignettes contain introductory material; view with
## 'browseVignettes()'. To cite Bioconductor, see
## 'citation("Biobase")', and for packages 'citation("pkgname")'.
## 
## 载入程序包:'Biobase'
## The following object is masked from 'package:MatrixGenerics':
##
## rowMedians
## The following objects are masked from 'package:matrixStats':
##
## anyMissing, rowMedians
## 
## 载入程序包:'SummarizedExperiment'
## The following object is masked from 'package:Seurat':
##
## Assays
## The following object is masked from 'package:SeuratObject':
##
## Assays


# 差异计算:
bulk_deg <- FindMarkers(ct10.bulk, ident.1 = "D", ident.2 = "H", # 这样算出来的Fold Change就是D/H
slot = "counts", test.use = "DESeq2",# 这里可以选择其它算法
verbose = F# 关闭进度提示
)
## converting counts to integer mode
## gene-wise dispersion estimates
## mean-dispersion relationship
## final dispersion estimates


head(bulk_deg)# 看一下差异列表
##                        p_val avg_log2FC pct.1 pct.2 p_val_adj
## ENSG00000047346 1.900955e-05 -1.1201537 0.917 1.000 0.780456
## ENSG00000168685 7.606182e-05 -0.5817112 1.000 1.000 1.000000
## ENSG00000131759 9.696591e-05 -2.1668759 0.667 1.000 1.000000
## ENSG00000166750 2.136829e-04 -1.5473545 0.750 0.917 1.000000
## ENSG00000163947 3.127113e-04 -0.9136378 0.917 1.000 1.000000
## ENSG00000239713 4.090397e-04 -2.2337008 0.250 0.917 1.000000

如何写循环计算所有细胞类型的差异基因,就留在这里当习题啦。

(2)细胞水平的差异计算


# 整理分组变量:
scRNA$CT_Group <- paste(scRNA$cell_type,scRNA$Group,sep = '_')

# 查看新的分组变量:
unique(scRNA$CT_Group)
##  [1] "celltype12_D" "celltype3_H"  "celltype13_H" "celltype6_H"  "celltype0_D" 
## [6] "celltype12_H" "celltype4_H" "celltype11_D" "celltype14_H" "celltype9_H"
## [11] "celltype11_H" "celltype2_H" "celltype0_H" "celltype7_H" "celltype14_D"
## [16] "celltype1_D" "celltype4_D" "celltype1_H" "celltype8_H" "celltype3_D"
## [21] "celltype13_D" "celltype8_D" "celltype7_D" "celltype5_H" "celltype6_D"
## [26] "celltype15_H" "celltype2_D" "celltype5_D" "celltype10_H" "celltype9_D"
## [31] "celltype10_D" "celltype15_D"


# 差异计算:
cell_deg <- FindMarkers(scRNA,ident.1 = 'celltype10_D',ident.2 = 'celltype10_H' ,group.by = 'CT_Group')# 同样得到的是celltype10在D组 vs H组的结果
## For a (much!) faster implementation of the Wilcoxon Rank Sum Test,
## (default method for FindMarkers) please install the presto package
## --------------------------------------------
## install.packages('devtools')
## devtools::install_github('immunogenomics/presto')
## --------------------------------------------
## After installation of presto, Seurat will automatically use the more
## efficient implementation (no further action necessary).
## This message will be shown once per session

(3)两种算法的对比


library(dplyr)
## 
## 载入程序包:'dplyr'
## The following object is masked from 'package:Biobase':
##
## combine
## The following object is masked from 'package:matrixStats':
##
## count
## The following objects are masked from 'package:GenomicRanges':
##
## intersect, setdiff, union
## The following object is masked from 'package:GenomeInfoDb':
##
## intersect
## The following objects are masked from 'package:IRanges':
##
## collapse, desc, intersect, setdiff, slice, union
## The following objects are masked from 'package:S4Vectors':
##
## first, intersect, rename, setdiff, setequal, union
## The following objects are masked from 'package:BiocGenerics':
##
## combine, intersect, setdiff, union
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union


# 先看一下两种算法的显著差异基因数量  
bulk_sig <- filter(bulk_deg,p_val < 0.05)
nrow(bulk_sig)
## [1] 308


cell_sig <- filter(cell_deg,p_val < 0.05)
nrow(cell_sig)
## [1] 1494

可以看出,pseudo-bulk得到的差异基因数量要少很多,画一个韦恩图看看二者交集


if(!require(VennDiagram))install.packages("VennDiagram")
## 载入需要的程序包:VennDiagram
## 载入需要的程序包:grid
## 载入需要的程序包:futile.logger


venn.plot <- venn.diagram(
x = list(Bulk = rownames(bulk_sig), Cell = rownames(cell_sig)
),
category.names = c("Bulk DEG", "Single-Cell DEG"),
filename = NULL,
output = TRUE,
main = "Venn Diagram of Significant Genes"
)
grid.draw(venn.plot)

可以看出包含关系还是挺明显的,那我们再用交集基因的avg_log2FC做一个线性回归看看两次差异分析的相关性如何:

# 获得两次差异分析共同出现的基因:
inter_gene <- intersect(rownames(bulk_sig),rownames(cell_sig))
# 取出avg_log2FC整理为数据框
data4plot <- data.frame(Bulk = bulk_sig[inter_gene,'avg_log2FC'],
Cell = cell_sig[inter_gene,'avg_log2FC'] )

# 线性回归分析:
lm.model <- lm(Bulk ~ Cell,data = data4plot)
summary(lm.model)#看一下统计学参数
## 
## Call:
## lm(formula = Bulk ~ Cell, data = data4plot)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.01613 -0.24964 -0.04723 0.17148 2.19351
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.17249 0.02757 -6.257 1.58e-09 ***
## Cell 0.70081 0.01959 35.767 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.4107 on 263 degrees of freedom
## Multiple R-squared: 0.8295, Adjusted R-squared: 0.8288
## F-statistic: 1279 on 1 and 263 DF, p-value: < 2.2e-16


mypara <- coefficients(lm.model)#得到截距和斜率
a <- mypara[2]#斜率
b <- mypara[1]#截距
a <- round(a,2)#取两位有效数字
b <- round(b,2)

library(ggplot2)
library(ggpubr)
## 
## 载入程序包:'ggpubr'
## The following object is masked from 'package:VennDiagram':
##
## rotate


# 来个散点图吧~
lmplot <- ggplot( data4plot,aes(x=Bulk, y=Cell))+
geom_point(color="black")+
stat_smooth(method="lm",se=TRUE)+stat_cor(data=data4plot, method = "pearson")+#加上置信区间、R值、P值
ggtitle(label = paste(": y = ", a, " * x + ", b, sep = ""))+geom_rug()+#加上线性回归方程
labs(x='Bulk DEG',
y= 'single-cell DEG')

lmplot
## `geom_smooth()` using formula = 'y ~ x'

R=0.91,那么R^2就是0.83,可以看出二者的相关性还是不错的,就看能不能过审稿人这关啦。

大家有什么新的想法,欢迎在评论区留言~


环境信息

sessionInfo()
## R version 4.4.1 (2024-06-14 ucrt)
## Platform: x86_64-w64-mingw32/x64
## Running under: Windows 11 x64 (build 22631)
##
## Matrix products: default
##
##
## locale:
## [1] LC_COLLATE=Chinese (Simplified)_China.utf8
## [2] LC_CTYPE=Chinese (Simplified)_China.utf8
## [3] LC_MONETARY=Chinese (Simplified)_China.utf8
## [4] LC_NUMERIC=C
## [5] LC_TIME=Chinese (Simplified)_China.utf8
##
## time zone: Asia/Shanghai
## tzcode source: internal
##
## attached base packages:
## [1] grid stats4 stats graphics grDevices utils datasets
## [8] methods base
##
## other attached packages:
## [1] ggpubr_0.6.0 ggplot2_3.5.1
## [3] VennDiagram_1.7.3 futile.logger_1.4.3
## [5] dplyr_1.1.4 DESeq2_1.44.0
## [7] SummarizedExperiment_1.34.0 Biobase_2.64.0
## [9] MatrixGenerics_1.16.0 matrixStats_1.4.1
## [11] GenomicRanges_1.56.1 GenomeInfoDb_1.40.1
## [13] IRanges_2.38.1 S4Vectors_0.42.1
## [15] BiocGenerics_0.50.0 Seurat_5.1.0
## [17] SeuratObject_5.0.2 sp_2.1-4
##
## loaded via a namespace (and not attached):
## [1] RcppAnnoy_0.0.22 splines_4.4.1 later_1.3.2
## [4] tibble_3.2.1 polyclip_1.10-7 fastDummies_1.7.4
## [7] lifecycle_1.0.4 rstatix_0.7.2 globals_0.16.3
## [10] lattice_0.22-6 MASS_7.3-60.2 backports_1.5.0
## [13] magrittr_2.0.3 plotly_4.10.4 sass_0.4.9
## [16] rmarkdown_2.28 jquerylib_0.1.4 yaml_2.3.10
## [19] httpuv_1.6.15 sctransform_0.4.1 spam_2.10-0
## [22] spatstat.sparse_3.1-0 reticulate_1.39.0 cowplot_1.1.3
## [25] pbapply_1.7-2 RColorBrewer_1.1-3 abind_1.4-5
## [28] zlibbioc_1.50.0 Rtsne_0.17 purrr_1.0.2
## [31] GenomeInfoDbData_1.2.12 ggrepel_0.9.6 irlba_2.3.5.1
## [34] listenv_0.9.1 spatstat.utils_3.1-0 openintro_2.5.0
## [37] airports_0.1.0 goftest_1.2-3 RSpectra_0.16-2
## [40] spatstat.random_3.3-1 fitdistrplus_1.2-1 parallelly_1.38.0
## [43] leiden_0.4.3.1 codetools_0.2-20 DelayedArray_0.30.1
## [46] tidyselect_1.2.1 UCSC.utils_1.0.0 farver_2.1.2
## [49] spatstat.explore_3.3-2 jsonlite_1.8.8 progressr_0.14.0
## [52] ggridges_0.5.6 survival_3.6-4 tools_4.4.1
## [55] ica_1.0-3 Rcpp_1.0.13 glue_1.7.0
## [58] gridExtra_2.3 SparseArray_1.4.8 mgcv_1.9-1
## [61] xfun_0.47 withr_3.0.1 formatR_1.14
## [64] fastmap_1.2.0 fansi_1.0.6 digest_0.6.37
## [67] R6_2.5.1 mime_0.12 colorspace_2.1-1
## [70] scattermore_1.2 tensor_1.5 spatstat.data_3.1-2
## [73] utf8_1.2.4 tidyr_1.3.1 generics_0.1.3
## [76] data.table_1.16.0 usdata_0.3.1 httr_1.4.7
## [79] htmlwidgets_1.6.4 S4Arrays_1.4.1 uwot_0.2.2
## [82] pkgconfig_2.0.3 gtable_0.3.5 lmtest_0.9-40
## [85] XVector_0.44.0 htmltools_0.5.8.1 carData_3.0-5
## [88] dotCall64_1.1-1 scales_1.3.0 png_0.1-8
## [91] spatstat.univar_3.0-1 knitr_1.48 lambda.r_1.2.4
## [94] rstudioapi_0.16.0 tzdb_0.4.0 reshape2_1.4.4
## [97] nlme_3.1-164 cachem_1.1.0 zoo_1.8-12
## [100] stringr_1.5.1 KernSmooth_2.23-24 parallel_4.4.1
## [103] miniUI_0.1.1.1 pillar_1.9.0 vctrs_0.6.5
## [106] RANN_2.6.2 promises_1.3.0 car_3.1-2
## [109] xtable_1.8-4 cluster_2.1.6 evaluate_0.24.0
## [112] readr_2.1.5 cli_3.6.3 locfit_1.5-9.10
## [115] compiler_4.4.1 futile.options_1.0.1 rlang_1.1.4
## [118] crayon_1.5.3 future.apply_1.11.2 ggsignif_0.6.4
## [121] labeling_0.4.3 plyr_1.8.9 stringi_1.8.4
## [124] viridisLite_0.4.2 deldir_2.0-4 BiocParallel_1.38.0
## [127] munsell_0.5.1 lazyeval_0.2.2 spatstat.geom_3.3-2
## [130] Matrix_1.7-0 RcppHNSW_0.6.0 hms_1.1.3
## [133] patchwork_1.2.0 future_1.34.0 shiny_1.9.1
## [136] highr_0.11 ROCR_1.0-11 broom_1.0.6
## [139] igraph_2.0.3 bslib_0.8.0 cherryblossom_0.1.0


欢迎致谢

如果以上内容对你有帮助,欢迎在文章的Acknowledgement中加上这一段,联系客服微信可以发放奖励:

Since Biomamba and his wechat public account team produce bioinformatics tutorials and share code with annotation, we thank Biomamba for their guidance in bioinformatics and data analysis for the current study. 

欢迎在发文/毕业时向我们分享你的喜悦~


已致谢文章:
13分+文章利用scRNA-Seq揭示地铁细颗粒物引起肺部炎症的分子机制
IF14.3| scRNA-seq+脂质组多组学分析揭示宫内生长受限导致肝损伤的性别差异
鼻咽癌的Bulk RNA-Seq与scRNA-Seq联合分析
除了铁死亡,还有铜死亡?!
银屑病和脂肪肝病中共同病理和免疫特征


认真学完下面的内容,3~10分的SCI理应是囊中之物(当然也不要真的去水文章)

单细胞系列教程目录

单细胞数据分析系列教程:
B站视频,先看一遍视频再去看推送操作,建议至少看三遍:
https://www.bilibili.com/video/BV1S44y1b76Z/
本公众号单细胞相关资料都可以在这里订阅:
scRNA-Seq学习手册Seurat V4修订版
scRNA-Seq学习手册Seurat V5更新版
scRNA-Seq学习手册Python版

单细胞测序基础数据分析保姆级教程,代码部分整理在往期推送之中:
手把手教你做单细胞测序数据分析|1.绪论
手把手教你做单细胞测序数据分析|2.各类数据结构与读取方法
手把手教你做单细胞测序数据分析|3.单样本分析
手把手教你做单细胞测序数据分析|4.多样本整合
手把手教你做单细胞测序数据分析|5.细胞类型注释,从入门到入土
手把手教你做单细胞测序数据分析|6组间差异分析
手把手教你做单细胞测序数据分析|7基因集富集分析
Seurat中分类变量处理技巧
沉浸式统计细胞比例

单细胞图片改造计划:
改造单细胞降维图| 1.DimPlot的探索
改造单细胞降维图| 2.ggplot2中的DIY
改造单细胞降维图| 3.3D降维图与动图绘制
改造单细胞降维图| 4.一些造好的轮子
沉浸式统计细胞比例
改造单细胞FeaturePlot
VlnPlot用法及ggplot复现
VlnPlot的ggplot改造

SCENIC转录因子分析
SCENIC单细胞转录因子预测|1.绪论
SCENIC单细胞转录因子预测|2.学习手册
SCENIC单细胞转录因子预测|3.软件安装与数据准备
SCENIC单细胞转录因子预测|4.精简版流程
SCENIC单细胞转录因子预测|5.step1+step2构建共表达网络与regulon
SCENIC单细胞转录因子预测|6.Step3 利用AUCell对Regulon评分
SCENIC单细胞转录因子预测|7.Step4 二元矩阵的计算与可视化
SCENIC单细胞转录因子预测|8.Step5 regulon聚类、分群、降维
SCENIC单细胞转录因子预测|9.下游探索
SCENIC转录因子调控网络图

上游fastq文件处理
单细胞分析的最上游——处理Fastq文件:cellranger
单细胞分析的最上游——处理Fastq文件:dropseqRunner
Cellranger报错:Unable to distinguish between [SC5P-R2, SC3Pv2] ...
BD Rhapsody平台单细胞转录组定量流程
BD Rhapsody定量输出文件读取

细胞通讯
B站连续播放起来比较方便:
https://www.bilibili.com/video/BV1Ab4y1W7qx?p=1
往期推送
《细胞通讯》1.概论
《细胞通讯》2.1CellChat基础分析教程
《细胞通讯》2.2CellChat多组别分析
《细胞通讯》CellChat学习手册
CellChat空转细胞通讯合辑
SeekSpace细胞通讯分析

拟时序分析
B站连续播放起来比较方便:
https://www.bilibili.com/video/BV1br4y1x7Hf?p=1
往期推送
《拟时序分析》1.概论
《拟时序分析》2.monocle概论
《拟时序分析》3.monocle2实操:精简版拟时序
《拟时序分析》4.monocle2实操:完整版
单细胞测序数据进阶分析—《拟时序分析》5.初识monocle3
单细胞测序数据进阶分析—《拟时序分析》6.monocle3的降维、分群、聚类
单细胞测序数据进阶分析—《拟时序分析》7.monocle3的拟时序分析
解决monocle2的orderCells报错的两种方法
一文搞定拟时序分析的下游可视化探索

scFAST系列
scFAST分析| 01.绪论
scFAST分析| 02.单细胞分析准备工作
scFAST分析| 03.fast模块
scFAST分析| 04.Seurat分析及可视化
scFAST分析| 05.mut模块
一文学会scFAST-seq数据分析

其他单细胞相关技术贴也在这里:
genesorteR——比FindAllMarkers快一百倍!
单细胞必修课——Seurat流程
scRNA-Seq双细胞过滤手册
scRNA-Seq学习手册Seurat V4修订版
快速上手Seurat V5
单细胞Figure 1常见图表
细胞的数量由誰决定?
单细胞中应该如何做GSVA?
答读者问(三):单细胞测序前景
答读者问(四):如何分析细胞亚群
答读者问(八):为什么Read10X也会报错?
答读者问(十)整合后的表达矩阵,如何拆分出分组信息?
答读者问(十一)如何一次性读取一个目录下的cellranger输出文件?
给你安排一个懂生信的工具人(十):不学编程 零代码完成单细胞测序数据分析:Loupe Browser
什么?不做单细胞也能分析细胞类群和免疫浸润?
答读者问 (十三)查看Seurat对象时的ERROR:type='text'
各类单细胞对象(数据格式)转换大全(一)
单细胞对象(数据格式)转换大全|2. h5ad转Seuratobj
批量整理好GEO中下载的单细胞数据
答读者问 (十五)稀疏矩阵转matrix, as.matrix函数是下下策
答读者问 (十六)做单细胞测序到底需要多少内存
答读者问 (十七)调用的线程越多就算的越快嘛?
答读者问(十八)、一个我至少被问过30遍的monocle报错
没有barcode文件的单细胞数据要怎么读取
单细胞基因集评分之AUCell
粉丝来稿|1. Seurat4相较于Seurat3的几点改动
如何加快Seurat的计算速度
一文搞定单细胞基因集评分
答读者问(二十)四个单细胞样本只给了一套文件怎么读
人类单细胞测序数据中有哪些以"**-"开头的基因
为什么总把分辨率调的很高
Seurat中如何让细胞听你指挥
答读者问| 22.object 'CsparseMatrix_validate' not found
单细胞数据在R中的读取及存储速度太慢怎么办?这个神包来帮你!
单细胞分群分辨率选择困难症
一文搞定空间转录组与单细胞测序的整合分析
一文掌握十个单细胞数据库
如何将已经构建好的Seurat空转对象转存为原始文件?
一文学会零代码单细胞分析
SeekSpace| 会单细胞就会空间转录组
10xGenomics官方可视化工具——Loupe Browser
快速上手Cellranger

单细胞文献阅读:
IF14.3| scRNA-seq+脂质组多组学分析揭示宫内生长受限导致肝损伤的性别差异
Q1临床设计+生信分析,单细胞揭示骨髓增生异常综合征中的造血功能异常&微环境中的细胞状态
13分+文章利用scRNA-Seq揭示地铁细颗粒物引起肺部炎症的分子机制
除了铁死亡,还有铜死亡?!
拟时序分析神包—monocle的三篇《Nature》
测序技术的发展与应用
Biomamba助推的第二篇文章!发表了!
又来了!Biomamba生信基地助推的第四篇文章!
单细胞测序解析糖尿病肾病中肾小球的动态变化
Cell metabolism| 单细胞测序技术解析健康人与T2D患者的胰岛差异
Science| 小鼠全肾单细胞测序开篇之作
一篇不花钱就能白嫖的文章
不会吧不会吧,Nature都能白嫖?
高氧下小鼠肺发育损伤的ScRNA图谱
IgAN & STRT-Seq
老树开新花—EGFR、肿瘤、免疫+scRNA-Seq
癌前基质细胞驱动BRCA1肿瘤发生
紧跟生信"钱"沿,胰腺癌&免疫多模态图谱
原发头颈癌和肿瘤转移微生态
《Cell Metabolism》:肾脏疾病&代谢&核受体ESRRA
《Nature communication》:PD-1&急性髓细胞性白血病&T Cell
单细胞测序揭示鼻咽癌微环境的基质动力学和肿瘤特异性特征
《Nature》:MYB调控衰竭性T细胞对检查点抑制的响应
单细胞都能活检测序了?
文献阅读(二十九)、单细胞测序做到什么程度能毕业|硕士篇
文献阅读(三十)、单细胞测序做到什么程度能毕业|博士篇
2022年了,都有哪些器官/组织有scRNA-Seq数据|小鼠篇
2022年了,都有哪些器官/组织有scRNA-Seq数据|人类篇
2023年了, 都哪些物种有scRNA-Seq数据
终于读到一篇用monocle3做拟时序的文章
单细胞转录组+亚细胞空间代谢组=25分文章
酸了,六个样本的scRNA-Seq+差异分析=9分文章
自测scRNA-Seq+scWGBS=3分三区文章?
百万级单细胞多组学数据集成
空间转录组与单细胞转录组整合分析工具大比拼
<IF=27.4> IgG4相关性疾病中颌下腺和血液中的细胞和分子改变
微生物组研究技术——微生物也能做单细胞
scRNA-Seq+WGCNA+铁死亡:IF=9.69
《Nature》: 单细胞解析大脑感知流感过程
两万字长文|当前单细胞 RNA-seq 分析的最佳实践
数百万级单细胞数据时代的多组学分析
《Nature Methods》: NiCheNet, 能够考虑到胞内转录调控的细胞通讯软件
基于scRNA-Seq&空间转录组的AKI研究
自测蛋白质组+Bulk RNA-Seq & 挖掘scRNA-Seq=13.6分JASN
非监督式聚类在scRNA-Seq应用中的挑战
Seurat V5的《Nature Biotechnology》
当空转遇上单细胞~
人类肾脏参考组织图谱
有免疫特征的基质细胞,有没有可能是双细胞?
CAR-T治疗急性髓细胞性白血病的scRNA-Seq图谱
临床样本+单细胞+空转=IF4.8?
鼻咽癌的Bulk RNA-Seq与scRNA-Seq联合分析
GPTCelltype:玩GPT4玩出Nature
《Nature Methods》教你如何挑选空转平台

单细胞注释复写
单细胞注释复写(一):Human Fetal Kidney
单细胞注释复写(二): human colorectal
单细胞复写|3.急性心肌梗塞(AMI)外周血scRNA-Seq分析实战(链接重置)
单细胞复写|4. GSE157783数据集复现及差异分析
CellRank的教程重现
人类肾脏scRNA-seq图谱
小鼠纹状体单细胞基因变化图谱
T Cell单细胞参考图谱
MLP模型鉴定免疫细胞发育和瘤内T细胞耗竭的单细胞染色质图谱
干细胞样CD4+ T细胞与自身免疫性血管炎
小鼠与人类的空间表观单细胞图谱
人类肾脏scRNA-seq图谱
胰腺导管腺癌的内异质性和恶性进展scRNA-seq图谱
肝脏发育、成熟的单细胞图谱
微环境中肿瘤免疫屏障决定了免疫治疗的效果
scRNA揭示T1D骨髓与骨质减少的关系
肝癌单细胞分群marker
胶质瘤相关巨噬细胞scRNA图谱
人类乳腺癌scRNA-seq数据
肢端黑色素瘤细胞scRNA-seq图谱&免疫治疗
皮质神经注释复写
非小细胞肺癌免疫治疗后肿瘤微环境重塑scRNA图谱
小鼠脑动脉瘤模型的scRNA-Seq分析
儿童白血病的单细胞数据读取
疟疾中免疫细胞亚群的调控响应
单细胞空间转录组在脑科学领域的应用

硬件准备:
生信分析为什么要使用服务器?
足够支持你完成硕博生涯的生信环境
配置一个心仪的工作站(硬件+环境配置)
独享服务器,生信分析不求人
为实验室准备一份生物信息学不动产

如何联系我们

公众号后台消息回复不便,这里给大家留一下领取资料及免费服务器(足够支持你完成硕博生涯的生信环境)的微信号,方便各位随时交流、提建议(别问在么,添加时直接说来意)。此外呼声一直很高的交流群也建好了,欢迎大家入群讨论:

永久免费的生信、科研交流群

大家可以阅读完这几篇之后添加
给生信入门初学者的小贴士
如何搜索公众号过往发布内容

您点的每个赞和在看,我都认真当成了喜欢


Biomamba 生信基地
本人为在读博士研究生,此公众号旨在分享生信知识及科研经验与体会,欢迎各位同学、老师与专家的批评指正,也欢迎各界人士的合作与交流。
 最新文章