生信步驟|轉(zhuǎn)錄組測序上游分析:hisat2+samtools+stringtie

轉(zhuǎn)錄組分析在當下研究功能基因組領(lǐng)域十分常用棚品。相關(guān)軟件組合種類也十分豐富,本文采用了hisat2+samtools+stringtie策略從轉(zhuǎn)錄組數(shù)據(jù)中挖掘差異表達基因。在這里小編整理了一下此套組合的執(zhí)行流程,以供日后查閱;同時分享在平臺搅轿,希望能幫助到更多初學(xué)者,如有謬誤也請各路大佬批評指正富玷。博文中涉及的參考基因組示例數(shù)據(jù)已經(jīng)上傳至我的github璧坟,可通過如下鏈接訪問下載:https://github.com/Hangyuan-Cheng/hisat2-samtools-stringtie-for-RNA-seq

先從整體上看一下軟件們所執(zhí)行的功能:
hisat2:建立參考基因組索引,reads的比對
samtools:sam2bam的轉(zhuǎn)化
stringtie:估算轉(zhuǎn)錄本表達量

所用的數(shù)據(jù)結(jié)構(gòu)如下赎懦,此處用了酵母的轉(zhuǎn)錄組數(shù)據(jù)和參考基因組:
雙端測序數(shù)據(jù)已經(jīng)經(jīng)過fastqc過濾雀鹃,具體過濾流程本文沒有涉及。示例數(shù)據(jù)僅供參考励两。執(zhí)行時要關(guān)注文件格式轉(zhuǎn)化黎茎,以及各種格式下包含的生物信息。

@biocloud:~/1223/NGS2022$ tree
.
├── gene_data.csv//差異表達基因樣例当悔,相當于最終輸出的標準答案傅瞻。
├── genome
│   ├── yeast.fa//參考基因組文件
│   ├── yeast.gff//參考基因組注釋文件
│   └── yeast_transcriptome.fa // Kallisto 所需的轉(zhuǎn)錄組索引文件,實現(xiàn)基于 pseudo alignment 的轉(zhuǎn)錄本定量時才會用到盲憎,本文不涉及該文件嗅骄。
├── reads//雙端測序clean data,即已經(jīng)經(jīng)歷過reads過濾饼疙。通常下機的時候公司都會同時給出rawdata和cleandata溺森,直接用后者就好。
│   ├── s1_y_1.fq.gz
│   ├── s1_y_2.fq.gz
│   ├── s2_y_1.fq.gz
│   └── s2_y_2.fq.gz
├── script //腳本文件,需要時加入絕對路徑引用該腳本即可屏积。
│   ├── edgeR.R
│   ├── prepDE.py
│   ├── prepDE.py3
│   └── run.sh
└── src//可能用到的軟件安裝包医窿,服務(wù)器如果安裝過該軟件則無需再次安裝。
    ├── fastqc_v0.11.9.zip
    ├── hisat2-2.2.1-Linux_x86_64.zip
    ├── hisat2-2.2.1-OSX_x86_64.zip
    ├── kallisto_linux-v0.46.1.tar.gz
    ├── kallisto_mac-v0.46.1.tar.gz
    ├── samtools-1.14.tar.bz2
    ├── stringtie-2.2.0.Linux_x86_64.tar.gz
    └── stringtie-2.2.0.OSX_x86_64.tar.gz

1.hisat2構(gòu)建參考基因組索引

//進入存儲有參考基因組yeast.fa的目錄genome 
$ cd ./genome 
//將參考基因組yeast.fa建立索引并重命名為genome.fa炊林。注意hisat2與-build之間不要加空格姥卢。
$ hisat2-build yeast.fa genome.fa 

2.hisat2將同一個處理下的雙端測序reads比對到參考基因組

//重新新建文件夾alignment并在其中執(zhí)行比對操作
$ cd ..
$ mkdir alignment
$ cd alignment

//hisat2將同一個處理下的測序得到的雙端測序reads比對到建立好索引的參考基因組。
//hisat2 參數(shù)-1和-2后面跟著雙端測序數(shù)據(jù)(.gz格式)路徑铛铁。比對后的結(jié)果保存為s1.sam隔显。
$ hisat2 -p 6 -x ../genome/genome.fa -1 ../reads/s1_y_1.fq.gz -2 ../reads/s1_y_2.fq.gz -S ./s1.sam

3.samtools將sam文件進行二進制轉(zhuǎn)化却妨,排序以及添加索引饵逐。

//samtools view將剛剛得到的s1.sam轉(zhuǎn)化為s1.bam
$ samtools view -bS s1.sam -o s1.bam //bam是sam的二進制文件,二進制轉(zhuǎn)化后占用存儲空間更小彪标。

//samtools sort將s1.bam排序倍权,產(chǎn)生s1.sorted.bam。后者會自動加上.bam后綴捞烟,無需命令行里添加薄声。
$ samtools sort s1.bam s1.sorted 

//samtools index將排序后的bam文件添加索引
$ samtools index s1.sorted.bam 

4.stringtie根據(jù)gtf注釋和排序后bam比對結(jié)果估算轉(zhuǎn)錄本表達量

