Потому что многие друзья в группе часто упоминают мелкие проблемы, возникшие после обновления V5. Изначально мы не планировали модифицировать код,Всем рекомендуется продолжать использовать V4.,Но я нашел разницу между Seurat_v5 и Seurat_v4объект и Обработка Шаги обработки данных не сильно отличаются, поэтому я планирую обновить версию кода Seurat_v5. Учитывая тот факт, что я ранее написал более 60 твитов-примечаний с использованием V4, всем также удобно продолжать использовать этот код в будущем, поэтому здесь я расскажу, как установить V5 и как. преобразовать объект Seurat_v4 в объект Seurat_v5。
Более того, Shengxin Skill Tree недавно опубликовал несколько твитов, посвященных устранению ошибок в обновлении Seurat_v5, а Учитель Цзэн более подробно представил эту ситуацию во время прямой трансляции на видео-аккаунте Shengxin Skill Tree.
Первая попытка версии Seurat V5
Используйте Seurat v5 для чтения нескольких 10-кратных матриц транскриптома одной клетки
#Просмотр пути к пакету R
.libPaths()
###Создайте новый путь для хранения seurat_v5
getwd()
dir.create("~/seurat_v5")
#https://satijalab.org/seurat/articles/install_v5.html
####Установите v5 в папку seurat_v5###
.libPaths(c(
'/home/data/t140333/seurat_v5/',
"/home/data/t140333/R/x86_64-pc-linux-gnu-library/4.3",
"/usr/local/lib/R/library"
))
###Установить Seurat_V5###
install.packages('Seurat')
library(Seurat)
##Установка пакетов зависимостей Эти пакеты зависимостей требуют больше времени, но в целом установка прошла относительно гладко, и ошибок не было.
setRepositories(ind = 1:3, addURLs = c('https://satijalab.r-universe.dev', 'https://bnprks.r-universe.dev/'))
install.packages(c("BPCells", "presto", "glmGamPoi"))
#Я не устанавливал здесь следующие пакеты, они официально рекомендованы.
#Официальный также рекомендует установить эти дополнительные пакеты, которые улучшат Seurat Функции:
#Signac: Анализ данных одноклеточного хроматина
#SeuratData: автозагрузка, предварительно упакованная как Seurat объектизданныенабор
#Azimuth: Локальная аннотация запросов scRNA-seq и scATAC-seq по нескольким органам и тканям.
#SeuratWrappers: поддержка использования дополнительных методов интеграции и дифференциального выражения.
#install.packages('Signac')
#remotes::install_github("satijalab/seurat-data", quiet = TRUE)
#remotes::install_github("satijalab/azimuth", quiet = TRUE)
#remotes::install_github("satijalab/seurat-wrappers", quiet = TRUE)
#Если пользователь сталкивается с чем-либо, связанным с Matrix Ошибки, связанные с пакетом. Переустановите, используя команду ниже. TFBSTools пакет и открыть новый R Сессия:
# BiocManager::install("TFBSTools", type = "source", force = TRUE)
###Как пользоваться установленной v5? ###
#Просто загрузите путь v5 при его использовании.
.libPaths(c(
'/home/data/t140333/seurat_v5/',
"/home/data/t140333/R/x86_64-pc-linux-gnu-library/4.3",
"/usr/local/lib/R/library"
))
#Подтверждаем используемую версию пакета Seurat
packageVersion('Seurat')
#####
library(ggplot2)
#Здесь я нашел ранее воспроизведенные данные и преобразовал seuratv4объект в v5объект.
sce=readRDS("./sce.all_int.rds")
sce_v4=sce
Подробную информацию о конвертации см. в официальной документации.
https://satijalab.org/seurat/articles/seurat5_essential_commands
sce[["RNA5"]] <- as(object = sce[["RNA"]], Class = "Assay5")
names(sce)
DefaultAssay(sce)='RNA5'
#Вы можете удалить исходную РНК, если она вам не нужна. Если вы не удалите ее, вы увидите, что размер sceобъекта стал в два раза больше, чем раньше, что составляет 1,3 ГБ соответственно. и 2,6Г.
#sce[['RNA']]=NULL
#Также проверьте, соответствуют ли данные предыдущему твиту.
DimPlot(sce)
table(sce$group)
DimPlot(sce, reduction = "umap",
group.by = "group",label = F)
ggsave('umap_by_RNA_snn_res.0.1_GFP.pdf',width=6,height=5)
Это повторяющийся твит, https://mp.weixin.qq.com/s/nsN5IBEtwhZ-xRK1xKGIYQ. По сравнению с ним он выглядит нормально, что указывает на отсутствие проблем с преобразованием объекта, если вы используете версию V5. , вы также можете это сделать, просто используйте мои предыдущие данные и продолжайте называть субпопуляции клеток.