【块】生信上游-4 HISAT2

  • 很接近bowtie2与bwa

1. 基本流程

1.1. 建立参考基因组
hisat2-build
可为UCSC、NCBI、Ensembl等来源的fasta文件,多个文件以逗号分隔
1.2. 比对样本reads
hisat2
输出为SAM文件
1.3. 下游SAMtools/BCFtools分析
samtools view将SAM转化为BAM
samtools sort将BAM转化为sorted BAM
sorted BAM方便长期储存
samtools mpileup,bcf view产生VCF文件

2. 安装搭建

下载链接:
HISAT2:Download | HISAT2 (daehwankimlab.github.io)
NCBI-NGS:https://github.com/ncbi/ngs/wiki/Downloads

  1. 下载后解压,转到当前目录后make
  2. HISTAT2可直接支持sra数据,需要安装NCBI-NGS,make并设置参数如下:
make USE_SRA=1 NCBI_NGS_DIR=/path/to/NCBI-NGS-directory NCBI_VDB_DIR=/path/to/NCBI-NGS-directory
  1. 将一下所有路径添加进PATH:hisat2, hisat2-align-s, hisat2-align-l, hisat2-build, hisat2-build-s, hisat2-build-l, hisat2-inspect, hisat2-inspect-s and hisat2-inspect-l

3. 函数的书写

一些选项的参数不是常数,而是输入一个函数。所以有特定的函数表达方式如下:
参数:F、常数:C、系数:A
函数类型:L线性、C常数、S平方根、G log
示例:L,-0.4,-0.6等同于f(x) = -0.4 + -0.6 * x、G,1,5.4等同于f(x) = 1.0 + 5.4 * ln(x)

4. indexer

短于4 billion nucleotides的参考序列,建立32-bit的small index,扩展名.ht2
较长时,建立64-bit的large index,扩展名.ht2l
wrapper scripts会自动区分处理两种index
running time 和 memory usage之间的平衡-p/--packed, --bmax/--bmaxdivn, 和 --dcv
hisat2-build会自动选择时间和内存的平衡点,-a/--noauto可取消
4.1. 主要参数
-f:<reference_in>:逗号分隔的fasta文件,-c输入序列
<ht2_base>:indexer输出文件
4.2. 其他参数

  • 涉及很多比对原理
    --large-index:强制作large index
    -a/--noauto:自动选择下面两个参数
    --bmax:一个格子里更多序列
    --bmaxdivn:一个格子里更多参考组百分比
    --dcv:difference-cover sample,越大,占内存越小,索引更慢
    --nodc:difference-cover sample关闭
    -r/--noref:不创建NAME.3.ht2 and NAME.4.ht2,bitpacked参考序列,主要用于双末端比对
    -3/--justref:只创建NAME.3.ht2 and NAME.4.ht2
    -o/--offrate:在不同的基因位置做标记,越大速度越快,内存占的越大。默认4
    -t/--ftabchars:为基因位置作ftab,越大速度越快,内存越大。默认10
    --localoffrate:为local index做标记
    --localftabchars:为local index作ftab
    -p:多线程,默认1
    --snp:提供snp信息(HISAT2自建的格式)
  • 网站提供了脚本从dbSNP file和 VCF file提取
    --haplotype:提供haplotype信息(HISAT2自建的格式),上述脚本也可用
    --ss:提供splice site信息(HISAT2自建的格式)
  • 提供了脚本从GTF文件提取splice sites
    --exon:提供exons信息(HISAT2自建的格式)
  • 提供了脚本从GTF文件提取exons
    --seed
    --cutoff:忽略参考组的前几个碱基
    -q/--quiet:只报错
    -h/--help:Print usage information and quit.
    --version:Print version information and quit.

5. 比对

