生信星球轉(zhuǎn)錄組培訓(xùn)第一期Day4--善良土豆

今天將會用到第二天建立的rnaseq環(huán)境及對應(yīng)文件路徑和Day3下載好的.sra數(shù)據(jù)
rnaseq分析路徑

完成現(xiàn)在.sra數(shù)據(jù)(在raw文件路徑中)

今天主要學(xué)習(xí)內(nèi)容是配置相關(guān)軟件環(huán)境,開始數(shù)據(jù)轉(zhuǎn)換队丝,質(zhì)量控制,了解參考基因組及注釋文件

數(shù)據(jù)轉(zhuǎn)換:其實(shí)這一步就是將下載好的.sra文件轉(zhuǎn)換成fq文件秧饮,因?yàn)檠芯空咝枰獙⑾聶C(jī)的fq文件壓縮成sra上傳到ncbi野芒,我們這一步的工作就是再將其還原呜师。主要用到的工具是fastq-dump娶桦,它和Day3天的perfetch同樣數(shù)據(jù)sratools工具包贾节,所以直接調(diào)用就可以汁汗。
數(shù)據(jù)質(zhì)控:這一步的目的就是通過查看有無接頭和低質(zhì)量堿基等,得知原始數(shù)據(jù)質(zhì)量咋樣栗涂,不好就要進(jìn)行處理知牌,處理之后再不好那可能就是要重新檢測,主要用到的軟件是fastqcmultiqc斤程,其中當(dāng)我們分析數(shù)據(jù)存在多個(gè)樣本時(shí)角寸,為了方便同時(shí)查看質(zhì)量信息我們將使用multiqc進(jìn)行多樣本合并呈現(xiàn)結(jié)果菩混。
數(shù)據(jù)過濾:通過數(shù)據(jù)質(zhì)控知道了數(shù)據(jù)所存在的問題,那么接下來我們要開始對原始數(shù)據(jù)進(jìn)行過濾扁藕,因?yàn)榻宇^盒低質(zhì)量的堿基都會影響后續(xù)的比對沮峡、定量準(zhǔn)確性,及下游分析亿柑。主要用到的工具為trim_galore或者trimmomatic邢疙,SOAPfilter(這三個(gè)區(qū)別)
比對:比對的軟件有很多,主要有三種類型:基于基因組比對:star望薄,hisat2疟游;基于轉(zhuǎn)錄組比對:bowtie,bwa痕支;不基于比對:salmon
定量:推薦使用featureCounts颁虐,它是subread軟件下的一個(gè)小軟件

開始!

第一步-軟件環(huán)境

依然是使用conda進(jìn)行配置卧须,主要軟件包括:數(shù)據(jù)轉(zhuǎn)換另绩,質(zhì)量控制,數(shù)據(jù)過濾花嘶,比對和定量

#激活之前設(shè)置好的rnaseq環(huán)境
conda activate rnaseq 或 source activate rnaseq
#安裝所需軟件; -y:默認(rèn)安裝過程全部yes板熊,當(dāng)conda把所有軟件都安裝好之后才會給反饋
conda install fastqc multiqc trim-galore trimmomatic hisat2 bowtie2 subread salmon -y

請注意軟件名稱大小寫,很重要察绷,錯(cuò)了容易報(bào)錯(cuò)干签;同時(shí)還有可能存在軟件依賴性,比如這里的featurecounts找不到并報(bào)錯(cuò)拆撼,此處的意思是找遍了所有conda下載channel也沒找到它容劳,這是我們就網(wǎng)頁搜索一下,根據(jù)正確答案將代碼替換就ok啦

conda featurecounts

根據(jù)提供的新命令重新安裝一遍

當(dāng)我將fastqc multiqc trim-galore trimmomatic hisat2 bowtie2 subread salmon這些軟件都安裝好后闸度,每一個(gè)軟件我都檢測一下到底安裝好沒竭贩,通過:輸入軟件名直接回車、軟件名 --help莺禁、軟件名 -h留量、軟件名 -help,以上方法均為查看該軟件幫助文件哟冬,當(dāng)幫助文件顯示后則表示為安裝成功楼熄。

