RNA-seq 數據的簡單分析


主要介紹如何分析RNA-seq 數據

參考文檔

Wikipedia-RNA-seq

paper: RNA-Seq: a revolutionary tool for transcriptomics

TopHat

Cufflinks

CummeRbund

TopHat: discovering splice junctions with RNA-Seq

TopHat2 paper

Nature Protocol

推薦:griffithlab/rnaseq_tutorial
以下的文檔就按上面的這個教程來組織


軟件安裝

需要安裝的軟件:
sra-tools,samtools, bam-readcount, bowtie, bowtie2, tophat, star, cufflinks, htseq-count, R, cummeRbund, fastqc, picard-tools, and samstat

其中已經安裝的:

sra-tools
samtools
bowtie
bowtie2
tophat
cufflinks
R
fastqc
samstat

案例

以下以一個例子來說明如何進行一般的 rna-seq的分析
GEO number : GSE66666
GSE66666

從中了解實驗是如何設計的,想解決什么問題,多少樣本,該研究所發表的文章等相關信息。

下載原始序列

原始序列一般以 SRA 的格式保存在 NCBI 上。
下載地址

推薦寫一個 sh 腳本,批量下載,即列出所有的 鏈接。

然后使用 sra-tools 把 sra 格式序列轉換成 fq 格式序列

腳本如下:

#!/bin/bash

cd /home/user/download/myfile/

wget ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByStudy/sra/SRP%2FSRP055%2FSRP055992/SRR1871481/SRR1871481.sra

wget ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByStudy/sra/SRP%2FSRP055%2FSRP055992/SRR1871482/SRR1871482.sra

wget ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByStudy/sra/SRP%2FSRP055%2FSRP055992/SRR1871483/SRR1871483.sra

wget ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByStudy/sra/SRP%2FSRP055%2FSRP055992/SRR1871484/SRR1871484.sra

wget ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByStudy/sra/SRP%2FSRP055%2FSRP055992/SRR1871485/SRR1871485.sra

wget ftp://ftp-trace.ncbi.nlm.nih.gov/sra/sra-instant/reads/ByStudy/sra/SRP%2FSRP055%2FSRP055992/SRR1871486/SRR1871486.sra

# use sra-tools to transform

export PATH=$PATH:/home/user/sratoolkit.2.5.2-ubuntu64/bin

fastq-dump *.sra

這樣就把原始序列 fq 文件得到了。

為了后面分析方便,把相應的序列文件名改成相應的組

mv SRR1871481.fastq WT_Rep1.fastq
mv SRR1871482.fastq WT_Rep2.fastq
mv SRR1871483.fastq WT_Rep3.fastq

mv SRR1871484.fastq athb1_Rep1.fastq
mv SRR1871485.fastq athb1_Rep2.fastq
mv SRR1871486.fastq athb1_Rep3.fastq

Pre-Alignment QC

使用fastqc 軟件來對原始序列fastq 文件進行質量檢測

export PATH=/home/maque/FastQC/:$PATH
fastqc *.fastq

這樣每個 fastq 文件都能生成一個 html 報告文件,很詳細

使用 tophat 和 bowtie 進行比對

ref

在開始之前,需要下載擬南芥的基因組序列,注釋文件以及 INDEX文件
iGenomes
選擇 Ensembl tigr10 版本, 解壓

cd /media/文檔/rna-seq-arabi/ 
#原始序列與 tigr10 文件夾都放在該文件夾下

export PATH=/home/maque/samtools-1.2/bin:$PATH
export PATH=/home/maque/tophat-2.1.0.Linux_x86_64/:$PATH
export PATH=$PATH:/home/maque/bowtie-1.1.2

tophat2 -p 8 --bowtie1 -G Arabidopsis_thaliana_Ensembl_TAIR10/Arabidopsis_thaliana/Ensembl/TAIR10/Annotation/Genes/genes.gtf -o WT_Rep1_output  Arabidopsis_thaliana_Ensembl_TAIR10/Arabidopsis_thaliana/Ensembl/TAIR10/Sequence/BowtieIndex/genome WT_Rep1.fastq

# 其他5個 fastq 文件與上面一致
# -p 8    使用8線程
# --bowtie1   使用bowtie1 , 默認是bowtie2
# -G    后面跟注釋文件 gtf
# -o    后跟輸出文件夾
# 最后面跟 原始序列 fastq 文件