//輸入剛剛排序好的s1.sorted.bam文件,酵母基因組注釋文件yeast.gff题画。
//運行stringtie得到gtf文件(s1_out.gtf)和基因表達列表(s1_genes.list)默辨。
$ stringtie ./s1.sorted.bam -G ../genome/yeast.gff -e -p 2 -o ./s1_out.gtf -A ./s1_genes.list 

用同樣的方法得到另一處理下雙端測序的比對結(jié)果:s2_out.gtf 和 s2_genes.list。步驟與上述完全一致苍息,此處不再逐一重復(fù)缩幸。每個處理下的一對雙端測序結(jié)果會產(chǎn)生一個s1_out.gtf文件。按照上述步驟處理完另一對雙端測序后應(yīng)該得到兩個gtf文件:s1_out.gtf 和 s2_out.gtf竞思。

5.匯總兩個處理下的轉(zhuǎn)錄組表達量

#在新建的文件夾執(zhí)行匯總表達量操作
$ cd ..
$ mkdir differential_expression
$ cd differential_expression

#手動新建并編輯一個sample_list.txt文件表谊,用以存放處理的名稱和上述得到的gtf文件路徑。
$ vim sample_list.txt 

sample_list.txt文件格式如下所示:兩個處理的名稱(s1盖喷,s2)+對應(yīng)gtf文件的地址爆办。注意第二行末尾不要有換行符號(\n)!?问帷距辆!處理名稱(s1,s2)和gtf文件地址之間應(yīng)該有一個空格暮刃。

s1 /mnt/1223/NGS2021/differential_expression/s1_out.gtf
s2 /mnt/1223/NGS2021/differential_expression/s2_out.gtf

6.使用stringtie的prepDE.py3腳本生成差異表達基因列表挑格。

