RNA-seq前期数据分析
自己在学习数据处理时候的笔记,希望能帮到大家~
RNA-seq数据基本分析流程:
参考文献:https://www.nature.com/articles/nprot.2016.095#procedure
关于fastq格式:
Fastq格式是一种基于文本的存储生物序列和对应碱基(或氨基酸)质量的文件格式。
每条序列由4行字符表示,上述样例显示有两条序列:
第一行:必须以“@”开头,后面跟着唯一的序列ID标识符,然后跟着可选的序列描述内容,标识符与描述内容用空格分开。
第二行:序列字符(核酸为[AGCTN]+,蛋白为氨基酸字符)。
第三行:必须以“+”开头,后面跟着可选的ID标识符和可选的描述内容,如果“+”后面有内容,该内容必须与第一行“@”后的内容相同。
第四行:碱基质量字符,每个字符对应第二行相应位置碱基或氨基酸的质量,该字符可以按一定规则转换为碱基质量得分,碱基质量得分可以反映该碱基的错误率。这行的字符数与第二行中的字符数必须相同。
关于sam格式的文件:‘
SAM(Sequence Alignment/Map)格式是一种通用的比对格式,用来存储reads到参考序列的比对信息。
SAM是一种序列比对格式标准,由sanger制定,是以TAB为分割符的文本格式。主要应用于测序序列mapping到基因组上的结果表示,当然也可以表示任意的多重比对结果。
SAM分为两部分,注释信息(header
section)和比对结果部分(alignment section)。
行:除注释外,每一行是一个read。
1 @HD,说明符合标准的版本、对比序列的排列顺序;
2 @SQ,参考序列说明;
3 @RG,比对上的序列(read)说明;
4 @PG,使用的程序说明;
5 @CO,任意的说明信息。
打开之后是这样的:unsorted表明还需要进行排序。
软件与数据下载:
conda install -c bioconda sra-tools
conda install -c bioconda trim-galore#trim_galore:可以处理illumina,nextera3,smallRNA测序平台的双端和单端数据,包括去除adapter和低质量reads。
conda install fastqc #质量分析
conda install -c bioconda samtools #处理sam/bam格式文件的一种软件包工具
conda install -c bioconda hisat2#将测序数据比对到标准基因组,因速度快而选择了它,但是需要在python2的环境下运行
conda install -c bioconda star #将测序数据比对到标准基因组,非常好的一个比对软件,但是限制于电脑配置而舍弃了他。
conda install -c bioconda stringtie #转录本组装和merge
conda install -c bioconda gffcompare #统计有多少转录本与注释文件相同,以及有多少新转录本
conda install –c r r #安装R
conda install -c bioconda bioconductor-ballgown #安装ballgown,识别差异表达的基因
conda install -c bioconda bioconductor-genefilter #安装genefilter,快速计算平均值和方差。
Devtools的安装参考:https://blog.csdn.net/qq_27755195/article/details/53609787
以进行R包的安装。
conda install -c r r-dplyr #安装dplyr,以对结果进行排序
raw data下载(找了2个小鼠的测序结果):
fastq-dump --split-3 --gzip SRR3589959
fastq-dump --split-3 --gzip SRR3589960
加上--split-3之后, 会把原来双端拆分成两个文件,但是原来单端并不会保存成两个文件. 还有你用--gzip就能输出gz格式, 能够节省空间的同时也不会给后续比对软件造成压力,比对软件都支持,就是时间要多一点。
标准基因组的数据下载:
注释文件的下载:
Index的下载,自己的电脑没法建立index有现成的index可以去https://ccb.jhu.edu/software/hisat2/index.shtml下载:
关于HISAT2官网上的index:https://www.biostars.org/p/290721/
genome: HFM index for reference
genome_snp: HGFM index for reference plus SNPs
genome_tran: HGFM index for reference plus transcripts
genome_snp_tran: HGFM index for reference plus SNPs and transcripts
当然也可以自己建立索引文件:
Hisat2-build reference genome
Index文件不会用不就狗带了吗,注意index文件的格式,其实就是只有电脑能看你不能看的二进制,所以千万不要尝试打开,否则会是一堆乱码,感觉自己弄错了emmm,打开index文件是一些.ht2格式的文件,参考基因组有几条染色体就有几个这样的文件,但是运行HISAT2的时候千万不要在文件名后面加上后缀!要不然会报错的~
原始数据质量检查:
fastqc -o ~/rnaseq/data/qc -t 6 --extractSRR3589959_1.fastq.gz SRR3589959_2.fastq.gz SRR3589960_1.fastq.gz SRR3589960_2.fastq.gz
去除接头和低质量reads:
trim_galore-output_dir ~/rnaseq/data/clean --paired --length 40 --quality 25 SRR3589959_1.fastq.gz SRR3589959_2.fastq.gz
trim_galore-output_dir ~/rnaseq/data/clean --paired --length 40 --quality 25SRR3589960_1.fastq.gz SRR3589960_2.fastq.gz
去除接头和低质量reads之后又做了一次质量检查,但是似乎没有什么效果,emmmm。
fastqc -o ~/rnaseq/data/clean/qc -t 8--extract SRR3589959_2_val_2.fq.gz SRR3589959_1_val_1.fq.gzSRR3589960_1_val_1.fq.gz SRR3589960_2_val_2.fq.gz
序列比对:
hisat2 -p 6 --dta -t -x~/rnaseq/data/ref/genome -1 ~/rnaseq/data/clean/SRR3589959_1_val_1.fq -2~/rnaseq/data/clean/SRR3589959_2_val_2.fq -S SRR3589959.sam
hisat2 -p 6 --dta -t -x~/rnaseq/data/ref/genome -1 ~/rnaseq/data/clean/SRR3589960_1_val_1.fq -2~/rnase
q/data/clean/SRR3589960_2_val_2.fq -SSRR3589960.sam
将.sam格式的文件排序并转换成.bam:
samtools sort -@ 6 -o SRR3589959.bam~/sam/SRR3589959.sam
samtools sort -@ 6 -o SRR3589960.bam~/sam/SRR3589960.sam
将比对好的转录本进行assembly:
stringtie -p 6 -G mus.gff -o control.gff -lcontrol SRR3589959.bam
stringtie -p 6 -G mus.gff -o shrna.gff -lshrna SRR3589960.bam
将所有转录本进行合并,至于为啥要合并,看:https://www.jianshu.com/p/1f5d13cc47f8
stringtie --merge -p 6 -G mus.gff -omerge.gff control.gff shrna.gff
对合并后的文件与参考基因组的注释文件进行比较:
gffcompare -r mus.gff -G -o mergedmerge.gff
评估转录本丰度并为下一步的可视化做准备:
stringtie -e -B -p 6 -G merge.gff -o~/sam/bam/ballgown/SRR3589959.gff SRR3589959.bam
stringtie -e -B -p 6 -G merge.gff -o~/sam/bam/ballgown/SRR3589960.gff SRR3589960.bam