转录组学习五(reads比对)

转录组学习一(软件安装)
转录组学习二(数据下载)
转录组学习三(数据质控)
转录组学习四(参考基因组及gtf注释探究)
转录组学习五(reads的比对与samtools排序)
转录组学习六(reads计数与标准化)
转录组学习七(差异基因分析)
转录组学习八(功能富集分析)

任务

  • 各种比对软件的简单探究
  • 比对软件hisat2 明白其基本用法
  • 将fastq文件的reads比对到index参考基因组上得到SAM文件
  • 用samtools将SAM文件转为BAM文件,并且排序索引好
  • 对BAM文件进行简单的QC。

前言

对于有参转录组的分析可基本分为:<font color = darkblue>fastq原始测序文件的质控、参考基因组的获取、fastq文件的reads比对到参考基因组上(mapping)、比对的reads的计数、表达定量、差异基因的分析;融合基因的检测、可变剪接新转录本,RNA编辑和突变的检测</font>。前面的四节只能算是一些基本数据的探究和准备,从这一节reads的比对开始才算是真正进入转录组分析的核心部分。(奈何特么最近忙到爆,整天被push[摊手][摊手][摊手][摊手][摊手]估计进展会放慢了。11/5)

<font color=orange>各种比对软件的简单探究</font>

参考文献:2017年发表在NATURE COMMUNICATION上的一篇Gaining comprehensive biological insight into the transcriptome by performing a broad-spectrum RNA-seq analysis文章对现在RNA-seq所涉及的所有软件都进行了评估,探究了各种软件的好坏,另外在几篇公众号文章里皆对此篇文章有较为详细的解读转录组分析工具哪家强?

  • <font color= darkblue>拿到了RNA-seq的data后可以做的数据处理流程:</font>

    image

  • <font color= darkblue>简单看一下里面所设计到的各个软件名字,很多都没见过,不过就当留个印象吧</font>

    • RNA editsGIREMI, multiple-samples, pooled-samples
    • SNP/IndelGATK3, SAMtools
    • RNA fusions: JAFFA, FusionCatcher, SOAPfuse, STAR-Fusion, TopHat-fusion
    • ==Short reads== mapping: Tophat, STAR, HISAT2
    • Transcript assembly: cufflinks, StringTie #有参的比对完组装
    • De novo assembly: Oases, trinity, SOAPdenovo-Trans#无参 从头组装
    • ==Long reads== correction: ccs, error-free, SLR RNA-seq
    • Mapping and alignment: LSC, LoRDEC, GMAP, STARlong
    • ==表达定量相关==Alignment-free isoform quantification: Sailfish, kallisto, Salmon-SMEM, Salmon-Quasi
    • Abundance estimation to expression: Cufflinks, IDP, StringTie, eXpress, Salmon-Aln, featureCounts
    • Differential analysis to Differential expression: Sleuth, Cuffdiff, edgeR, DESeq2, Ballgown, limma
  • <font color= darkblue>最后推荐对于RNA-seq数据处理每一步最佳的软件推荐流程:</font>

    image

  • 结果可知:对于此次有参考基因组的转录组短reads比对部分 ,最佳使用的软件就是HISAT2,STAR软件。

    • 基于参考基因组的转录组组装:二代数据用StringTie, Cufflinks;三代数据用Pac-bio的软件Iso-Seq。二代和三代杂交拼接,用IDP(Isoform Detection and Prediction)。比对软件GMAP,STAR-long
    • 转录组拼装质量评估依据GENCODE v19的参考转录组注释,不存在于这个集合的转录本视为假阳性。
  • 剩下来关于转录组拼接和表达定量,差异分析内容等后期测试数据的时候再好好学习一下。

<font color=orange>HISAT2 及其基本使用方法</font>