但!請看(學(xué)習(xí)不認(rèn)真就要入深坑)

這兩個(gè)軟件沒有顯示幫助文件浩峡,可能是安裝出了問題可岂,那么我通過網(wǎng)頁搜索其安裝方法,進(jìn)行重新安裝翰灾,如下缕粹,但還是出現(xiàn)問題:
問題一:

subread

我以為的真的不是我以為的稚茅,我以為所有的軟件的幫助文件都是這樣看的,結(jié)果我錯(cuò)了平斩,首先subread不是單獨(dú)的軟件亚享,它還包括subread-align,subjunc绘面,其官網(wǎng):(http://subread.sourceforge.net/)虹蒋,下這個(gè)軟件的目的是為了使用其下面的featureCounts,所以我們直接輸入 featureCounts回車飒货,也可以證明我們這個(gè)軟件安裝成功

問題二:
trim-galore

trim_galore

trim-galore也不顯示幫助文件魄衅,也重新安裝了,沒報(bào)錯(cuò)塘辅,去安裝的路徑(home/miniconda3/envs/rnaseq/bin)下看它也在里面呀晃虫,那這又咋了啊扣墩!真讓人頭大哲银!
我的天!這是我們可以vi ~/.bashrc呻惕,將其添加到變量中export PATH=~/miniconda3/envs/rnaseq/bin:$PATH荆责,source ~/.bashrc激活一下,只是再trim_galore回車就會顯示幫助文件信息了

所以基于以上亚脆,當(dāng)我們遇到安裝軟件之后不顯示幫助文件信息時(shí)處理方式有三種(目前我遇到的做院,誰知道以后還會遇見啥呢)
1.搜索conda 軟件名:根據(jù)網(wǎng)站提示重新安裝
2.通過1沒有報(bào)錯(cuò),安裝成功濒持,但還是不顯示幫助文件键耕,那我們就要了解這個(gè)軟件是不是唯一的,其內(nèi)部會不會還有其他軟件(類似問題一)
3.查看軟件安裝路徑內(nèi)是否有該軟件柑营,有的話直接添加變量就OK了(類似問題二)

Ok屈雄!配置相關(guān)軟件環(huán)境完成

第二步-數(shù)據(jù)轉(zhuǎn)換

由于目前測序都是雙末端測序,因此將sra轉(zhuǎn)換成fq后會出現(xiàn)兩個(gè)fq文件官套,read1和read2酒奶,將下列腳本寫入名字為sra2fq.sh中(vi sra2fq.sh)

cat srr.ids | while read I ;do
echo $i
#time fastq-dump –gzip –split-3 -A $i 路徑/${i}.sra -O 輸出路徑 &;
done

首先在做循環(huán)腳本時(shí)奶赔,真正要運(yùn)行的命令先用#注釋掉(小澤提的好建議)惋嚎,用echo $i可以先看看這個(gè)循環(huán)是否是可行的,運(yùn)行一下纺阔,看結(jié)果:


cat nohup.out

確認(rèn)是我們要分析的數(shù)據(jù)列表瘸彤,好了,這時(shí)回到腳本將注釋打開
當(dāng)我們在使用某一個(gè)軟件時(shí)笛钝,幫助軟件時(shí)非常有用的质况,因?yàn)楹芏鄥?shù)我們沒有必要都要記住,可能也記不住玻靡,所以我們要充分利用好幫助信息结榄,查看某個(gè)軟件的幫助信息的命令前面已經(jīng)說了太多了(-help)

