1.2 创建seurat对象 依然使用CreateSeuratObject 函数,此处count 为读取的矩阵文件。 1,CreateSeuratObject中的meta.data参数 CreateSeuratObject函数除了简单的过滤条件外 ,还有一个重要的meta.data参数,可以输入提供的meta信息。 meta2 <- meta %>% column_to_rownames("cellid") sce2 <- CreateSeuratObject(counts = data, 200, project = "GSE179994") head(sce2@meta.data) 2,AddMetaData函数 也可以在sce0 ◆ ◆ ◆ ◆ ◆ 精心整理(含图PLUS版)|R语言生信分析,可视化(R统计,ggplot2绘图,生信图形可视化汇总)
pbmc500_assay <- CreateChromatinAssay(pbmc500.counts, fragments = frags.500) pbmc500 <- CreateSeuratObject meta.data=md.500) pbmc1k_assay <- CreateChromatinAssay(pbmc1k.counts, fragments = frags.1k) pbmc1k <- CreateSeuratObject meta.data=md.1k) pbmc5k_assay <- CreateChromatinAssay(pbmc5k.counts, fragments = frags.5k) pbmc5k <- CreateSeuratObject FindTopFeatures(combined, min.cutoff = 20) combined <- RunSVD(combined) combined <- RunUMAP(combined, dims = 2: FindTopFeatures(combined, min.cutoff = 20) combined <- RunSVD(combined) combined <- RunUMAP(combined, dims = 2:
Read10X(data.dir = paste(dataset_loc, ids[1],"filtered_feature_bc_matrix", sep="/")) seurat_obj <- CreateSeuratObject Read10X_h5(file.path(dataset_loc, ids[1], "filtered_feature_bc_matrix.h5"), use.names = T) seurat_obj <- CreateSeuratObject row names as the gene IDs rownames(counts) <- gene_ids colnames(counts) <- cell_ids seurat_obj <- CreateSeuratObject Read10X(data.dir = paste(dataset_loc, file,"filtered_feature_bc_matrix", sep="/")) seurat_obj <- CreateSeuratObject a merged Seurat object merged_seurat <- merge(x = eval(parse(text=ids[1])), y = eval(parse(text=ids[2]
dgCMatrix" # attr(,"package") # [1] "Matrix" # 构建 Seurat 对象 # 初步过滤一般不需要修改参数,除非数据实在太难看 Seurat_object <- CreateSeuratObject 从 h5 文件构建 以数据GSE122960[2]的 GSM3489182 为例,在 GEO 界面选中并下载后解压。 ScRNAdata <- Read10X_h5(filename = "GSM3489182_Donor_01_raw_gene_bc_matrices_h5.h5") Seurat_object <- CreateSeuratObject CreateSeuratObject( counts, project = "CreateSeuratObject", assay = "RNA", names.field = 1, acc=GSE134809 [2] GSE122960下载链接: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgiGSE122960 [3] GSM2829942
pwd=5s2q 提取码: 5s2q 读取数据并创建Seurat对象 ### ### Create: Jianming Zeng ### Date: 2023-12-31 ### Email: A3 A4 C1 C2 C3 C4 M1 M2 M3 S1 S4 6394 7621 8561 4780 6464 6432 > samples [1] "IRI1d_1.txt" "IRI1d_2.txt" "IRI1d_3.txt" "IRI1d_4.txt" "IRI3d_1.txt" "IRI3d_2.txt" "IRI3d _3.txt" "IRI3d_4.txt" "MSC1.txt" "MSC2.txt" "MSC3.txt" [12] "sham1.txt" "sham2.txt" 检查数据 > gsub(".txt","", pro) [1] "IRI1d_1" CreateSeuratObject 这个函数做了什么?
filtered_feature_bc_matrix/") H24 <- Read10X(data.dir = "~/Documents/NBM_Microenvironment/SB62_scRNASeq_S<em>2</em>/ filtered_feature_bc_matrix/") H32 <- Read10X(data.dir = "~/Documents/NBM_Microenvironment/SB62_scRNASeq_S<em>2</em>/ <- <em>CreateSeuratObject</em>(counts = H23, project = "H23", min.cells = 3, min.features = 100) H23 H24 <- CreateSeuratObject FALSE, exp_rate = (length(colnames(ob.list[[i]]))/125000)) } MACS <- ob.list[[1]] H21 <- ob.list[[2] resolution = 1) } combined <- FindClusters(combined, algorithm = 2, resolution = 1.5) combined <-
如果是单个样品,直接读取进来然后创建seurat对象即可:初试Seurat的V5版本 主要区别在于,V4版本中一般是循环读取样品,使用CreateSeuratObject创建seurat对象,然后使用merge 那我们可以先把多个样品合并成为了一个超级大的表达量矩阵,并使其行名为基因名,列名为barcodes信息,后面直接针对它来使用CreateSeuratObject函数去构建Seurat对象,就是完美的下游分析的输入数据啦 library(Seurat) library(clustree) library(cowplot) library(data.table) library(dplyr) library(ggplot2) ) library(stringr) phe=str_split(rownames(sce.all@meta.data),'_',simplify = T) head(phe) table(phe[,2] ) sce.all$group=phe[,2] table(phe[,3]) sce.all$sex=phe[,3] table(phe[,1])
,tsv/txt,h5ad格式10x格式的读取展开代码语言:TXTAI代码解释library(Seurat)ct=Read10X(data.dir="GSE145154_RAW/")seu.obj<-CreateSeuratObject )#install.packages("hdf5r")ct<-Read10X_h5("GSE200874_RAW/GSM6045826_wt_filtered_gene_bc_matrices_h5_2. h5")seu.obj<-CreateSeuratObject(counts=ct,project="GSE200874",min.features=200,min.cells=3)seu.objtxt row.names=1#是将第一列设置为行名的意思ct<-read.csv("GSE130148_raw_counts.csv.gz",row.names=1)class(ct)seu.obj<-CreateSeuratObject
使用CreateSeuratObject生成Seurat对象,后续分析都是在该对象上进行操作。 rownames(x = raw.data), value = FALSE) raw.data <- raw.data[-ercc.index,] dim(raw.data) 有了表达矩阵,直接使用 CreateSeuratObject 然后慢慢添加这个表达矩阵的一些其它外部属性,全部代码如下: # Create the Seurat object with all the data (unfiltered) main_tiss <- CreateSeuratObject /',pattern='[12]$') folders # [1] "G1" "G2" "L1" "L2" "NP1" "NP2" "PI1" "PI2" # 然后使用lapply进行循环(之前出过一期 L_1 L_2 NP_1 NP_2 PI_1 PI_2 # 2915 3106 5906 3697 2249 2127 1500 4306 # 保存: save(sce_big,file = 'sce_big.Rdata
{ ct = tmp[[1]] }else{ct = tmp} sce =CreateSeuratObject(counts = ct , ='GSE131685_RAW/outputs/' samples=list.files( dir ) samples 上面的这两个数据集走我们给大家的标准代码后各自独立的降维聚类分群,就会有 2- 然后就可以使用下面的代码,合并两个数据集: GSE131685 = readRDS('../2020-GSE131685-3个正常人的肾单细胞/2-harmony/sce.all_int.rds') sce.all_int.rds') GSE152938$study = 'GSE152938' table(GSE152938$orig.ident) sceList = list( GSE131685 = CreateSeuratObject ( counts = GSE131685@assays$RNA$counts ), GSE152938 = CreateSeuratObject( counts = GSE152938
<- CreateSeuratObject(counts = pfc2.data, project = "pfc-demo", min.cells = 3, min.features = 200) pfc3 <- CreateSeuratObject(counts = pfc3.data, project = "pfc-demo", min.cells = 3, min.features = 200 ) pfc5 <- CreateSeuratObject(counts = pfc5.data, project = "pfc-demo", min.cells = 3, min.features = 200) pfc7 <- CreateSeuratObject(counts = pfc7.data, project = "pfc-demo", min.cells = 3, min.features ~ 3 .不死心的话,我们不使用SCTtransform,也不去除批次效应,只使用seurat标准流程试试 3#3 标准流程----- head(subset_data@meta.data) All=CreateSeuratObject
/data/GSE130148/GSE130148_raw_counts.csv.gz"), row.names = 1) # 使用CreateSeuratObject()函数创建Seurat对象,并在此处指定项目名称 seurat_obj <- CreateSeuratObject(counts = seurat_data, min.features /data/GSE130xxx/xxxx.txt.gz"), row.names = 1, header = TRUE, sep = "\t") # 使用CreateSeuratObject()函数创建 project = "GSE130xxx") h5ad格式: 下载测试文件: https://www.dropbox.com/s/ngs3p8n2i8y33hj dl=0 # 下载测试文件 # https://www.dropbox.com/s/ngs3p8n2i8y33hj/pbmc3k.h5ad?
library("Seurat") scrna_data_ctrl <- Read10X("data/GSE96583/ctrl/") ctrl <- CreateSeuratObject( counts , min.cells = 3, min.features = 200) scrna_data_stim <- Read10X("data/GSE96583/stim/") stim <- CreateSeuratObject sample_list){ filedir = str_c("data/GSE96583/",sample) scrna_data <- Read10X(filedir) Seurat_object <- CreateSeuratObject str_c("data/GSE96583/",sample) # 数据的读取 scrna_data <- Read10X(filedir) # 对象的构建 Seurat_object <- CreateSeuratObject
加载R包 library(Seurat) library(cowplot) library(Matrix) library(dplyr) library(ggplot2) library(reshape2 <-CreateSeuratObject(counts = C149, project = "C149",min.cells = 3, min.features = 200) C152<-CreateSeuratObject 大约2个小时后。。。。。。 markers = c('AGER','SFTPC','SCGB3A2','TPPP3','KRT5', 'CD68','FCN1','CD1C','TPSB2','CD14', library(dplyr) library(reshape2) organ.summary = read.delim2("1-nCoV-percentage-sample.txt",header =
接下来分别读取 library(Seurat) sce.10x <- Read10X(data.dir = '~/four-PBMC-mtx/SRR7722939/') sce1 <- CreateSeuratObject <- CreateSeuratObject(raw.data = sce.10x, min.cells = 60, project = "SRR7722940") sce.10x <- Read10X(data.dir = '~/four-PBMC-mtx/SRR7722941/') sce3 <- CreateSeuratObject SRR7722940" "SRR7722941" "SRR7722942" library(Seurat) sceList = lapply(folders,function(folder){ CreateSeuratObject <- NormalizeData(sce2) sce2 <- ScaleData(sce2, display.progress = F) sce3 <- NormalizeData(sce3) sce3
示例代码是: rm(list=ls()) options(stringsAsFactors = F) library(Seurat) sce1 <- CreateSeuratObject(Read10X rl=read.table('tableOfCounts_rowLabels.tsv', header = T)[,2] head(cl) head(rl) rownames (mtx) <- rl colnames(mtx) <- cl sce=CreateSeuratObject(counts = mtx) 可以看到样本名以及基因名字都还是蛮复杂的: > head(cl ) [1] "4602STDY7018923___AAACGGGGTCCAACTA" [2] "4602STDY7018923___AAAGATGAGGAGTACC" [3] "4602STDY7018923 也就是说 readMM 函数即可,然后配合CreateSeuratObject来构建对象! 降维聚类分群和生物学注释都走起!
library(Seurat) #import data #C_data T_data 为要分析的data.frame Control<-CreateSeuratObject(counts =C_data ,min.cells = 5, min.features = 10,project = "control") Treat<-CreateSeuratObject(counts =T_data,min.cells FindClusters(T_C, resolution = 0.5) # Visualization p1 <- DimPlot(T_C, reduction = "umap", group.by = "stim") p2 <- DimPlot(T_C, reduction = "umap", label = TRUE) plot_grid(p1, p2)
{ ct = tmp[[1]] }else{ct = tmp} sce =CreateSeuratObject(counts = ct , 这里的 if语句检查 tmp 是否包含两个数据层:if(length(tmp) == 2):如果 tmp 的长度为2,说明它包含两个不同的数据层(如gene expression和 protein expression { ct = tmp[[1]] }else{ct = tmp} sce =CreateSeuratObject(counts = ct , lapply(samples,function(pro){ #pro=samples[1] print(pro) ct=readRDS(pro) ct[1:4,1:4] sce=CreateSeuratObject CountMatrix.txt.gz','',pro), colnames(ct) ,sep = '_') ct=ct[,-1] sce =CreateSeuratObject
ctrl_raw_feature_bc_matrix") # Turn count matrix into a Seurat object (output is a Seurat object) ctrl <- CreateSeuratObject (counts = ctrl_counts, min.features = 100) 这里我们使用CreateSeuratObject 将矩阵转换为 ctrl_raw_feature_bc_matrix") # Turn count matrix into a Seurat object (output is a Seurat object) stim <- CreateSeuratObject 545 2_TTTGCATGGGACGA-1 SeuratProject 1233 518 2_TTTGCATGGTGAGG-1 SeuratProject 1084 469 2_TTTGCATGGTTTGG-1 SeuratProject 818 432 2_TTTGCATGTCTTAC-1 SeuratProject
2用到的包 rm(list = ls()) library(Seurat) library(SeuratDisk) library(SeuratWrappers) library(patchwork) library(harmony) library(rliger) library(RColorBrewer) library(tidyverse) library(reshape2) library(ggsci use.names = T) matrix_5p <- Read10X_h5("./5p_pbmc10k_filt.h5",use.names = T)$`Gene Expression` srat_3p <- CreateSeuratObject (matrix_3p,project = "pbmc10k_3p") srat_5p <- CreateSeuratObject(matrix_5p,project = "pbmc10k_5p") srat 4初步合并 4.1 简单合并 这里我们先用merge将2个数据集简单合并在一起。(这里我们默认做过初步过滤了哈,具体的大家可以看一下第一期的教学。)