Основная структура статьи:
1. Загрузка данных
2. Чтение данных и создание объекта проверки.
Вы можете зайти на официальный сайт GEO (https://www.ncbi.nlm.nih.gov/gds), чтобы найти и загрузить нужные вам данные секвенирования отдельных клеток. Данные для тестирования примера кода будут предоставлены позже в этой статье.
Общие форматы данных секвенирования отдельных клеток, представленные в базе данных GEO, в основном включают следующее:
одиночный образец чтения данных случая и демонстрация создания объекта seurat для каждого формата:
Загрузка демонстрационных данных:
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE234527
После скачивания файла разархивируйте его и измените имя. Путь к хранилищу следующий:
Ссылка на код для чтения файлов и создания объектов:
# Импортировать пакет Seurat
library(Seurat)
# Просмотр текущего рабочего каталога
getwd()
# Установить рабочий каталог (переключить рабочий каталог на указанный путь)
setwd("D:/project/scRNA")
# Чтение данных 10x, параметр data.dir указывает путь для хранения файла.
seurat_data <- Read10X(data.dir = "./data/GSE234527/352")
# Создать объект Сёра
seurat_obj <- CreateSeuratObject(counts = seurat_data,
project = "GSM7470392_352",
min.features = 200,
min.cells = 3)
# Просмотр основной информации об объектах Сера
seurat_obj
Загрузка демонстрационных данных:
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE200874
После скачивания разархивируйте его, путь хранения такой, как показано на рисунке.
Ссылка на код для чтения файлов и создания объектов:
# Импортировать пакет Seurat
library(Seurat)
# Просмотр текущего рабочего каталога
getwd()
# Установить рабочий каталог (переключить рабочий каталог на указанный путь)
setwd("D:/project/scRNA")
# Укажите местоположение и имя файла, который нужно прочитать.
h5_file <- "./data/GSE200874/GSM6045825_wt_filtered_gene_bc_matrices_h5_1.h5"
# Чтение файлов в формате h5 (используйте функцию Read10X_h5 для чтения файлов данных с одной ячейкой в формате h5)
seurat_data <- Read10X_h5(file = h5_file)
# Создать объект Сёра (с помощью функции CreateSeuratObject Создать объект Сёра,И преобразуем прочитанные данные формата h5 в объект Seurat)
seurat_obj <- CreateSeuratObject(counts = seurat_data,
project = "GSM6045825_wt",
min.features = 200,
min.cells = 3)
# Просмотр основной информации об объектах Сера
seurat_obj
Рекомендуется вручную сжать эти два файла на локальный компьютер, чтобы проверить формат содержимого файла.
CSVсжатиеGZФормат Загрузка демонстрационных данных:
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=gse130148
Путь хранения загруженного файла
Пример кода сжатия CSV в формате GZ:
# Импортировать пакет Seurat
library(Seurat)
# Просмотр текущего рабочего каталога
getwd()
# Установить рабочий каталог (переключить рабочий каталог на указанный путь)
setwd("D:/project/scRNA")
# Используйте функцию read.csv() для чтения данных из файла в формате csv.gz и используйте первый столбец в качестве имени строки.
seurat_data<- read.csv(gzfile("./data/GSE130148/GSE130148_raw_counts.csv.gz"), row.names = 1)
# Используйте функцию CreateSeuratObject() Создать объект Сёра,и укажите здесь название проекта
seurat_obj <- CreateSeuratObject(counts = seurat_data,
min.features = 200,
min.cells = 3,
project = "GSE130148")
Пример кода сжатия txt в формате GZ:
# Импортировать пакет Seurat
library(Seurat)
# Просмотр текущего рабочего каталога
getwd()
# Установить рабочий каталог (переключить рабочий каталог на указанный путь)
setwd("D:/project/scRNA")
# Используйте функцию read.table() для чтения данных из файла в формате txt.gz и используйте первый столбец в качестве имени строки.
seurat_data<- read.table(gzfile("./data/GSE130xxx/xxxx.txt.gz"), row.names = 1, header = TRUE, sep = "\t")
# Используйте функцию CreateSeuratObject() Создать объект Сёра,и укажите здесь название проекта
seurat_obj <- CreateSeuratObject(counts = seurat_data,
min.features = 200,
min.cells = 3,
project = "GSE130xxx")
Скачать тестовые файлы:
https://www.dropbox.com/s/ngs3p8n2i8y33hj/pbmc3k.h5ad?dl=0
# Скачать тестовые файлы
# https://www.dropbox.com/s/ngs3p8n2i8y33hj/pbmc3k.h5ad?dl=0
# Импортируйте необходимые пакеты R.
library(Seurat)
# Установите пакет SeuratDisk
#remotes::install_github("mojaveazure/seurat-disk")
library(SeuratDisk)
# Просмотр текущего рабочего каталога
getwd()
# Установить рабочий каталог (переключить рабочий каталог на указанный путь)
setwd("D:/project/scRNA")
# Преобразуйте файл формата h5ad в файл формата h5seurat и укажите анализ, который будет использоваться как «РНК».
Convert("./data/pbmc/pbmc3k.h5ad", "h5seurat", overwrite = TRUE, assay = "RNA")
# использоватьLoadH5Seurat()функциянагрузкаh5seuratФорматдокумент,и Создать объект Сёра
seurat_pbmc <- LoadH5Seurat("./data/pbmc/pbmc3k.h5seurat")
# Используйте функцию load() для чтения файлов RDATA.
load("path/to/your/file.Rdata")
# Используйте функцию readRDS() для чтения файлов RDS.
my_data <- readRDS("path/to/your/file.rds")
Несколько образцы корпуса, наша основная задача на10x Формат геномики и сжатая текстовая матрица (файл GZ в формате TXT или CSV)
Загрузка тестовых данных:
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE234527
Пример кода:
# Импортировать пакет Seurat
library(Seurat)
# Просмотр текущего рабочего каталога
getwd()
# Установить рабочий каталог (переключить рабочий каталог на указанный путь)
setwd("D:/project/scRNA")
# Получить список всех файлов образцов в папке данных.
samples <- list.files("./data/GSE234527")
# Создайте пустой список для хранения объектов Сёра.
seurat_list <- list()
# Прочтите каждый образец10xданныеи Создать объект Сёра
for (sample in samples) {
# Путь к файлу сращивания
data.path <- paste0("./data/GSE234527/", sample)
# Чтение данных 10x, параметр data.dir указывает путь для хранения файла.
seurat_data <- Read10X(data.dir = data.path)
# Создать объект Сёра,и指定项目名称为样本документ名
seurat_obj <- CreateSeuratObject(counts = seurat_data,
project = sample,
min.features = 200,
min.cells = 3)
# Добавить объект Сёра в список
seurat_list <- append(seurat_list, seurat_obj)
}
# Распечатать список всех объектов Сера
seurat_list
# Объединить объекты Сёра, объединить все объекты Сёра в один объект
seurat_combined <- merge(seurat_list[[1]],
y = seurat_list[-1],
add.cell.ids = samples)
# Распечатайте объединенный объект Сёра
print(seurat_combined)
Загрузка тестовых данных:
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE200874
После скачивания разархивируйте данные:
# Импортировать пакет Seurat
library(Seurat)
# Установить рабочий каталог
setwd("D:/project/scRNA")
# Получите список всех файлов h5 в папке данных.
h5_files <- list.files("./data/GSE200874", pattern = "\\.h5$")
# Создайте пустой список для хранения объектов Сёра.
seurat_list <- list()
# Перебрать каждыйh5документ的данныеи Создать объект Сёра
for (h5_file in h5_files) {
# Путь к файлу сращивания
data.path <- paste0("./data/GSE200874/", h5_file)
# Чтение данных h5
seurat_data <- Read10X_h5(filename = data.path)
# Создать объект Сёра,и指定项目名称为документ名
sample_name <- tools::file_path_sans_ext(basename(h5_file))
seurat_obj <- CreateSeuratObject(counts = seurat_data,
project = sample_name,
min.features = 200,
min.cells = 3)
# Добавить объект Сёра в список
seurat_list <- append(seurat_list, seurat_obj)
}
# Извлеките часть перед подчеркиванием
sample_names <- sub("_.*", "", h5_files)
# Объединить объекты Сёра, объединить все объекты Сёра в один объект
seurat_combined <- merge(seurat_list[[1]],
y = seurat_list[-1],
add.cell.ids = sample_names)
# Распечатайте объединенный объект Сёра
print(seurat_combined)
Скачать тестовые файлы:
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi
Загрузите три данных для демонстрации кода.
Разархивируйте после скачивания:
Пример кода:
# Импортировать пакет Seurat
library(Seurat)
# Импортировать пакет Seurat
library(Seurat)
# Установить рабочий каталог — это путь для хранения файла данных
setwd("D:/project/scRNA")
# Получить список всех файлов csv.gz
file_list <- list.files("./data/GSE150578", pattern = "\\.csv\\.gz$")
# Создайте пустой список для хранения объектов Сёра.
seurat_list <- list()
# Перебрать каждыйcsv.gzдокумент的данныеи Создать объект Сёра
for (file in file_list) {
# Путь к файлу сращивания
data.path <- paste0("./data/GSE150578/", file)
# Чтение данных файла csv.gz
seurat_data <- read.csv(gzfile(data.path), row.names = 1)
# Создать объект Сёра,и指定项目名称为документ名(удалить суффикс)
sample_name <- tools::file_path_sans_ext(basename(file))
seurat_obj <- CreateSeuratObject(counts = seurat_data,
project = sample_name,
min.features = 200,
min.cells = 3)
# Добавить объект Сёра в список
seurat_list <- append(seurat_list, seurat_obj)
}
# Извлеките часть перед подчеркиванием
sample_names <- sub("_.*", "", file_list)
# Объединить объекты Сёра, объединить все объекты Сёра в один объект
seurat_combined <- merge(seurat_list[[1]],
y = seurat_list[-1],
add.cell.ids = sample_names)
# Распечатайте объединенный объект Сёра
print(seurat_combined)
Вы можете использовать более эффективные функции, такие как fread(), чтобы заменить функцию read.csv() в этой статье, но вам следует обратить внимание на то, является ли формат данных после чтения точным.
Справочная ссылка: https://www.jianshu.com/p/5b26d7bc37b7.
Ссылка на ссылку: https://mp.weixin.qq.com/s/M15kWdH8eDONfakNhY-enA