如何可以讓一個(gè)安裝好的軟件被我們所用,也就是將它運(yùn)行起來囤捻,這里用featureCounts舉例(因?yàn)槲医K于弄明白了subread的幫助文件怎么顯示了)臼朗;主要三因素,主程序+選項(xiàng)+參數(shù):featureCounts [option] -a <annotation_file>蝎土,[]里內(nèi)容表示可選视哑,<>里內(nèi)容為必選選項(xiàng),不可忽略誊涯,在寫命令時(shí)是不需要寫上[]和<>挡毅。
此外,在幫助文件中你會看到有一個(gè)連字符+大/小寫字母暴构,和兩個(gè)連字符+單詞跪呈,兩個(gè)連字符+單詞要比一個(gè)連字符+大/小寫字母說的更詳細(xì)。這兩種方式主要是對選項(xiàng)的調(diào)用取逾,后面才是選項(xiàng)的詳細(xì)描述內(nèi)容耗绿。

featureCounts

數(shù)據(jù)轉(zhuǎn)換命令詳述:

time fastq-dump –gzip –split-3 -A $i 路徑/${i}.sra -O 輸出路徑 1>sra2fq.log 2>&1 &
#time:表示計(jì)時(shí),就是轉(zhuǎn)換這個(gè)過程用了多久砾隅,可有可無
#fastq-dump:主程序
#--gzip:表示將解壓出來的fq還是壓縮成gzip格式误阻,目的是節(jié)省空間內(nèi)存
#--split-3:https://www.biostars.org/p/156909/,雖然其中有個(gè)3晴埂,但其實(shí)結(jié)果一般也就出2個(gè)文件
#-A指定輸出結(jié)果名
#i:SRRxxxx
#-O:指出輸出文件路徑
#1>sra2fq.log:將結(jié)果的正確日志文件輸出到sra2fq.log
#2>&1:2表示將錯(cuò)誤信息堕绩,并將其追加到1的正確日志中。也可以將2錯(cuò)誤信息丟棄到linux黑洞中去:2>/dev/null
#&:實(shí)現(xiàn)并行運(yùn)算的意思邑时,說白了就是同時(shí)跑這個(gè)循環(huán)奴紧,對i進(jìn)行同時(shí)數(shù)據(jù)轉(zhuǎn)換

--split-3說白了就是輸出3個(gè)結(jié)果文件如下,但是我們往下分析的時(shí)候只用read1和read2晶丘,所以如果只想要2個(gè)結(jié)果文件黍氮,可以用--split-files;


--split-3

好了浅浮,現(xiàn)在可以投任務(wù)了 nohup sh sra2fq.sh &沫浆,投任務(wù)這個(gè)時(shí)間可以準(zhǔn)備下載參考基因組和注釋文件了

第三步-參考文件

為什么需要參考文件?都有哪些參考文件滚秩?

第一個(gè)參考文件:參考基因組
轉(zhuǎn)錄組最終的結(jié)果就是要比較表達(dá)量的差異专执,那么一堆隨機(jī)排列的堿基怎么看表達(dá)量差異呢?就需要一個(gè)“標(biāo)準(zhǔn)”郁油,我們測到的不同數(shù)據(jù)都和這個(gè)標(biāo)準(zhǔn)去做比較本股,比上的多攀痊,我們就認(rèn)為表達(dá)量高,相反表達(dá)量少拄显,對于比對不上的苟径,我們認(rèn)為不表達(dá)。其實(shí)這里說的“標(biāo)準(zhǔn)”也就是第一個(gè)參考文件指的就是參考基因組躬审,人類基因組經(jīng)歷了從hg16棘街、hg17、hg18承边、hg19遭殉、hg38版本,最新版本即為hg38博助。
人類參考基因組:gz壓縮文件800多M险污,解壓后3G。
有3種主流的數(shù)據(jù)庫可供使用下載不同物種基因組數(shù)據(jù):NCBI翔始、UCSC罗心、Ensembl;
-NCBI:ftp://ftp.ncbi.nlm.nih.gov/genomes/
-UCSC:http://hgdownload.cse.ucsc.edu/downloads.html
-Ensembl:ftp://ftp.ensembl.org/pub/
第二個(gè)參考文件:基因組注釋文件
有了基因組城瞎,可以讓我們?nèi)ヌ剿鞯玫降臄?shù)據(jù)reads中哪些序列匹配到基因組上的對應(yīng)位置渤闷,但是我們還是不知道對應(yīng)的是什么,如果我們把基因組比作“尋路”的過程脖镀,那么注釋文件就是給找好的路指定“路牌”飒箭,主要使用兩個(gè)數(shù)據(jù)庫:Gencode:Ensembl,下載得到的文件主要是GTF和GFF:
Gencode:https://www.gencodegenes.org/蜒灰,包括人和小鼠的
Ensembl:ftp://ftp.ensembl.org/pub/current_gtf
關(guān)于GTF和GFF文件的信息請學(xué)習(xí):小澤分享的GTF與GFF的小趣事

