RNA-seq入門實戰(zhàn)(二):上游數(shù)據(jù)的比對計數(shù)——Hisat2+ featureCounts 與 Salmon

本節(jié)概覽:

  1. hisat2 + featureCounts:
    獲取hisat2索引文件孽文,hisat2比對和samtools格式轉(zhuǎn)化,featureCounts計數(shù)得到counts表達矩陣
  2. Salmon:
    salmon index 用cdna.fa建立索引茵瀑,salmon quant對clean fastq文件直接進行基因定量
  3. 獲取ensembl_id或transcript_id轉(zhuǎn)化的對應文件

承接上節(jié)RNA-seq入門實戰(zhàn)(一)
本節(jié)介紹使用hisat2salmon這兩種方法進行轉(zhuǎn)錄組上游數(shù)據(jù)的比對和計數(shù)。
39個轉(zhuǎn)錄組分析工具,120種組合評估
(https://www.nature.com/articles/s41467-017-00050-4)
表明基于hisat2salmon進行轉(zhuǎn)錄本定量都比較優(yōu)秀鸵荠。

[Gaining comprehensive biological insight into the transcriptome by performing a broad-spectrum RNA-seq analysis | Nature Communications]


一簸呈、hisat2 + featureCounts

1. 獲取hisat2比對索引文件

index官網(wǎng)下載地址Download | HISAT2 (daehwankimlab.github.io)榕订,下載并解壓所需的 mm10 或 grcm38 的index文件

mkdir -p ~/reference/index/hisat/
cd ~/reference/index/hisat/
wget https://genome-idx.s3.amazonaws.com/hisat/mm10_genome.tar.gz
tar -zxvf *tar.gz 
rm *tar.gz 

2. hisat2比對和samtools轉(zhuǎn)化格式

先用hisat2比對基因組得到sam文件,再用samtools sort將sam文件格式轉(zhuǎn)化與排序為bam文件(bam相當于二進制版的sam)蜕便,之后samtools index建立索引(用于后續(xù)IGV內(nèi)可視化)劫恒,最后samtools flag 統(tǒng)計文件比對情況保存在文本中。其中samtools index與samtools flag為非必須步驟轿腺,可略過两嘴。sam相當于是中間文件比較占存儲空間,可在轉(zhuǎn)化為bam后便刪除族壳。




代碼如下:

vim  3_align2sam2bam_hisat2.sh
############################
echo -e  " \n \n \n 333#  Align !!! hisat2 !!!\n \n \n "
date
########set#### ###set#### ###set####   
index='/home/reference/index/hisat/mm10/genome'

mkdir  -p   ~/test/align/flag
cd ~/test/align/
pwd
cat ~/test/idname | while read id
do
         echo "333#  ${id} ${id} ${id}  is on the hisat2 Working !!!"
################ paired ###############################         
            hisat2 -t -p 12 -x  $index \
       -1 ~/test/clean/${id}_*1*gz  \
       -2  ~/test/clean/${id}_*2*gz  -S  ${id}.sam
######################################################
################Single################################
#              hisat2 -t -p 12 -x  $index  \
#                     -U ~/test/clean/${id}_trimmed.fq.gz \
#                     -S  ./${id}.sam  
########################################################           

### sam2bam and remove sam ###
    echo -e  " ${id} sam2bam and remove sam   "
    samtools sort -@ 12 -o  ~/test/align/${id}_sorted.bam  ${id}.sam
    rm ${id}.sam
done

#### samtools index and flagstat ####
echo -e  " \n \n \n samtools index and flagstat \n  " 
cd   ~/test/align/flag
pwd
#ls ~/test/align/*.bam | xargs  -i  samtools index  -@  12  {}    
ls ~/test/align/*.bam  | while read id ;\
do
        samtools flagstat -@ 12 $id > $(basename $id '.bam').flagstat
done
multiqc ./

echo -e " \n \n \n  333# ALL  Work Done !!!\n \n \n "
date
nohup bash 3_align2sam2bam_hisat2.sh >log_3 2>&1 &

比對結(jié)果如下:


3. featureCounts 計數(shù)得到counts表達矩陣

計數(shù)首先要獲取gtf注釋文件溶诞,注意要和hisat2的index文件的基因組版本相對應,如本次為mm10决侈,則gtf文件也必須為mm10或grcm38螺垢。
研究人和鼠推薦用gencode數(shù)據(jù)庫的文件GENCODE 喧务,比較常用的還有UCSC的refGene.gtf文件,下載地址在https://hgdownload.soe.ucsc.edu/ (若想下載其他gtf文件則將網(wǎng)址中mm10替換即可枉圃,如hg38)功茴。
featureCounts詳細使用方法見轉(zhuǎn)錄組定量可以用替換featureCounts代替HTSeq-count (qq.com),常用參數(shù)如下:


代碼如下:

vim 4_counts_featurecounts.sh
###########################################
echo -e "\n \n \n444# Count #featureCounts !!! \n \n \n"
date
#####set####set###set
gtf='/home/reference/gtf/gencode/gencode.vM25.chr_patch_hapl_scaff.annotation.gtf'
#gtf='/home/reference/gtf/UCSC/mm10.refGene.gtf.gz'

mkdir  -p  ~/test/counts
cd  ~/test/counts/
pwd
######## single##########################################################################
#featureCounts -T 12 -a $gtf  -o counts.txt  ~/test/align/*.bam        
#######paired###########################################################################
featureCounts -T  12  -p  -a  $gtf  -o  counts.txt  ~/test/align/*.bam
#######################################################################################            
###生成網(wǎng)頁版統(tǒng)計情況
multiqc ./

echo -e " \n \n \n ALL WORK DONE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  \n "
date

nohup bash 4_counts_featurecounts.sh >log_4 2>&1 &

查看計數(shù)的統(tǒng)計情況孽亲,匹配率在71-80%左右坎穿,還可以



運行結(jié)果保存在counts文件夾下,里面的counts.txt就是我們下游分析所需要的文件啦


二返劲、Salmon——直接對基因進行定量的工具

與hisat2不同玲昧,salmon不經(jīng)過比對計數(shù)步驟而是直接對基因進行定量,如果不研究新轉(zhuǎn)錄本篮绿,用salmon方法可以更快更方便得到基因定量信息孵延。


1. 建立salmon索引

先下載參考轉(zhuǎn)錄本序列cDNA.fa文件,在ensembl官網(wǎng)選擇相應文件 Index of /pub/release-102/fasta/mus_musculus/cdna/ (ensembl.org)亲配,使用salmon index 建立索引文件尘应,salmon index常用參數(shù):

mkdir ~/reference/index/salmon/grcm38
cd ~/reference/index/salmon/grcm38
salmon index -p 12 -t  ~/reference/ensembl/grcm38.cdna.fa.gz  -i  ./

2. salmon定量基因

使用salmon quant命令對clean fastq文件直接進行基因定量,主要參數(shù)如下:


vim 3333_salmon.sh
###################################################
echo -e  '\n \n \n ### salmon quant is Working !!! \n \n'
###set##set###set#############
index="/home/reference/index/salmon/grcm38/"

mkdir ~/test/salmon
cd ~/test/salmon
pwd
cat ~/test/idname | while read id 
do
            echo " '\n  !!!!!! Processing sample $id !!!!! '\n" 
########single#############################################
# salmon quant -i $index -l A \
#             -r ~/test/clean/$(basename $id)_trimmed.fq.gz \
#             -p 12  -o  $(basename $id)_quant
#######paired#############################################
salmon quant -i $index -l A \
 -1 ~/test/clean/${id}_*1*gz \
 -2 ~/test/clean/${id}_*2*gz  \
 -p 12  --output ${id}_quant
###############################################################     
done

multiqc ./

echo -e " \n \n \n !!!!ALL WORK DONE !!!!!!!!!!!!!!!!!!!!! \n"
date
nohup bash 3333_salmon.sh  >log_333salmon  2>&1 &

運行結(jié)果存放在salmon文件夾下吼虎,里面的quant.sf即為下游分析所需要的文件


三犬钢、獲取基因ID轉(zhuǎn)化的對應文件

由于本次使用的為gencode或ensembl的gtf與cdna文件,因此最后得到的為ensembl_id (gene_id)和 transcript_id思灰,形式為:ENSMUSG00000000001.1 玷犹,而我們下游常用gene symbol進行展示,因此還需要從gtf注釋文件中獲取ensembl_id 洒疚、transcript_id與gene symbol的對應關(guān)系文件箱舞。
方法如下:

vim gtf_geneid2symbol_gencode.sh
#提取gtf注釋文件中g(shù)ene_id等與gene_name的對應關(guān)系,便于下游id轉(zhuǎn)換
gtf="gencode.vM25.chr_patch_hapl_scaff.annotation.gtf"

### gene_id to gene_name
grep 'gene_id' $gtf | awk -F 'gene_id \"' '{print $2}' |awk -F '\"' '{print $1}' >gene_id_tmp
grep 'gene_id' $gtf | awk -F 'gene_name \"' '{print $2}' |awk -F '\"' '{print $1}' >gene_name_tmp
paste gene_id_tmp gene_name_tmp >last_tmp
uniq last_tmp >g2s_vm25_gencode.txt
rm *_tmp

### transcript_id to gene_name
grep 'transcript_id' $gtf | awk -F 'transcript_id \"' '{print $2}' |awk -F '\"' '{print $1}' >gene_id_tmp
grep 'transcript_id' $gtf | awk -F 'gene_name \"' '{print $2}' |awk -F '\"' '{print $1}' >gene_name_tmp
paste gene_id_tmp gene_name_tmp >last_tmp
uniq last_tmp >t2s_vm25_gencode.txt
rm *_tmp
bash gtf_geneid2symbol_gencode.sh

所得文件如下所示



上游流程到此就結(jié)束了,將最后得到的counts文件夾與g2s_vm25_gencode.txt 或 salmon文件夾與t2s_vm25_gencode.txt下載到本地就可以愉快地進行下游分析了

參考資料
39個轉(zhuǎn)錄組分析工具拳亿,120種組合評估
(https://www.nature.com/articles/s41467-017-00050-4)
轉(zhuǎn)錄組定量可以用替換featureCounts代替HTSeq-count (qq.com)
本實戰(zhàn)教程基于以下生信技能樹分享的視頻:
【生信技能樹】轉(zhuǎn)錄組測序數(shù)據(jù)分析_嗶哩嗶哩_bilibili
【生信技能樹】GEO數(shù)據(jù)庫挖掘_嗶哩嗶哩_bilibili


RNA-seq實戰(zhàn)系列文章:
RNA-seq入門實戰(zhàn)(零):RNA-seq流程前的準備——Linux與R的環(huán)境創(chuàng)建
RNA-seq入門實戰(zhàn)(一):上游數(shù)據(jù)下載、格式轉(zhuǎn)化和質(zhì)控清洗
RNA-seq入門實戰(zhàn)(二):上游數(shù)據(jù)的比對計數(shù)——Hisat2+ featureCounts 與 Salmon
RNA-seq入門實戰(zhàn)(三):從featureCounts與Salmon輸出文件獲取counts矩陣
RNA-seq入門實戰(zhàn)(四):差異分析前的準備——數(shù)據(jù)檢查
RNA-seq入門實戰(zhàn)(五):差異分析——DESeq2 edgeR limma的使用與比較
RNA-seq入門實戰(zhàn)(六):GO愿伴、KEGG富集分析與enrichplot超全可視化攻略
RNA-seq入門實戰(zhàn)(七):GSEA——基因集富集分析
RNA-seq入門實戰(zhàn)(八):GSVA——基因集變異分析
RNA-seq入門實戰(zhàn)(九):PPI蛋白互作網(wǎng)絡構(gòu)建(上)——STRING數(shù)據(jù)庫的使用
RNA-seq入門實戰(zhàn)(十):PPI蛋白互作網(wǎng)絡構(gòu)建(下)——Cytoscape軟件的使用
RNA-seq入門實戰(zhàn)(十一):WGCNA加權(quán)基因共表達網(wǎng)絡分析——關(guān)聯(lián)基因模塊與表型

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肺魁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子隔节,更是在濱河造成了極大的恐慌鹅经,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怎诫,死亡現(xiàn)場離奇詭異瘾晃,居然都是意外死亡,警方通過查閱死者的電腦和手機幻妓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門蹦误,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事强胰〔詹祝” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵偶洋,是天一觀的道長熟吏。 經(jīng)常有香客問我,道長玄窝,這世上最難降的妖魔是什么牵寺? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮恩脂,結(jié)果婚禮上帽氓,老公的妹妹穿的比我還像新娘。我一直安慰自己东亦,他們只是感情好杏节,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著典阵,像睡著了一般奋渔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上壮啊,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天嫉鲸,我揣著相機與錄音,去河邊找鬼歹啼。 笑死玄渗,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的狸眼。 我是一名探鬼主播藤树,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼拓萌!你這毒婦竟也來了岁钓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤微王,失蹤者是張志新(化名)和其女友劉穎屡限,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炕倘,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡钧大,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了罩旋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啊央。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡眶诈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出劣挫,到底是詐尸還是另有隱情册养,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布压固,位于F島的核電站球拦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏帐我。R本人自食惡果不足惜坎炼,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拦键。 院中可真熱鬧谣光,春花似錦、人聲如沸芬为。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽媚朦。三九已至氧敢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間询张,已是汗流浹背孙乖。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留份氧,地道東北人唯袄。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像蜗帜,于是被迫代替她去往敵國和親恋拷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容