ps:Hisat2软件算是我最开始接触生物信息分析,接触转录组分析所了解到的第一个软件了吧。记得是今年5月份在雁栖湖去蹭的一门生物信息实践课上老师给推荐了这篇HISAT2的文章Transcript-level expression analysis of RNA-seq experiments with HISAT, StringTie and Ballgown.。当时记得跟着这篇Pipeline,是一行命令一行命令的输,花了几天时间终于把这个流程走了一遍。虽然当时很多东西都不懂,但也算是开启了我的学生物信息,数据处理,计算机知识的开篇启蒙式文章吧。

  1. 首先,官方网站及其ManualHISAT2:
    graph-based alignment of next generation sequencing reads to a population of genomes

  2. 建立参考基因组的索引index文件
    短的reads是需要比对到参考基因组上然后确定定位到特定基因组序列上的reads的数量才能进一步确定表达量。比对到参考基因组上就是先将参考基因组的genome用算法转换成index,众多比对软件所使用的比对算法不同。

# 建立参考基因组hg19和hg38的index索引,这一步是十分花时间的,加了个-p 多线程还花了好几个小时。

# 提取gtf文件可变剪接的位置
hisat2_extract_splice_sites.py Homo_sapiens.GRCh38.87.chr.gtf > hg38.ss

# 提取gtf文件外显子的位置
hisat2_extract_exons.py Homo_sapiens.GRCh38.87.chr.gtf >hg38.exon

#建立索引
hisat2-build --ss hg38.ss --exon hg38.exon [输入基因组文件]Homo_sapiens.GRCh38.dna.primary_assembly.fa [输出地址及名称]hg38

  1. 软件基本用法及参数选择

基本默认hisat2用法:
<font color=red>hisat2 [options]* -x <ht2-idx> {-1 <m1> -2 <m2> | -U <r> | --sra-acc <SRA accession number>} [-S <sam>]</font>

- **[option]** :可选参数,各种参数才是进阶里的名堂。比如

input: --phred33, --phread64,--sra-acc
alignment: --ignore-quals,
Spliced Alignment: 可变剪接相关
Scoreing, Reporting -p 多线程
- -x:参考基因组的位置ucsc_hg38/hg38;
- -1,-2双末端测序,or -U 单端测序
- -S:输出文件,文件夹/ .sam 文件

# 处理多个文件:对于56~58为人类的数据,3个循环即可
for i in `seq 56 58`
do
nohup hisat2 -x /sas/supercloud-kong/wangtianpeng/Database/human/hg19/genome -1 ~/1_raw_data/SRR35899${i}_1.fastq.gz -2 ~/1_raw_data/SRR35899${i}_2.fastq.gz -S ~/4_mapping/SRR35899${i}.sam &
done

  1. 比对结果:
    image
    • 根据结果可知: 3个样本平均是96%左右比例的reads是比对上的,其中28.6M的reads里,1.8M未比对上,24.6M的reads确切的一次比对上,2.2M比对超过1次。
    • 其中对于未必对上的1.8M里,不按顺序来,3.24%比对上一次,剩下来的用单端数据比对,32.11%比对上一次。

对于结果还需要进一步的解读,比如1. 比对上多次该如何解释呢?这个对结果有什么影响吗?2. 未比对上的6.41%里面又是如何处理的呢,该如何解读,对比对结果有什么影响吗?

<font color=orange>用samtools将SAM文件转为BAM文件,并且排序索引好</font>

参考文章:SAMtools介绍操作SAM/BAM 文件SAM格式文件说明

  1. <font color=darkblue>Samtools软件参数说明</font>:
    1. -view:将Sam文件转换为bam文件,然后才能对bam文件进行各种操作,比如数据的排序和提取,最后将排序或提取的数据输出为bam或者sam格式;基本命令转换:samtools view -Sb SRR56.sam > SRR56.bam;查看bam文件:samtools view SRR56.bam | less -S
    2. -sort, index:排序,然后建立索引。samtools sort eg2.bam eg2.sorted, samtools index .sorted默认按照染色体位置进行排序,而-n参数则是根据read名进行排序。当然还有一个-t 根据TAG进行排序
    3. faidx: ==对fasta文件建立索引,生成的索引文件以.fai后缀结尾。可以快速提取部分序列==
    4. merge/cat:整合聚合多个排序的bam文件
    5. tview:tview能直观的显示出reads比对基因组的情况。
    6. flagstat: 统计比对结果
    7. depth: 得到每个碱基位点的测序深度
