Mapping -- HISAT2

前言

针对一般人类群体(以及有参考基因组的群体),HISAT2是一种快速灵敏的比对程序,用于绘制第二代测序序列(全基因组,转录组和外显子组测序数据)。是有参转录组常用的比对软件(无参常用bowtie2),HISAT2是TopHat2/Bowtie2的继任者,使用改进的BWT算法,实现了更快的速度和更少的资源占用。

官网:HISAT2


下载安装

  • 源码编译
  1. 下载:Source code
  2. 解压 hisat2-2.1.0-source.zip
  3. 切换到解压目录
  4. 编译:目录下 make
  5. 将 HISAT2 加入环境变量
  • 二进制文件
  1. 下载:Binary(Linux_x86_64)
  2. 解压 hisat2-2.1.0-Linux_x86_64.zip,包含下面用到的文件(hisat2、xx.py、hisat2-build等)

建立索引

需要参考序列(注释文件)。先建立基因组、转录组、SNP的索引文件,再建立其索引(以下代码在终端中运行,注意你的参考基因组等文件存放位置可能与我不同)。

  1. 建立基因组的索引文件:

    1
    2
    cd hisat2-2.1.0-Linux_x86_64
    extract_exons.py Homo_sapiens.GRCh38.83.chr.gtf > genome.exon
  2. 建立转录组的索引文件:

    1
    extract_splice_sites.py Homo_sapiens.GRCh38.83.chr.gtf > genome.ss
  3. 建立SNP的索引文件:

    1
    extract_snps.py snp142Common.txt > genome.snp
  4. 建立索引:

    1
    hisat2-build -p 4 genome.fa --snp genome.snp --ss genome.ss --exon genome.exon genome_snp_tran

-p 指定线程数,genome_snp_tran 为索引的名称
在第四步时,如果没有前三步会自动建立起 exon、snp、splice sites 文件及其索引,但是提前建立会提高分析效率
前三步在过程中会占用一定的磁盘空间,我的磁盘空间有所不足,所以我选择直接采用第四步,有条件的尽量。所以注释文件可不下载

比对

1
hisat2 -p 16 -x ./grch38_tran/genome_tran -1 SRR534293_1.fastq -2 SRR534293_2.fastq –S SRR534293.sam

注: -p 线程数。-1 fastq文件,-2 另一端fastq文件(支持gzip文件)。-S 输出的SAM文件。

结合samtools

HISAT2通过管道符(|)与samtools结合,将HISAT2输出的SAM文件排序、转化为BAM文件,加速分析流程、节约硬盘空间

1
2
hisat2 -p 4 -x index/genome -1 in/out.E10_1.fq.gz -2 in/out.E10_2.fq.gz | samtools sort -n -o \
out/E10.sorted.bam

批量化处理

借助bash,批量化处理

1
2
3
4
5
6
7
8
9
#!/bin/bash

for i in 10 11; do
{
hisat2-2.1.0/hisat2 -p 4 -x index/genome -1 in/out.E${i}_1.fq.gz -2 in/out.E${i}_2.fq.gz \
| samtools sort -n -o out/E${i}.sorted.bam
};
done
wait

参考

  1. 官网:HISAT2
  2. 比对软件hisat2的使用
  3. HISAT2-StringTie-Ballgown有参转录组数据分析
  4. RNA-seq(5):序列比对:Hisat2
-------------本文结束 感谢您的阅读-------------
暖一下
ZJohnson wechat
扫一扫,领红包!
0%