這些過程完成后,說明已經完成比對,在每個新建的文件夾里面,應該有一些信息,最主要的是生成了一個 accepted_hits.bam 文件, 這個就是 samtools 生成的,后面主要也是利用這個文件繼續分析。

建議提前利用 IGV 軟件查看一下 該 bam 文件,可以知道mapping 的情況。
如果想查看,需要先對 該bam文件進行 index ,比如:

samtools index  WT_Rep1_output/accepted_hits.bam

ref

export PATH=/home/maque/cufflinks-2.2.1.Linux_x86_64/:$PATH
cufflinks -p 8 -o WT_Rep1_cuffout WT_Rep1_output/accepted_hits.bam
# 其他5個與之類似
# -p 8   使用8線程
# -o WT_Rep1_cuffout    輸出目錄
#  最后面跟相應的 bam 文件

該過程完成后,會生成相應的文件夾,里面有相應的文件,后面會使用 transcripts.gtf 文件

Differential Expression

ref

ls -1 *cuffout/transcripts.gtf > assembly_GTF_list.txt
cuffmerge -p 8 -o merged -g Arabidopsis_thaliana_Ensembl_TAIR10/Arabidopsis_thaliana/Ensembl/TAIR10/Annotation/Genes/genes.gtf -s Arabidopsis_thaliana_Ensembl_TAIR10/Arabidopsis_thaliana/Ensembl/TAIR10/Sequence/WholeGenomeFasta/genome.fa assembly_GTF_list.txt

# -p 8   使用8線程
# -o merged  后跟目錄
# -g  后跟參考基因的gtf文件
# -s  后跟基因組序列文件
#  最后跟上一步新建的 assembly_GTF_list.txt

接下來使用 cuffdiff

cuffdiff -o rna_de/diff_out -p 8 -L WT,athb merged/merged.gtf WT_Rep1_output/accepted_hits.bam,WT_Rep2_output/accepted_hits.bam,WT_Rep3_output/accepted_hits.bam athb_Rep1_output/accepted_hits.bam,athb_Rep2_output/accepted_hits.bam,athb_Rep3_output/accepted_hits.bam

# -o  后跟輸出文件目錄 
# -p 8 使用8線程
# -L WT,athb    '-L' tells cuffdiff the labels to use for samples
# 后跟 上一步由 cuffmerge 生成的 merged.gtf 文件
# 最后跟6個bam 文件, 組內由逗號隔開,組間由空格隔開。

該過程會新建一個diff_out 文件夾,里面包含了很多信息
這些信息可以使用 R 包 cummeRbund 很方便的進行分析

使用cummeRbund

文檔

推薦流程

可以按照推薦流程文檔中的步驟去分析

下面主要說一些注意點:

安裝
source("http://bioconductor.org/biocLite.R")
biocLite("cummeRbund")
讀入數據

首先先 cd 到上一個步驟生成的 diff_out 文件夾

library(cummeRbund)
cuff <- readCufflinks()

這樣即完成讀入數據。

各種分析圖

可以按照推薦流程中的去分析,也可以參考 Nature Protocol

尋找差異表達基因

大部分進行RNA-Seq 實驗的目的主要還是尋找實驗組與對照組之間的差異表達基因。

一種方法是:

mySigGeneIds<-getSig(cuff,alpha=0.05,level='genes')
mySigGeneIds
length(mySigGeneIds)

mySigGenes<-getGenes(cuff,mySigGeneIds)
mySigGenes

diffData(mySigGenes)
featureNames(mySigGenes)

另一種方法是:

gene_diff_data <- diffData(genes(cuff))
sig_gene_data <- subset(gene_diff_data, (significant == 'yes'))
sig_gene_data

這些方法列出的 gene_id 是像 XLOC_000268 這樣的格式, 它所對應的通用的gene_id 比如AT1G06080 , 這種一一對應關系文件可以在合並的 merged.gtf 文件中尋找
而AT1G06080 這種gene_id 所對應的基因類型,基因名稱等信息可以在 tair10 文件夾中的 gene.gtf 文件中找到
AT1G06080 這種gene_id 所對應的基因名稱也可以在 同一文件夾中的 refFlat.txt 文件中找到。

也可以先把上一步輸出的 gene_id 放到一個 list.txt 中,注意不要有空行,最好使用 vim , 然后利用 grep 即可:

    grep -f  list.txt  merged.gtf  | less - S

以上就是rna-seq 數據分析的簡單過程,很多細節沒有提,而且還有很多其他步驟可以進行擴展,這些還需要再進一步深入理解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM