dds提取工具 轉錄組分析工具之 DESeq2

2021-10-14 00:11:53 字數 4190 閱讀 2559

1

轉錄組分析介紹

轉錄組分析是目前應用最廣的高通量測序分析技術之一。常見設計是不同樣品之間比較,尋找差異基因、標誌基因、差異剪接和新轉錄本,並進行結果視覺化、功能注釋和網路分析等。轉錄組分析流程通常包括資料質控、過濾、序列比對、轉錄本拼接(可選)、表達定量(相關性分析)、差異基因表達分析、kegg分析、go分析、lncrna分析、snp和indels位點分析等等。

轉錄組分析流程

2 deseq2工具介紹

deseq2是轉錄組分析中用於進行差異基因表達分析的工具。基本原理是基於負二項分布模型,適用於有生物學重複的不同條件的樣本之間尋找差異基因。尋找差異基因是轉錄組分析中非常重要的一環。因此,掌握deseq2的使用也是非常重要的。

deseq2的安裝:

首先確認安裝了deseq2的前置r包:

s4vectors

stats4

biocgenerics

parallel

iranges

genomicranges

genomeinfodb

summarizedexperiment

biobase

delayedarray

matrixstats

然後我們進入r語言(3.6版本以上),執行如下命令:

if (!requirenamespace("biocmanager", quietly = true))

install.packages("biocmanager")

biocmanager::install("deseq2")

3 deseq2的使用

使用deseq2前,我們需要準備兩個檔案:coldata.csv和countmatrix4deseq.csv。其中coldata.csv是樣本條件資訊,第一列是樣本id,第二列是控制條件;countmatrix4deseq.csv是個樣本基因表達計數,列名是樣本id,行名是基因id。coldata.csv和countmatrix4deseq.csv示例分別如下:

有了這兩個檔案,我們就可以進行基因差異表達分析啦!首先,我們載入需要的r包:

suppressmessages(library(deseq2))

suppressmessages(library(dplyr))

suppressmessages(library(pheatmap))

suppressmessages(library(rcolorbrewer))

suppressmessages(library(genefilter))

讀取這兩個檔案,並字元化條件和因子化基因計數:

countdata = read.table(count_table, header=true, sep=",",row.names=1, check.names=false, quote="")

coldata = read.csv(coldata_file, header=t, row.names=null,check.names=false)

index = duplicated(coldata[,1])

coldata = coldata[!index,]

rownames(coldata)

countdata

coldata$condition = as.factor(coldata$condition)

不要忘了檢查兩個檔案中的樣品id是否一致喲:

if (all(coldata[,1] %in% colnames(countdata)) == f) {

print("rownames(coldata) != colnames(countdata)")

print ("pleasecheck.")

stop(call.=false)

接著,我們就可以構建deseq2資料集了:(前排提示,~在r裡面用於構建公式物件,~左邊為因變數,右邊為自變數)

dds = deseqdatasetfrommatrix(countdata=countdata, coldata=coldata,design = ~condition)

在正式分析前,我們需要對資料預篩,把零表達或者低表達的基因刪除。不要小看了這一步預篩哦,樣本中往往存在大量的低表達的基因,這些基因不僅占用記憶體,而且對結果會有影響!

dds = dds[ rowsums(counts(dds)) > 1 ,]

或者:dds = dds[ rowsums(counts(dds)) >=ncol(counts(dds)), ]

在r中,乙個因子的第一級為參考水平(如對照,或未經處理的樣本),因此我們可以將condition因子關聯如下(basegroup左邊為實驗組,右邊為對照組):

basegroup =ss_vs_dmso

dds$condition

然後我們只需一步就可以進行差異分析啦:

dds

最後,我們可以提取分析的結果,按p值排個序存入檔案results.csv吧~

res

resordered

resordereddf

write.csv(resordereddf, file = "results.csv")

康康膩面有些什麼~

我們可以看到,第一列是基因的id,第二列是基因平均計數水平,第三列是log2倍變化,第四列是標準誤差,第五列是wald統計值,第六列是wald檢驗的p值,第7列是bh修正p值。

好了,結果就是這樣~不過我還可以試試把這些基因視覺化一下,做個熱圖怎麼樣?(選取前50個基因哦,有pdf格式也有png格式)

rld

topvargenes

mat 

mat 

anno = data.frame(condition = coldata$condition)

anno$condition = as.factor(anno$condition)

rownames(anno) = rownames(coldata)

colors = c(brewer.pal(name="set1", n = 8),brewer.pal(name="paired", n = 12))

colors

names(colors)

colors

pdf(file=paste(path1,"heatmap_top50.pdf",sep="/"),height=10,width=12,onefile=false)

pheatmap(mat,annotation_col = anno,cluster_cols =false,annotation_colors = colors,fontsize_row = 8)

dev.off()

png(file=paste(path1,"heatmap_top50.png",sep="/"),height=10,width=12,units='in',res=300)

pheatmap(mat,annotation_col = anno,cluster_cols =false,annotation_colors = colors,fontsize_row = 8)

dev.off()

康康效果吧~

nice~本期介紹就到這裡啦,最後打個小廣告~

歡迎需要測序分析的老師來找我們喲~

武漢博越致和生物科技****

您身邊的多組學科研助手!

ARCGIS 疊加 提取分析工具

分析工具 空間變化 屬性變化 union合併 打斷後保留所有面 與合併要素相交的部分,在原屬性上增加合併要素屬性 intersect相交 打斷後保留公共部分 新增相交要素的屬性 symmetrical difference均勻插值 打斷後保留非公共部分 原屬性 新增字段 identity標記 打斷後...

文字提取 分析和修改工具

一 提取文字工具 1.檔案內容 less和cat less通過n n進行查詢到搜尋的內容 2.文字摘要 head和tail head使用 n顯示頭部行數 tail也可以使用 n顯示尾部行數,具體用法如下 cat test.txt tail n3或者 cat test.txt heal n4 可以用來...

scrapy爬蟲之xpath資料提取工具的使用

xpath是xml路徑語言,它是一種來確定xml文件某部分位置的語言 html屬於xml html的一般格式 表題資訊 head 我們網頁中看到的內容 body html 表示式 描述 標籤 選中根,或根下的第一層標籤 標籤 全域性匹配的標籤 點前節點 當前節點的父節點 選擇所有標籤 text 選中...