minimap2 简单笔记

官网:https://github.com/lh3/minimap2

帮助:https://lh3.github.io/minimap2/minimap2.html

1、使用建议
对于短reads 比对 建议使用bwa ;由于设计算法问题,默认设置上对gap 容忍更高,bwa相对minimap 比对 short reads 准确性更高;

对于基因组之间的比较建议用minimap;长reads 中有较多错误,minimap中可以更好的比对;但是针对ont,pacbio 最好使用预设的参数集选项;

没有笨蛋,只有放错地方的天才;没有不好的软件,只有不会用软件的人

2、有用的参数

--secondary=yes|no
    Whether to output secondary alignments [yes]
#是否输出第二比对结果,默认yes
#用于确定最好比对,不考虑低分的结果
#对于[基因组比对],第二比对,一般比对打分都很低,而且是片段上一小部分 比对到了其他地方


-c  Generate CIGAR. In PAF, the CIGAR is written to the ‘cg’ custom tag.
--cs[=STR]
    Output the cs tag. STR can be either short or long. If no STR is given, short is assumed. [none]
#输出 cs tag [cs 标签]
#如果给了 -c 参数,默认输出短形式的cs tag,这种大多数啊软件都支持识别;但是 long cs tag 很多软件不识别,一般long cs tag使用与三代reads 的比对;不够由于识别软件还不多,这里默认是不会输出 cs tags的


都用于call 变异,建议加上下列参数
-a 生成sam 格式,有CIGAR
--MD  输出 MD tag,与sam 保持格式一致;Sniffles 需要 有-a --MD 参数的minimap2比对
-L  CIGAR with >65535 operators at the CG tag;保证旧软件兼容,因为就软件不会去多CG tag 区域

3、默认输出paf 文件;格式了解下;分析马上安排上

Col Type    Description
1   string  Query sequence name
2   int Query sequence length
3   int Query start coordinate (0-based)
4   int Query end coordinate (0-based)
5   char    ‘+’ if query/target on the same strand; ‘-’ if opposite
6   string  Target sequence name
7   int Target sequence length
8   int Target start coordinate on the original strand
9   int Target end coordinate on the original strand
10  int Number of matching bases in the mapping
11  int Number bases, including gaps, in the mapping
12  int Mapping quality (0-255 with 255 for missing)

格式上开始12列相对好理解
【比对序列,长度,比对坐标[stat ,end ]】,方向是否一致,【目标序列,长度,比对坐标[stat ,end ]】,准确碱基数量,粗略比对上的碱基数量,比对质量[0-255]

12列以后 会有几列有趣的详细信息

Tag Type    Description
tp  A   Type of aln: P/primary, S/secondary and I,i/inversion
cm  i   Number of minimizers on the chain
s1  i   Chaining score
s2  i   Chaining score of the best secondary chain
NM  i   Total number of mismatches and gaps in the alignment
MD  Z   To generate the ref sequence in the alignment
AS  i   DP alignment score
ms  i   DP score of the max scoring segment in the alignment
nn  i   Number of ambiguous bases in the alignment
ts  A   Transcript strand (splice mode only)
cg  Z   CIGAR string (only in PAF)
cs  Z   Difference string
dv  f   Approximate per-base sequence divergence
de  f   Gap-compressed per-base sequence divergence
rl  i   Length of query regions harboring repetitive seeds

一个例子慢慢看

tp:A:P  cm:i:38442      s1:i:398614     s2:i:1347       dv:f:0.0039     rl:i:4767142

# tp
#当前行,是否是第一还是第二比对,
#P/primary, S/secondary and I,i/inversion
#inversion倒置的还没见过
tp:A:P
tp:A:S
tp:A:i


cg:Z:83M1D232M7I1M6D552M1D6M1I550M1D2M1D140M    
“M”表示 match或 mismatch;
“I”表示 insert;
“D”表示 deletion;
“N”表示 skipped(跳过这段区域);
“S”表示 soft clipping(被剪切的序列存在于序列中);
“H”表示 hard clipping(被剪切的序列不存在于序列中);
“P”表示 padding;
# 使用--eqx  参数后“M” 被“=”与“X” 替代,修改版的pbmm2 固定使用--eqx 
“=”表示 match;
“X”表示 mismatch(错配,位置是一一对应的,但是碱基不同);