Usage: samtools faidx  [ [...]]

对基因组文件建立索引
$ samtools faidx genome.fasta
#生成了索引文件genome.fasta.fai,是一个文本文件,分成了5列。第一列是子序列的名称;第二列是子序列的长度;个人认为“第三列是序列所在的位置”,因为该数字从上往下逐渐变大,最后的数字是genome.fasta文件的大小;第4和5列不知是啥意思。于是通过此文件,可以定位子序列在fasta文件在磁盘上的存放位置,直接快速调出子序列。

#由于有索引文件,可以使用以下命令很快从基因组中提取到fasta格式的子序列
$ samtools faidx genome.fasta scffold_10 > scaffold_10.fasta    
    
  1. <font color=darkblue>SAM文件说明</font>
    • SAM是一种序列比对格式标准,由sanger制定,是以TAB为分割符的文本格式。主要应用于测序序列mapping到基因组上的结果表示,当然也可以表示任意的多重比对结果。
    • SAM要处理的问题包括:序列(read),mapping到多个参考基因组(reference)上;
      同一条序列,分多段(segment)比对到参考基因组上;
      无限量的,结构化信息表示,包括错配、删除、插入等比对信息;
    1. read 名称
    2. SAM 标记
    3. Chromesome
    4. 5′端起始位置
    5. MAPQ(mapping quality,描述比对的质量,数字越大,特异性越高)
    6. CIGAR字串,记录插入,删除,错配以及splice junctions(后剪切拼接的接头)
    7. mate名称,记录mate pair信息
    8. mate位置
    9. 模板长度
    10. reads序列
    11. reads质量
    12. 程序用的标记
  2. <font color=darkblue>具体转换bam文件、对bam文件排序、生成索引</font>
for i in `seq 56 58`
do 
samtools view -S ../4_mapping/SRR35899${i}.sam -b > ./SRR35899${i}.bam
samtools sort ./SRR35899${i}.bam -o ./SRR35899${i}_sorted.bam
samtools index ./SRR35899${i}_sorted.bam
done
  1. 生成结果文件
    image

<font color=orange>对BAM文件进行简单的QC</font>

  • 比对结果的质控主要包括:比对上的reads占总reads的百分比;Reads比对到外显子和参考链上的覆盖度是否一致;比对到参考基因组,多重比对reads。

  • 根据他人文章所述,对BAM文件进行QC的软件包括:

    • RSeQC(依赖于Python2.7的一个软件,利用conda创建新环境)
    • Qualimap:对二代数据进行质控的综合软件,可以学学
    • Picard:综合质控学习软件。
  • 简单的用bamtools进行质控

bamtools -in SRR56.bam 
qualimap bamqc -in SRR56.bam 
  • 结果:
    [图片上传失败...(image-191ea6-1522327436872)]
    image

参考文献

  1. [转录组分析工具哪家强?]https://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247484106&idx=1&sn=687a0def51f6ea91a335754eb3dc9ca9&chksm=ec0dc740db7a4e564e5b1e93a36e5d9447581e262eec9c2983d1d4e76788d673c9c07dec8f8e&scene=21#wechat_redirect
  2. [转录组分析工具大比拼 (完整翻译版)] https://mp.weixin.qq.com/s?__biz=MzI5MTcwNjA4NQ==&mid=2247484106&idx=2&sn=a09fa127d625c4072ae0343795346c56&chksm=ec0dc740db7a4e56821f32f60700027c85db46e81089721d1bbe23ceefa86160d9661c2f2d4c&scene=21#wechat_redirect
  3. 从零开始学转录组(5) 序列比对 [https://mp.weixin.qq.com/s?__biz=MzAxMDkxODM1Ng==&mid=2247484720&idx=1&sn=4bb3e3d2182ffe937d58dc135b4bbd24&scene=21#wechat_redirect]
  4. 转录组入门5-序列比对[http://fbb84b26.wiz03.com/share/s/3XK4IC0cm4CL22pU-r1HPcQQ22cMcc2su4s32f-t6Q1eEC8t]

推荐阅读更多精彩内容