為 DESeq2 整理資料

使用 R 與 Bioconductor 進行 RNA-Seq

Mary Piper

Bioinformatics Consultant and Trainer

匯入 DESeq2 資料:樣本順序

中介資料(metadata) 中介資料(未排序)

原始計數(raw counts)原始計數(已排序)

使用 R 與 Bioconductor 進行 RNA-Seq

匯入 DESeq2 資料:樣本順序

rownames(wt_metadata)
 [1] "wt_normal3"  "smoc2_fibrosis2" "wt_fibrosis3"  "smoc2_fibrosis3" "smoc2_normal3"   "wt_normal1"     
 [7] "smoc2_normal4"  "wt_fibrosis2"  "wt_normal2"  "smoc2_normal1"  "smoc2_fibrosis1" "smoc2_fibrosis4"
[13] "wt_fibrosis4"  "wt_fibrosis1" 
colnames(wt_rawcounts)
 [1] "wt_normal1"  "wt_normal2"  "wt_normal3"  "wt_fibrosis1"   "wt_fibrosis2"    "wt_fibrosis3"   
 [7] "wt_fibrosis4"  "smoc2_normal1"  "smoc2_normal3"  "smoc2_normal4"   "smoc2_fibrosis1" "smoc2_fibrosis2"
[13] "smoc2_fibrosis3" "smoc2_fibrosis4"
使用 R 與 Bioconductor 進行 RNA-Seq

匯入 DESeq2 資料:樣本順序

all(rownames(wt_metadata) == colnames(wt_rawcounts))
FALSE 
使用 R 與 Bioconductor 進行 RNA-Seq

對齊向量間的順序

使用 match() 函式:

match(vector1, vector2)

vector1: 目標順序的值向量

vector2: 需要重新排序的值向量

輸出: 讓 vector2 與 vector1 相同順序所需的索引

match(colnames(wt_rawcounts), rownames(wt_metadata)
6   9   1   14  8   3   13  10  5   7   11  2   4   12
使用 R 與 Bioconductor 進行 RNA-Seq

match() 的輸出重新排序:

idx <- match(colnames(wt_rawcounts), rownames(wt_metadata))

reordered_wt_metadata <- wt_metadata[idx, ]
View(reordered_wt_metadata)

重新排序後的中介資料

使用 R 與 Bioconductor 進行 RNA-Seq
all(rownames(reordered_wt_metadata) == colnames(wt_rawcounts))
TRUE

重新排序後的中介資料

 

已排序的計數表

使用 R 與 Bioconductor 進行 RNA-Seq

建立 DESeq2 物件

# Create DESeq object
dds_wt <- DESeqDataSetFromMatrix(countData = wt_rawcounts,
                              colData = reordered_wt_metadata,
                              design = ~ condition)

DESeq 物件

使用 R 與 Bioconductor 進行 RNA-Seq

一起來練習吧!

使用 R 與 Bioconductor 進行 RNA-Seq

Preparing Video For Download...