#The hard clipping operation H indicates that the clipped sequence is not present in the sequence field.

以下参考自:[https://www.cnblogs.com/leezx/p/6105646.html](https://www.cnblogs.com/leezx/p/6105646.html)

clipped alignment因为着在比对过程中,并没有用到全部的read的序列,read两段的序列被截取了(clip or trim)。如下表示,即为clip alignment。

Alignment:
Read:          ACGGTTGCGTTAA-TCCGCCACG
                               |                           ||||||||| ||||||
Reference: TAACTTGCGTTAAATCCGCCTGG

与clipped alignment对应的是spliced alignment,即read的中间没有比对到而两段比对上了。对应的表示如下:

Alignment:
Read:          ACGGTTGCGTTAAGCTCATCCGCCACG
|                 |||||||||||||         |||||||||
Reference: ACGGTTGCGTTAA…..TCCGCCACG

clip alignment对应的CIGAR表示有两种S (soft clip) 和H (hard clip)

注意cigar 在不同软件中的兼容性;可用软件jvarkitbiostar234081 转换

Chaining score 链打分,reads拆分为 minizimers,多个连续比对的minizmier称为anchors, colinear anchors 作为 chains,之后根据chains 作为分析比较打分的对象;对照ngmlr ,Reads 根据比对中大的indel拆分为 subsegment ,colinear subsegment alignments 作为long segments ,以long segments作为比对打分的对象。

如 三代reads 比对,总会有有一些indel 导致reads 不能很好比对而分为多个部分比对到参考基因组;而这多个部分构成的打分则是Chaining score
cigar 值 中就可以看到频繁的在M之间插入了其它比对状态

cs 标签 和sam 格式中的类似,比较正要,sam 格式输出中 short 短形式可被旧软件识别, long cs tag 长标签 很多软件还不能完全支持

The cs tag encodes difference sequences in the short form or the entire query AND reference sequences in the long form. It consists of a series of operations:

Op  Regex   Description
=   [ACGTN]+    Identical sequence (long form)
:   [0-9]+  Identical sequence length
*   [acgtn][acgtn]  Substitution: ref to query
+   [acgtn]+    Insertion to the reference
-   [acgtn]+    Deletion from the reference
~   [acgtn]{2}[0-9]+[acgtn]{2}  Intron length and splice signal



上个例子
cs:Z::48*ag:2*ag:21*tc*tc:8-t:2*ag:5*tc:2*ag:4*ct*ac*ct:2*tc*ct:2*ag:4*ag:17*ga:2*ag*tc:9*ag:5*tc:23*ag:11*ta:1*ag*ct:21*tc:10*tc:21*tc:30*ag:7*ct:6*ag*ga*ct:7*ag:13+ttctttt:1-cacccc:19*ct:1*ct:12*ag:6*ct*ca:2*tc:1*ga:1*ct:8*ga:19*ct:24*ag:42*ct:1*ct:134*tc:47*tc:2*ag:13*tc:1*ct:4*ga:30*ag*ga:28*ct*ct:20*tc:7*tc:1*ag:89*ct:9*ct:3-a:1*ag:4+t:1*tc*tc:13*tc:6*tc:12*ag:19*tc:14*ag:16*tg:21*ag*ag:7*tc:1*ag:11*ct:1*tc:3*tc:2*ag:2*gc:11*ac:16*ca*tc:5*tc:8*ga*ac:5*tc:2*ga:10*tc:7*tc:21*ga*ac:2*ct:1*tc:11*tc:1*tc:7*ct:17*ta*tc:1*tc:9*tc:2*tc:19*ag:6*ct:22*tc:23*tc:27*tc:1*at*ga:52*ag:49*tc:25*ga:1*ct*ct:9-t:2-a:8*tc:10*ct:2*tc:5*ct:18*ga:19*ga*ta:1*ga:13*tc*ta*tc:12*ag:4*tc:11*ct:23

参考:
# Difference between Hard Clip(H) and Soft Clip(S) in Samtools CIGAR string

https://lh3.github.io/minimap2/minimap2.html
sam/bam格式:源于别人的最全的

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