prepDE.py3腳本可以在github中下載(https://github.com/gpertea/stringtie

// 注意stringtie差異基因匯總腳本有prepDE.py和prepDE.py3兩個版本
// 前者適用于python2環(huán)境,后者python3環(huán)境沾歪。使用混了會報錯漂彤。本文基于python3.9.5環(huán)境。
$ python prepDE.py3 -i sample_list.txt -g gene_count.csv -t transcript.csv

執(zhí)行完上述步驟后得到的gene_count.csv即為差異表達基因列表,可以導(dǎo)入到R語言用edgeR / DESeq2包進行差異表達基因分析挫望,有機會再整理后繼教程立润。


sam文件基礎(chǔ)

sam文件在序列分析中至關(guān)重要,無論是轉(zhuǎn)錄組分析還是基因組call SNP媳板。認識sam文件所包含的信息有助于理解數(shù)據(jù)桑腮。我們依然以本文中生成sam文件的命令行舉例。轉(zhuǎn)錄組分析核心比對步驟是使用hisat2將測序得到的reads比對到建立好索引的參考基因組:

$ hisat2 -p 6 -x ../genome/genome.fa -1 ../reads/s1_y_1.fq.gz -2 ../reads/s1_y_2.fq.gz -S ./s1.sam
  • -x 參考基因組 .fa文件
  • -1 雙端測序第1段 .fq.gz格式
  • -2 雙端測序第2段 .fq.gz格式
  • -S 輸出文件地址+名字蛉幸,輸出結(jié)果為SAM格式
    雙端測序一般為read1.fq / read1.fq.gz / read1.fq.bz2格式破讨,前后兩端同時出現(xiàn),并同時作為hisat2輸入奕纫。將測序得到的fastq文件經(jīng)過hisat2比對到參考基因組得到SAM文件提陶。SAM文件就是序列比對文件,有上下兩個部分匹层,分別包括頭部注釋部分和比對結(jié)果部分
頭部注釋部分
//頭部注釋部分以@開頭:
@HD     VN:1.0  SO:unsorted //HD行:VN的版本以及比對排序類型隙笆。此處顯示SO:unsorted表示沒有排列順序。
@SQ     SN:NC_001133.9  LN:230218//SQ行:參考序列目錄升筏。SN:參考序列名字撑柔。LN:參考序列長度
@SQ     SN:NC_001148.4  LN:948066
@SQ     SN:NC_001224.1  LN:85779
@SQ     SN:NC_001140.6  LN:562643
@SQ     SN:NC_001141.2  LN:439888
@SQ     SN:NC_001142.9  LN:745751
@SQ     SN:NC_001143.9  LN:666816
@PG     ID:hisat2       PN:hisat2       VN:2.0.5        CL:"/mnt/bai/public/bin/hisat2-2.0.5/hisat2-align-s --wrapper basic-0 -p 8 -x ../genome/genome.fa --dta -S ./s1.sam -1 /tmp/1909596.inpipe1 -2 /tmp/1909596.inpipe2"
//PG行:使用的比對程序名,此處為hisat2
比對結(jié)果部分

比對結(jié)果部分每行表示一個read和參考基因組的比對結(jié)果信息您访。前11列為主列铅忿,包含了大部分重要信息。

SRR5511068.3    99      NC_001147.6     1002516 60      75M     =       1002624 184     GTACTTAACATTCTTCTAATCATGTTAAAAGGTAAAACCTGGCCCATTTTACGATCGATCTGTAAAATCTTATAC     AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEAEEEEEEEEEEEAEEEEEEEAEEEEEEEEEEA     AS:i:0  XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:75 YS:i:0  YT:Z:CP NH:i:1
SRR5511068.3    147     NC_001147.6     1002624 60      76M     =       1002516 -184    GATAAGTAAGCAATGGTGGTAATTGCAATATTTTGCATATGTGCACGAGAAGAACTATTTTGAAGTAAGATCACTG    /EEEE<EAEEEEEE6E/EEEEEEEAEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEAAAAA    AS:i:0  XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:76 YS:i:0  YT:Z:CP NH:i:1
SRR5511068.9    83      NC_001146.8     299462  60      75M1S   =       299435  -103    ATTGGAAAAGAAAGTCGCGGCAAAGAGAAATGCCAATAAGACCGGGAATCAAAATTCTAAAAAGAAGAGTCAGAAG    <EAAA6<A<E/EEA/A</AE/EEEAA<EEAE6AEEAAEEAEEEAAAEE/EEEEEEEEEEEE//EEEEEE/EAAAAA    AS:i:-1 XN:i:0  XM:i:0  XO:i:0  XG:i:0  NM:i:0  MD:Z:75 YS:i:0  YT:Z:CP NH:i:1

主體部分以tab分隔從左到右依次為:

  • QNAME:Query Name灵汪,測序reads名稱檀训。如果是雙端測序則會出現(xiàn)二次,兩端各比對上一次识虚。
  • FLAG:數(shù)值為2的次方數(shù)或者其加和肢扯,每個2的次方代表一種情況。詳情可以參考CSDN大佬的博客:https://blog.csdn.net/genome_denovo/article/details/78712972
    或者簡書大佬:
    http://www.reibang.com/p/ab133ee9712c
  • RENAME:Reference Name担锤,雙端測序R1比對上的參考序列名蔚晨,沒比上就是*。
  • POS:position肛循,雙端測序R1起始比對上的位置序號铭腕。
  • MAPQ:Mapping Quality,質(zhì)量分數(shù)多糠,越高代表越準確累舷。
  • CIGAR:比對結(jié)果,M代表完全匹配夹孔。
  • RNEXT:雙端測序R2端比對情況被盈,比對不上用*號析孽,比對到同一段用=號。
  • MPOS:雙端測序R2端比對位置只怎。
  • ISIZE:文庫插入長度袜瞬,R2端位置-R1端位置+CIGAR處的值。
  • SEQ:序列信息身堡。
  • QUAL:reads質(zhì)量邓尤,用ASCII碼表示。
最后總結(jié)一下:

轉(zhuǎn)錄組數(shù)據(jù)分析步驟不僅僅是比對產(chǎn)生差異表達基因贴谎,后繼還會涉及差異表達基因的顯著性分析汞扎,相關(guān)性分析,GO和KEGG分析等等擅这。本文只是總結(jié)了轉(zhuǎn)錄組分析的上游步驟澈魄。而就上游步驟而言,可用的比對軟件種類也非常多蕾哟,本文只是借助hisat2+samtools+stringtie的經(jīng)典步驟來學(xué)習(xí)轉(zhuǎn)錄組上游分析一忱。其他比對軟件日后如有涉及再行整理莲蜘。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谭确,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子票渠,更是在濱河造成了極大的恐慌逐哈,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件问顷,死亡現(xiàn)場離奇詭異昂秃,居然都是意外死亡,警方通過查閱死者的電腦和手機杜窄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門肠骆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人塞耕,你說我怎么就攤上這事蚀腿。” “怎么了扫外?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵莉钙,是天一觀的道長。 經(jīng)常有香客問我筛谚,道長磁玉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任驾讲,我火速辦了婚禮蚊伞,結(jié)果婚禮上席赂,老公的妹妹穿的比我還像新娘。我一直安慰自己时迫,他們只是感情好氧枣,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著别垮,像睡著了一般便监。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碳想,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天烧董,我揣著相機與錄音,去河邊找鬼胧奔。 笑死逊移,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的龙填。 我是一名探鬼主播胳泉,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼岩遗!你這毒婦竟也來了扇商?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤宿礁,失蹤者是張志新(化名)和其女友劉穎案铺,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體梆靖,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡控汉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了返吻。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姑子。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖测僵,靈堂內(nèi)的尸體忽然破棺而出街佑,到底是詐尸還是另有隱情,我是刑警寧澤恨课,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布舆乔,位于F島的核電站,受9級特大地震影響剂公,放射性物質(zhì)發(fā)生泄漏希俩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一纲辽、第九天 我趴在偏房一處隱蔽的房頂上張望颜武。 院中可真熱鬧璃搜,春花似錦、人聲如沸鳞上。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽篙议。三九已至唾糯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鬼贱,已是汗流浹背移怯。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留这难,地道東北人舟误。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像姻乓,于是被迫代替她去往敵國和親嵌溢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

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