使用 R 與 Bioconductor 進行 RNA-Seq
Mary Piper
Bioinformatics Consultant and Trainer
中介資料(metadata)

原始計數(raw counts)
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"
all(rownames(wt_metadata) == colnames(wt_rawcounts))
FALSE
使用 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
用 match() 的輸出重新排序:
idx <- match(colnames(wt_rawcounts), rownames(wt_metadata))reordered_wt_metadata <- wt_metadata[idx, ]View(reordered_wt_metadata)

all(rownames(reordered_wt_metadata) == colnames(wt_rawcounts))
TRUE


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

使用 R 與 Bioconductor 進行 RNA-Seq