1.軟件安裝
需要安裝兩款軟件:edgeR和DESeq2凶硅,安裝方法也有兩種,一種是conda安裝,一種是通過R包中的BiocManager安裝跌造。
1.1使用conda安裝兩款軟件
edgeR的安裝
conda create -n edgeR
#建立edgeR的工作環(huán)境
conda activate edgeR
#激活edgeR的工作環(huán)境
conda install bioconductor-edger=3.42.4
#安裝指定版本的edgeR
DESeq2的安裝
conda create -n DESeq2
#建立DESeq2的工作環(huán)境
conda activate DESeq2
#激活DESeq2的工作環(huán)境
conda install bioconductor-deseq2=1.40.2
#安裝指定版本的DESeq2
1.2使用R語言安裝兩款軟件
conda activate R
#激活R
install.packages('BiocManager')
library(BiocManager)
#安裝并加載BiocManager
BiocManager::install('DESeq2')
BiocManager::install('edgeR')
#安裝兩款軟件
2.分析流程
直接使用edgeR和DESeq2分析較為麻煩,trinity軟件包里提供了一個(gè)叫run_DE_analysis.pl 的腳本族购,里面封裝了兩款軟件的分析步驟
2.1安裝trinity
conda create -n trinity
#創(chuàng)建trinity的工作環(huán)境
conda activate trinity
#激活trinity工作環(huán)境
conda install -c bioconda trinity=1.5.1
#安裝指定版本的trinity
2.2run_DE_analysis.pl命令解讀
perl /path/to/run_DE_analysis.pl --matrix /path/to/genes.counts.matrix --method DESeq2 --samples_file /path/to/sample.txt --contrasts contrasts.txt
/path/to/run_DE_analysis.pl:pl腳本在服務(wù)器中的位置壳贪,如果是使用conda安裝則位于~/miniconda3/envs/trinity/bin目錄下
--matrix:后接未標(biāo)準(zhǔn)化的表達(dá)定量矩陣!一定要是未標(biāo)準(zhǔn)化的寝杖。路徑可以是相對(duì)也可以是絕對(duì)
--method:后接分析軟件违施,可以是DESeq2和edgeR
--samples_file:后接樣本信息表的絕對(duì)或相對(duì)位置
--contrasts:后接比對(duì)設(shè)計(jì)表,分為兩列瑟幕,即需要進(jìn)行比對(duì)分析的兩組磕蒲,如KID_S1 BLO_S1留潦。需要注意的是如果未指定該文件的位置,則須與run_DE_analysis.pl腳本處在同一個(gè)文件夾下辣往。
2.3運(yùn)行
寫一個(gè)shell腳本(run_DE.sh)兔院,將run_DE_analysis.pl的詳細(xì)命令寫入其中。
vi run_DE.sh conda activate R
nohup sh run_DE.sh
3.數(shù)據(jù)處理
3.1 結(jié)果解讀
trinity中的run_DE_analysis.pl腳本運(yùn)行結(jié)束后會(huì)產(chǎn)生四類文件站削,一類是以.matrix結(jié)尾的矩陣文件坊萝,一類是以.Rscript結(jié)尾的腳本文件,一類是以.pdf結(jié)尾的火山圖文件许起,最后一類是以.DE_matrix結(jié)尾的結(jié)果文件十偶,這個(gè)文件就是我們所需要的。若是使用DESeq2做的差異表達(dá)分析园细,則該文件中的第1惦积,7,11列是我們需要的珊肃。若是使用edgeR做的差異表達(dá)分析丧鸯,則該文件中的第4躁锡,7列是我們需要的。
3.2結(jié)果處理
sed '1d' genes.counts.matrix.CB_S1_vs_CB_S2.DESeq2.DE_results | awk 'sqrt($7*$7) > 1 && $11 < 0.05 {print $1"\t"$7"\t"$11}' | sort -k 2n | tail -30
sed '1d'表示刪除文件的第一行,sed '1,10d'表示刪除第1-10行京髓。
awk 'sqrt($7*$7) > 1 && $11 < 0.05 {print $1"\t"$7"\t"$11}'
因?yàn)閍wk無法識(shí)別常見的絕對(duì)值格式,所以采取平方再開平方的方式來獲得絕對(duì)值让蕾,并且打印第1铡俐,7,11行招刹。這里awk行使了兩種功能恬试,即條件規(guī)定與打印
sort -k 2n表示讓打印出來的第二列以遞增方式排列。
tail -30表示顯示尾部的30行
以上的命令都是通過管道符‘|’進(jìn)行傳遞