RNA-seq 分析流程(一)linux部分

基于miniconda3進(jìn)行l(wèi)inux部分分析,由于很多軟件是基于Python3.7寫成的驰凛,建議使用Py3.7版本的miniconda3
miniconda3安裝及注意事項(xiàng)見:
http://www.reibang.com/p/914edc1de634
http://www.reibang.com/p/42b7598fbc34
http://www.reibang.com/p/e620115f7313

Step1:軟件安裝

數(shù)據(jù)資源下載胀茵,參考基因組及參考轉(zhuǎn)錄組(linux)

gtf ,genome析蝴,fa

質(zhì)控禁漓,需要fastqc及multiqc(linux)

trimmomatic是目,cutadapt妹萨,trim-galore

對(duì)比(linux)

star,HISAT2,TOPHAT2, bowtie,bwa,subread

計(jì)數(shù)(linux)

featureCounts贪薪,htseq-counts,bedtools

nomalization 歸一化,差異分析等(R 包)

DEseq2眠副,edgeR画切,limma 

注,fastqc和trim-galore需要下載openjdk囱怕,非常大霍弹,建議使用conda install --offline /home/xxx/src/openjdk-11.0.1-h516909a_1016.tar.bz2 線下安裝

conda install -y fastqc trim-galore star bwa hisat2 bowtie2 subread tophat htseq bedtools deeptools salmon cutadapt multiqc sra-tools
conda install -c bioconda trimmomatic

Step2:原始數(shù)據(jù)校驗(yàn)

md5sum -c cdmd5.txt 

Step3: 數(shù)據(jù)質(zhì)控與矯正

3.1. fastqc

fastqc 批處理并將結(jié)果保存在qc文件夾下

fastqc  -o ./qc/ *.fq.gz

multiqc整合fastqc結(jié)果