HISAT2默认会soft-clip,即将一些5端与3端的碱基惩罚降低。
--sp设置惩罚值,--no-softclip可取消soft-clip
5.1. 主要参数(输入与输出)
-x:index file 不需加后缀
-1:read1 需要后缀
-2:read2
-U:unpaired reads
--sra-acc:sra accession number
-S:SAM output
5.2. 输入参数
-q:输入是fastq
-qseq:输入是qseq文件
-f:fasta文件
-r:一个序列一个文件
-c:命令行直接输入,逗号分隔序列
-s/--skip:跳过一定reads
-u:仅比对一定reads
-5:5端切碱基
-3:3端切碱基
--phred33:碱基质量格式
--phred64:碱基质量格式
--solexa-quals:Solexa转为phred
--int-quals:数字格式质量分数
5.3. 比对参数
--n-ceil:输入函数,根据read长度设置N上限,默认L,0,0.15
--ignore-quals:计算mismatch惩罚时,默认忽视该碱基的质量分数
--nofw/--norc:
5.4. 评分参数
--mp MX,MN:惩罚分数,默认6,2
--sp MX,MN:soft-clip惩罚分数,默认2,1
--no-softclip:
--np:N惩罚,默认1
--rdg:read gap和extend惩罚,默认Default: 5, 3
--rfg:reference gap和extend惩罚,默认5, 3
--score-min: 输入函数,根据read长度设置valid比对的下限,默认L,0,-0.2

  • bowtie2写的比较详细,建议去看一下
    5.5. 剪切点(splice sites)惩罚
    5.6. 报告参数
    -k:报告k个比对序列,值得注意的是HISAT2的匹配并非匹配到最优匹配,仅仅是找到较合适的匹配
    --max-seeds:seed-and-extend approaches,越大,运行越慢。默认值时maximum of 5 and -k为2
    -a/--all:报告所有比对结果,等同于--max-seeds、-k均设置为最大值
    5.7. 双末端
    -I/--minins:最短匹配长度
    -X/--maxins:最长匹配长度,与-X差别越大,运行越慢,因为需要更细致的比对
    --fr/--rf/--ff:定义双末端匹配方式,--fr为默认,较适合Illumina
    --no-mixed:默认若找不到paired匹配,则为单末端寻找匹配,该选项可取消
    --no-discordant:默认为双末端各自寻找匹配,该选项可取消
    5.8. 输出参数
    -t/--time:输出wall-clock time
    --un, --un-gz, --un-bz2:输出unpaired reads
    --al, --al-gz, --al-bz2:输出unpaired reads that align at least once
    --un-conc,--un-conc-gz,--un-conc-bz2:输出paired-end reads that fail to align concordantly
    --al-conc,--al-conc-gz,--al-conc-bz2:输出paired-end reads that align concordantly at least once
    --quiet:不输出
    --summary-file:alignment summary
    --new-summary:alignment summary in a new style, which is more machine-friendly
    --met-file
    --met-stderr
    --met
    5.9. SAM参数
    --no-unal:不输出没比对上的序列
    --no-hd:不输出header
    --no-sq:不输出@SQ header
    --rg-id:SAM添加@RG header
    --rg:添加@RG header
    --remove-chrname:去除‘chr’这三个字母
    --add-chrname
    --omit-sec-seq
    5.10. 运行参数
    -p:多线程
    --reorder:SAM ordered,会导致跑得慢
    --mm:Use memory-mapped I/O to load the index, rather than typical file I/O
    --seed:pseudo-random number generator,默认0
    --version:Print version information and quit.
    -h/--help:Print usage information and quit.

6. index inspector

提取index的信息,以及参考组信息
-a/--across:每行多少个碱基
-n/--names:输出参考序列名
-s/--summary:输出参考序列信息
--snp:Print SNPs, and quit.
--ss:Print splice sites, and quit.
--ss-all:Print splice sites including those not in the global index, and quit.
--exon:Print exons, and quit.
-v/--verbose:Print verbose output (for debugging).
--version:Print version information and quit.
-h/--help:Print usage information and quit.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,698评论 5 463
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,711评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,795评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,699评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,567评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,423评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,822评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,467评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,755评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,789评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,577评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,418评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,837评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,054评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,355评论 1 254
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,820评论 2 343
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,027评论 2 338

推荐阅读更多精彩内容