본문 바로가기

논문 및 데이터 분석

[Seurat][DESeq2] DEGs 분석

# Deseq2 :
# Convert the Seurat object to a DESeq2 dataset
# 필요한 패키지 로드
if (!requireNamespace("DESeq2", quietly = TRUE)) {
  install.packages("DESeq2")
}
library(DESeq2)

# Seurat 객체에서 count 데이터 추출 (유전자 x 세포)
# 데이터를 정수형으로 변환
counts_data <- round(as.matrix(GetAssayData(seurat_object, layer = "counts")))

# 세포(stage) 정보 가져오기
meta_data <- data.frame(stage = factor(seurat_object$stage))

# DESeq2 객체 생성
dds <- DESeqDataSetFromMatrix(countData = counts_data, colData = meta_data, design = ~ stage)

# DESeq2 차등 발현 분석 실행
dds <- DESeq(dds)

# D26과 D54 간의 차등 발현 유전자 추출
degs_deseq2 <- results(dds, contrast = c("stage", "D26", "D54"))

# FDR < 0.05 및 절대 log2 폴드 변화 > 1.5로 필터링
# NA 값을 제거하고 FDR < 0.05 및 절대 log2 폴드 변화 > 1.5로 필터링
degs_deseq2_filtered <- degs_deseq2[!is.na(degs_deseq2$padj) & degs_deseq2$padj < 0.05 & 
                                      !is.na(degs_deseq2$log2FoldChange) & abs(degs_deseq2$log2FoldChange) > 1.5, ]

# 필터링된 DEG 확인
head(degs_deseq2_filtered)

# 필터링된 DEG 개수 확인
nrow(degs_deseq2_filtered)

'논문 및 데이터 분석' 카테고리의 다른 글

SRA Toolkit 사용해서 데이터 받기  (3) 2024.11.06
[MAST, limma, DESeq2] 공통 DEGs 분석  (0) 2024.09.19
[Seurat] [limma] DEG 분석  (0) 2024.09.19
[Seurat] [MAST] DEGs 분석  (0) 2024.09.19
[Seurat] Single cell 분석  (0) 2024.09.19