# 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 |