水稻轉(zhuǎn)錄組分析Hisat2+Stringtie+Deseq2

關(guān)于流程:

?Nature Communications 文章

Gaining comprehensive biological insight into the tranome by performing a broad-spectrum RNA-seq analysis

文章從流行的39個工具中組合了120種RNA-seq分析方法,并對分析結(jié)果的精確度、效率和一致性三個層次進(jìn)行了評估。

在文章的最后作者給出了ballgown自己推薦的RNAseq 分析方法? 分析流程如圖所示,回帖用HISAT2,組裝和定量用StingTie,差異計算選擇DESeq2。



軟件:

安裝miniconda

wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

sh Miniconda3-latest-Linux-x86_64.sh

source?~/.bashrc


hisat2 和 stringtie 都可以在anaconda上直接安裝,deseq2可以使用新的Bioconductor的安裝方式:

conda activate

conda create -n hisat2

conda activate hisat2

conda install hisat2


conda activate

conda create -n? stringtie

conda activate stringtie

conda install stringtie


if(!requireNamespace("BiocManager", quietly=TRUE))

install.packages("BiocManager")

BiocManager::install("DESeq2", version="3.8")

下載wget http://www.usadellab.org/cms/uploads/supplementary/Trimmomatic/Trimmomatic-0.39.zip

#解壓unzip Trimmomatic-0.39.zip

conda安裝

condainstalltrimmomatic




預(yù)處理:

和其他數(shù)據(jù)處理一樣,先把sra文件轉(zhuǎn)為fastq,可以使用seqtk對fastq進(jìn)行自動的trim,但還是要先用FASTQC先看一下質(zhì)量,太差的數(shù)據(jù)最好還是不要用。

fastqc -o outdir -t 8 input.fastq

#-o 輸出文件目錄

#-t 進(jìn)程數(shù)

1建索引

/share/home/caas_zhangZP/miniconda3/envs/hisat2/bin/extract_splice_sites.py rice.gtf > rice.ss

/share/home/caas_zhangZP/miniconda3/envs/hisat2/bin/extract_exons.py rice.gtf >rice.exon

/share/home/caas_zhangZP/miniconda3/envs/hisat2/bin/hisat2-build -p 50 --exon rice.exon --ss rice.ss rice.fa rice

2比對

hisat2 --dta --p 8 -x rice.fa -1 1C.R1.fastq.gz -2 1C.R2.fastq.gz -S 1C.sam

循環(huán)比對

for i in {1..18};

do

hisat2? --dta? --p 8 -x rice.fa -1 R${i}_1.out.fq -2 R${i}_2.out.fq -S? R${i}.sam

done

批量比對

vi hisat2.sh

for i in *1.clean.fastq.gz;

do

i=${i%_1.clean.fastq.gz*};

echo ${i};

nohup hisat2 -p 4 --dta -x rice.fa -1

${i}_1.clean.fastq.gz -2 ${i}_1.clean.fastq.gz -S ${i}.sam &

done

3sam轉(zhuǎn)bam并且排序

samtools sort -@ 12 -o SRR${i}.sort.bam SRR${i}.sam

或者分兩步

#將sam文件轉(zhuǎn)化為二進(jìn)制的bam文件,節(jié)約空間和處理時間

samtools view --threads 6 -m 2G -bS 1C.sam > 1C.bam

#將bam文件排序(必須進(jìn)行這一步):

samtools sort --threads 5 -m 2G 1C.bam -o 1C.sorted.bam

批量處理

vi view.sh

for i in *.sam;

do

i=${i%.sam*};

echo ${i};

nohup samtools view -bhS? -t ~/Rna-seq-SRP200940/GRCh37/genome.fa.fai -@ 2 -o ${i}.bam ${i}.sam &

done

vi sort.sh

for i in *.bam;

do

i=${i%.bam*};

echo ${i};

nohup samtools sort -@ 4 -o ${i}.sort.bam ${i}.bam &

done


6定量

對樣本進(jìn)行組裝

比對上的reads將會被呈遞給StringTie進(jìn)行轉(zhuǎn)錄本組裝,StringTie單獨的對每個樣本進(jìn)行組裝,在組裝的過程中順帶估算每個基因及isoform的表達(dá)水平

stringtie -p 8 -G rice.gtf -o file.gtf file.bam

使用腳本批量組裝

vi stringtie1.sh

for i in *sort.bam;

do

i=${i%.sort.bam*};

echo ${i};