那么現(xiàn)在開始下載兩個(gè)參考文件吧弦蹂!

請將兩個(gè)參考文件下載到之前創(chuàng)建的ref文件目錄下(cd ref)

#genome(從ensembl下載)
wget -c ftp://ftp.ensembl.org/pub/current_fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
#annotation(從ensembl下載)
wget -c ftp://ftp.ensembl.org/pub/current_gtf/homo_sapiens/Homo_sapiens.GRCh38.96.gtf.gz
# -c的含義是斷點(diǎn)續(xù)傳
# 如果下載速度慢,可以放后臺
兩個(gè)參考文件下載成功
#解壓
gzip -d Homo_sapiens.GRCh38.96.gtf.gz
gzip -d Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
兩個(gè)參考文件解壓成功

第四步-利用fastqc進(jìn)行質(zhì)控

通過fastq-dump將.sra文件轉(zhuǎn)換成fq后强窖,共生成8對SRRxxxxxx_1.fastq.gz和SRRxxxxxx_2.fastq.gz凸椿,接下來對其進(jìn)行fastqc質(zhì)控,在qc文件目錄下進(jìn)行(cd qc)

fastqc 路徑/raw/*.gz -o ./ -t 10
#  -t --threads 選擇程序運(yùn)行的線程數(shù)翅溺,越多越快哦脑漫;-o輸出路徑;*.gz表示該目錄下所有的.gz文件咙崎;

因?yàn)槲业膄astq-dump命令還沒有跑完优幸,所以我單獨(dú)跑已完成的.fastq.gz(此處我跑兩個(gè)SRRxxxxx數(shù)據(jù)文件,方便后面multiqc使用及結(jié)果演示)褪猛,如下:


fastqc操作流程
fastqc結(jié)果輸出

運(yùn)行結(jié)果會按照每個(gè)fq文件以html格式輸出网杆,然后利用filezilla導(dǎo)出結(jié)果(我用的導(dǎo)出結(jié)果是WinSCP)如下:


WinSCP

右鍵.html即可查看結(jié)果,如下:

FastQC Report

至于這個(gè)Report怎么解讀,請學(xué)習(xí)繼續(xù)小澤的優(yōu)秀文章====不要"太重視“fastqc的結(jié)果
FastQC Report詳解:http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/

因?yàn)槲覀冏罱K會輸出16個(gè).html碳却,一個(gè)一個(gè)看實(shí)在是太麻煩队秩,所以我們利用multiqc可以將結(jié)果合并呈現(xiàn)
額外說明一下multiqc安裝有兩種方法:官網(wǎng):https://multiqc.info/docs/
# pip安裝
pip install git+https://github.com/ewels/MultiQC.git  #Installation with pip
# conda安裝
conda install -c bioconda multiqc  # Installing with conda

插播:在等待安裝multiqc時(shí),所有數(shù)據(jù)fastqc結(jié)束追城,如下刹碾;


fastqc
運(yùn)行MultiQC

直接指定MultiQC要分析的文件路徑即可燥撞,若數(shù)據(jù)在當(dāng)前目錄下輸入multiqc .即可座柱。

multiqc .
#使用--ignore忽略掉某些文件
#multiqc . --ignore *_R2*

multiqc結(jié)果解析,請學(xué)習(xí):http://www.reibang.com/p/f83626fd1fa1

坑物舒!坑色洞!關(guān)于multiqc

我以為的又不是我以為的,2個(gè)小時(shí)出坑
一定要清楚multiqc是干啥的冠胯,我一直以為是和fastqc一樣的進(jìn)行質(zhì)控火诸,錯(cuò)!我以為錯(cuò)了荠察,其實(shí)它是將fastqc質(zhì)檢后生成的.zip文件進(jìn)行質(zhì)量信息結(jié)果合并呈現(xiàn)置蜀,所以我們應(yīng)該在qc這個(gè)路徑下對.zip文件進(jìn)行multiqc .
頓悟這個(gè)問題的心里路程:

警告

當(dāng)我第一次運(yùn)行multiqc .最先出現(xiàn)這個(gè)報(bào)錯(cuò),下面繼續(xù)出錯(cuò)顯示W(wǎng)ARNING
WARNING

頓時(shí)蒙圈了悉盆,別人也沒這個(gè)情況呀盯荤,我就開始搜索,搜呀搜呀搜呀搜焕盟,第一個(gè)警告解決秋秤,幫助來自https://github.com/yaml/pyyaml/wiki/PyYAML-yaml.load(input)-Deprecation#footnotes

找到config.py文件,對其進(jìn)行編輯脚翘,vi 路徑/config.py
在vi編輯器中查找yaml.load灼卢,一般都是yaml.load(f),這是我們要在其后面加上Loader=yaml.FullLoader来农,把所有的yaml.load中都加上鞋真,之后保存wq,退出vi

yaml.load (f, Loader=yaml.FullLoader)

接下來我們開始解決WARNING沃于,用了1個(gè)小時(shí)解決的涩咖,我都想爆粗口,現(xiàn)在想想就一句話揽涮,multiqc處理的是fastqc質(zhì)控后生成的.zip抠藕,找對路徑找對文件執(zhí)行就完事了,要被自己蠢哭了蒋困,最后生成multiqc_data和.html盾似,使用WinSCP打開.html

multiqc_data

multiqc_report.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子零院,更是在濱河造成了極大的恐慌溉跃,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件告抄,死亡現(xiàn)場離奇詭異撰茎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)打洼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門龄糊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人募疮,你說我怎么就攤上這事炫惩。” “怎么了阿浓?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵他嚷,是天一觀的道長。 經(jīng)常有香客問我芭毙,道長筋蓖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任退敦,我火速辦了婚禮粘咖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘苛聘。我一直安慰自己涂炎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布设哗。 她就那樣靜靜地躺著唱捣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪网梢。 梳的紋絲不亂的頭發(fā)上震缭,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機(jī)與錄音战虏,去河邊找鬼拣宰。 笑死,一個(gè)胖子當(dāng)著我的面吹牛烦感,可吹牛的內(nèi)容都是我干的巡社。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼手趣,長吁一口氣:“原來是場噩夢啊……” “哼晌该!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤朝群,失蹤者是張志新(化名)和其女友劉穎燕耿,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姜胖,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡誉帅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了右莱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚜锨。...
    茶點(diǎn)故事閱讀 40,030評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖隧出,靈堂內(nèi)的尸體忽然破棺而出踏志,到底是詐尸還是另有隱情阀捅,我是刑警寧澤胀瞪,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站饲鄙,受9級特大地震影響凄诞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜忍级,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一帆谍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧轴咱,春花似錦汛蝙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至戈稿,卻和暖如春西土,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背鞍盗。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工需了, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人般甲。 一個(gè)月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓肋乍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親敷存。 傳聞我的和親對象是個(gè)殘疾皇子墓造,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評論 2 355

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