multiqc -o ./qc/ ./qc/*.zip

3.2. trim_galore 質(zhì)控

去除接頭
去除兩端低質(zhì)量堿基(-q 25)
最大允許錯(cuò)誤率(默認(rèn)-e 0.1)
去除<36的reads(--length 36)
切除index的overlap>3的堿基
reads去除以對(duì)為單位(--paired)

ls *_1.clean.fq.gz >1
ls *_2.clean.fq.gz >2
paste 1 2 >config
cat config

建立好config后,接下來(lái)就可以進(jìn)行批量質(zhì)控了
建立批量處理腳本

vim qc.sh
bin_trim_galore=trim_galore
mkdir filter-data
dir='/home/XXX/reads/filter-data'
cat config |while read id
do
    arr=($id)
    fq1=${arr[0]}
    fq2=${arr[1]}
nohup $bin_trim_galore -q 25 --phred33 --length 36 -e 0.1 --stringency 3 --paired -o $dir $fq1 $fq2 &
done

拿到config和qc.sh后

bash qc.sh config

注意trim_galore是平行批量處理娃弓,對(duì)于在自己電腦上做比對(duì)的人來(lái)說(shuō)典格,對(duì)電腦傷害比較大

3.3. 異常堿基剪切

發(fā)現(xiàn)本次測(cè)序數(shù)據(jù)的前15個(gè)堿基堿基比例異常,因此決定剪掉起始的25bp堿基

vim trim.sh
ls *.gz
ls *.gz|while read id;do echo $id;
cutadapt -u 25 -o /home/XXX/trim.$id /home/XXX/$id;
done

去掉樣本名稱前的trim

rename "s/trim.//" *fq.gz

Step4: hisat2 比對(duì) (可選1)

hisat2 build index

hisat2_extract_exons.py tair10_ensemble_chr.gtf >exon_arab.txt
hisat2_extract_splice_sites.py tair10_ensemble_chr.gtf >ss_arab.txt
hisat2-build -p 2 --exon /home/polya/Public/genome/Arab/tair/exon_arab.txt --ss /home/polya/Public/genome/Arab/tair/ss_arab.txt /home/XXX/Public/genome/Arab/tair/tair10_ensemble_chr.fa /home/XXX/Public/genome/Arab/index/hisat/index

hisat2 mapping 使用vim map.sh, 構(gòu)建比對(duì)台丛,可以一個(gè)一個(gè)比對(duì)耍缴,也可以寫個(gè)循環(huán)比對(duì)

hisat2 -p 2 -x /home/polya/Public/genome/Arab/index/hisat/index -1 /home/polya/data/clean/trim/sample_read1.clean.fq.gz -2 /home/polya/data/clean/trim/sample_read2.clean.fq.gz -S /home/polya/data/clean/sam/sample.hisat.sam;

Step4: STAR 比對(duì) (可選2)

star build the index

STAR --runThreadN 6 --runMode genomeGenerate --genomeDir /home/polya/Public/genome/Arab/tair10/ --genomeFastaFiles /home/polya/Public/genome/Arab/tair10/TAIR10_chr_all.fas --sjdbGTFfile /home/polya/Public/genome/Arab/tair10/TAIR10_GFF3_genes.gff --sjdbGTFfeatureExon exon --sjdbGTFtagExonParentTranscript ID --sjdbGTFtagExonParentGene Parent

使用vim map.sh, 構(gòu)建比對(duì),可以一個(gè)一個(gè)比對(duì)挽霉,也可以寫個(gè)循環(huán)比對(duì)

STAR --runThreadN 12 --readFilesCommand zcat --alignEndsType EndToEnd --outSAMtype SAM --outFilterMultimapNmax 1 --genomeDir /home/polya/Public/genome/Arab/tair10/ --readFilesIn rep1.R1.clean_val_1.fq.gz rep1.R2.clean_val_2.fq.gz --outFileNamePrefix /home/polya/Public/data/sam/rep1;

Step5: sam to bam, 繼續(xù)使用vim xxx.sh,使用chmod 777 給sh權(quán)限防嗡,然后nohup ./xxx.sh 2>&1&后臺(tái)掛起,下同

ls *.sam
ls *.sam|while read id;do echo $id;
samtools view -Sb $id > ${id%%.*}.bam;
done

Step6:bam to sorted bam

ls *.bam
ls *.bam|while read id;do echo $id;
samtools sort $id -o ${id%%.*}.sorted.bam;
done

rename 's/Aligned.out//g' *

Step7: generate flagstat for summary of mapping

ls *sorted.bam |while read id ;do ( samtools flagstat -@ 1 $id > $(basename ${id} ".bam").flagstat );done

index for IGV visualization

ls *sorted.bam|xargs -i samtools index {} #構(gòu)建索引侠坎,拿到IGV里面看

multiqc ./*.flagstat

Step8 featurecounts to calculate gene expression,常規(guī)RNA-seq分析用這個(gè)就行 (多數(shù)情況選擇)

ls *sorted.bam
ls *sorted.bam|while read id;do echo $id;
featureCounts -T 6 -p -t gene -g gene_id -a /home/polya/Public/genome/Arab/tair10/TAIR10_ensemble_Chr.gtf  -o all.gene.txt *.bam;
done

這一步結(jié)束就可以移動(dòng)到R 中進(jìn)行下游的差異分析了:詳見RNAseq分析流程(二)http://www.reibang.com/p/7c0d61363ce3

少數(shù)情況:

Step8: #featurecounts to calculate first exon expression蚁趁,針對(duì)RNA 加工中的轉(zhuǎn)錄本差異用的,小眾 (僅少見情況選擇)

ls *sorted.bam
ls *sorted.bam|while read id;do echo $id;
featureCounts -T 6 -t exon -g Parent -a /home/polya/Public/genome/Arab/tair10/TAIR10_GFF3_fexon.gff  -o all.exon.txt *.bam;
done

如果想使用bedgraph看IGV

Step9: bam to bedgraph, Note: plus is actual minus for strand-specific reads实胸,這部分是生成IGV的bedgraph文件

ls *.sorted.bam
ls *.sorted.bam|while read id;do echo $id;
genomeCoverageBed -ibam $id  -bga -split -g /home/polya/Public/genome/Arab/tair10/TAIR10_chr_all.fas > ${id%%.*}.bedgraph
done

RNA-seq 分析流程(二)DEseq2 分析差異表達(dá)基因見http://www.reibang.com/p/7c0d61363ce3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末他嫡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子庐完,更是在濱河造成了極大的恐慌钢属,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件门躯,死亡現(xiàn)場(chǎng)離奇詭異淆党,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)生音,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門宁否,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人缀遍,你說(shuō)我怎么就攤上這事慕匠。” “怎么了域醇?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵台谊,是天一觀的道長(zhǎng)蓉媳。 經(jīng)常有香客問我,道長(zhǎng)锅铅,這世上最難降的妖魔是什么酪呻? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮盐须,結(jié)果婚禮上玩荠,老公的妹妹穿的比我還像新娘。我一直安慰自己贼邓,他們只是感情好阶冈,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著塑径,像睡著了一般女坑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上统舀,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天匆骗,我揣著相機(jī)與錄音固蚤,去河邊找鬼辽社。 笑死,一個(gè)胖子當(dāng)著我的面吹牛逐工,可吹牛的內(nèi)容都是我干的描融。 我是一名探鬼主播铝噩,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼衡蚂,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼窿克!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起毛甲,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤年叮,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后玻募,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體只损,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年七咧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了跃惫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡艾栋,死狀恐怖爆存,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蝗砾,我是刑警寧澤先较,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布携冤,位于F島的核電站,受9級(jí)特大地震影響闲勺,放射性物質(zhì)發(fā)生泄漏曾棕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一菜循、第九天 我趴在偏房一處隱蔽的房頂上張望翘地。 院中可真熱鬧,春花似錦癌幕、人聲如沸子眶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)臭杰。三九已至,卻和暖如春谚中,著一層夾襖步出監(jiān)牢的瞬間渴杆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工宪塔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留磁奖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓某筐,卻偏偏與公主長(zhǎng)得像比搭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子南誊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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