nohup stringtie -p 4 -G? ~/Rna-seq-SRP200940/GRCh37/genome.gtf

-o ${i}.gtf -l? ${i} ${i}.sort.bam &

done


7.將所有轉(zhuǎn)錄本合并

所有的轉(zhuǎn)錄本都被呈遞給StringTie的merge函數(shù)進(jìn)行merge,這一步是必須的,因為有些樣本的轉(zhuǎn)錄本可能僅僅被部分reads覆蓋,無法被StringTie組裝出來。merge步驟可以創(chuàng)建出所有樣本里面都有的轉(zhuǎn)錄本

創(chuàng)建mergelist

ls /.gtf >mergelist.txt

轉(zhuǎn)錄本合并

stringtie --merge -p 8 -G rice.gtf? -o stringtie_merged.gtf? mergelist.txt

檢測相對于注釋基因組,轉(zhuǎn)錄本的組裝情況

gffcompare -r rice.gtf -G -o merged stringtie_merged.gtf

重新組裝轉(zhuǎn)錄本并估算基因表達(dá)豐度

stringtie –e –B -p 4 -G stringtie_merged.gtf -o ballgown/SRR9228751/SRR9228751.gtf SRR9228751.sort.bam

批量處理

vi chongzuzhuang.sh

for i in *.sort.bam;

do

i=${i%.sort.bam*};

echo ${i};

nohup stringtie -e -B -p 8 -G stringtie_merged.gtf -o ballgown/${i}/${i}.gtf? ${i}.sort.bam &

done


stringtie -p 8 -G genome.gtf -o file.gtf file.bam

#單個樣本轉(zhuǎn)錄本計算,生成含有初始表達(dá)量的gtf文件

ls /.gtf >mergelist.txt

#將所有樣本gft文件位置生成一個list

stringtie --merge -p 8 -G genome.gtf -o stringtie_merged.gtf mergelist.txt

#合并所有樣本的轉(zhuǎn)錄本,生成完整的的轉(zhuǎn)錄本拼接結(jié)果gtf文件

stringtie -e -B -p 8 -G stringtie_merged.gtf -o ballgown/file1/file1.gtf file1.bam

#重新組裝轉(zhuǎn)錄本并估算基因表達(dá)豐度,并為ballgown創(chuàng)建讀入文件


使用tringtie拼接序列

for i in {1..18};

do

? ? #samtools sort -@ 8 -o R${i}.bam R${i}.sam

? ? stringtie? -p 8? --rf -G /8Tdata/liuhailong/genome/Sus_scrofa.Sscrofa11.1.97.gtf? -o /8Tdata/liuhailong/final_data/ballgown/R${i}/R${i}.gtf -B -e? R${i}.bam

done












參考資料:

http://www.itdecent.cn/p/216ce84a6220

http://www.itdecent.cn/p/cf4c5776fc79

https://cloud.tencent.com/developer/article/2032035

https://cloud.tencent.com/developer/article/2056795

http://www.itdecent.cn/p/2cbc739669d5

https://blog.csdn.net/flashan_shensanceng/article/details/125548474

https://blog.csdn.net/weixin_39628160/article/details/110667978

https://www.cnblogs.com/triple-y/p/14246809.html

http://www.itdecent.cn/p/b86e5598468b

featureCounts和StringTie是兩種廣泛使用的生物信息學(xué)工具,主要用于RNA-seq數(shù)據(jù)的分析,但它們的功能和重點有所不同。下面是兩者的主要區(qū)別:

featureCounts

featureCounts是一個由Aaron Lun等人開發(fā)的程序,主要功能是基于比對后的reads(如BAM文件)計數(shù)到基因組特征上,如基因、外顯子、啟動子或基因組的固定bin。它通常用于以下目的:

讀段計數(shù):featureCounts?將reads分配給基因組中的已知特征,如基因或轉(zhuǎn)錄本,并輸出每種特征的讀段計數(shù),這對于后續(xù)的差異表達(dá)分析至關(guān)重要。

兼容多種比對器:它可以處理由多種比對器生成的輸出,包括STAR、Bowtie、TopHat等。

靈活性:用戶可以指定多種參數(shù),如是否考慮多映射reads、是否計數(shù)到外顯子或基因等。

并行化:featureCounts?支持多線程,可以在多個CPU核心上同時運行,加快處理速度。

StringTie

StringTie是一個用于從RNA-seq數(shù)據(jù)中組裝轉(zhuǎn)錄本的工具,其主要功能包括:

轉(zhuǎn)錄本組裝:StringTie?可以從比對后的reads中重新構(gòu)建轉(zhuǎn)錄本,包括已知的和新發(fā)現(xiàn)的轉(zhuǎn)錄本。這意味著它可以識別出新的剪接變體或未知轉(zhuǎn)錄本。

定量表達(dá):除了組裝之外,StringTie?還可以估計每個轉(zhuǎn)錄本的表達(dá)量,通常使用FPKM(fragments per kilobase of transcript per million mapped reads)作為單位。

更新注釋:StringTie?可以利用RNA-seq數(shù)據(jù)更新現(xiàn)有的基因注釋,這對于那些基因注釋可能不完整或過時的物種尤為重要。

與其他工具的整合:StringTie?的輸出可以被其他工具如Ballgown或Cuffdiff2用于進(jìn)一步的分析,如差異表達(dá)分析。

總結(jié)

featureCounts?主要關(guān)注的是基于已有注釋的特征計數(shù),而?StringTie?更側(cè)重于從頭組裝轉(zhuǎn)錄本和更新基因注釋。

如果你的目標(biāo)是進(jìn)行差異表達(dá)分析且已有高質(zhì)量的注釋集,featureCounts?可能是一個直接的選擇。

如果你對發(fā)現(xiàn)新的轉(zhuǎn)錄本或更新基因注釋感興趣,那么?StringTie?或許更適合你。

兩者經(jīng)常在RNA-seq管道中組合使用,其中StringTie可用于組裝和更新注釋,而featureCounts則用于基于更新后的注釋進(jìn)行讀段計數(shù)。


featureCounts 和 StringTie 都可以用于RNA-seq數(shù)據(jù)分析,但在得到FPKM(Fragments Per Kilobase of transcript per Million mapped reads)方面,它們的處理方式有本質(zhì)的不同。

featureCounts

featureCounts 主要是用來對RNA-seq數(shù)據(jù)進(jìn)行基因或轉(zhuǎn)錄本級別的計數(shù),它并不直接計算FPKM或類似標(biāo)準(zhǔn)化表達(dá)量。featureCounts 輸出的是原始的計數(shù)(counts),即有多少reads被映射到了特定的基因或轉(zhuǎn)錄本上。然而,這些原始計數(shù)可以被進(jìn)一步處理來計算FPKM或其他標(biāo)準(zhǔn)化表達(dá)量指標(biāo),例如通過使用額外的軟件包如DESeq2或edgeR。這是因為featureCounts只關(guān)注于計數(shù),而不涉及基于長度和測序深度的標(biāo)準(zhǔn)化。

StringTie

相比之下,StringTie 不僅可以組裝轉(zhuǎn)錄本,還可以直接計算每個轉(zhuǎn)錄本的FPKM。StringTie 在組裝轉(zhuǎn)錄本的同時,考慮到轉(zhuǎn)錄本的長度和整個文庫的測序深度,從而計算出FPKM值。這使得StringTie能夠提供標(biāo)準(zhǔn)化后的表達(dá)量,可以直接用于比較不同樣本之間轉(zhuǎn)錄本的表達(dá)水平,無需額外的標(biāo)準(zhǔn)化步驟。

總結(jié)

featureCounts 提供的是未標(biāo)準(zhǔn)化的讀段計數(shù),這些計數(shù)可以被其他工具用來計算FPKM或類似標(biāo)準(zhǔn)化表達(dá)量。

StringTie 在轉(zhuǎn)錄本組裝的過程中直接計算FPKM,提供標(biāo)準(zhǔn)化后的表達(dá)量。

當(dāng)使用featureCounts時,通常會采用額外的分析步驟(如使用DESeq2或edgeR)來進(jìn)行標(biāo)準(zhǔn)化和差異表達(dá)分析。而StringTie則提供了一站式的解決方案,包括轉(zhuǎn)錄本的組裝和表達(dá)量的標(biāo)準(zhǔn)化。

在實際應(yīng)用中,選擇哪種工具取決于你的具體需求:如果你需要高度精確的轉(zhuǎn)錄本組裝和直接的FPKM值,StringTie可能是更好的選擇;而如果你只需要基因級別的計數(shù)并且計劃使用其他工具進(jìn)行標(biāo)準(zhǔn)化和差異表達(dá)分析,那么featureCounts就足夠了。

或者分兩步

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容