生信

Minimap2(2.20)使用记录

2022-07-05  本文已影响0人  谁冒充我小叮当

文章仅是记录自己的学习使用,有错误请指出,我立刻改正!

官方说明:
https://github.com/lh3/minimap2#general
https://lh3.github.io/minimap2/minimap2.html#10
更多说明:
https://www.jianshu.com/p/474ec8754a48
https://www.jianshu.com/p/f67702926928
https://wap.sciencenet.cn/blog-994715-1341509.html

一、Minimap2的安装

#conda安装
conda create -n Minimap2
source activate Minimap2
conda install -c bioconda minimap2
#编译安装
wget https://github.com/lh3/minimap2/archive/refs/tags/v2.20.tar.gz
tar -zxvf minimap2-2.24.tar.gz
cd /minimap2-2.24
make

二、Minimap2的使用

(一)用法概括

# long sequences against a reference genome
./minimap2 -a test/MT-human.fa test/MT-orang.fa > test.sam
# create an index first and then map
./minimap2 -x map-ont -d MT-human-ont.mmi test/MT-human.fa
./minimap2 -a MT-human-ont.mmi test/MT-orang.fa > test.sam
# use presets (no test data)
./minimap2 -ax map-pb ref.fa pacbio.fq.gz > aln.sam       # PacBio CLR genomic reads
./minimap2 -ax map-ont ref.fa ont.fq.gz > aln.sam         # Oxford Nanopore genomic reads
./minimap2 -ax map-hifi ref.fa pacbio-ccs.fq.gz > aln.sam # PacBio HiFi/CCS genomic reads (v2.19 or later)
./minimap2 -ax asm20 ref.fa pacbio-ccs.fq.gz > aln.sam    # PacBio HiFi/CCS genomic reads (v2.18 or earlier)
./minimap2 -ax sr ref.fa read1.fa read2.fa > aln.sam      # short genomic paired-end reads
./minimap2 -ax splice ref.fa rna-reads.fa > aln.sam       # spliced long reads (strand unknown)
./minimap2 -ax splice -uf -k14 ref.fa reads.fa > aln.sam  # noisy Nanopore Direct RNA-seq
./minimap2 -ax splice:hq -uf ref.fa query.fa > aln.sam    # Final PacBio Iso-seq or traditional cDNA
./minimap2 -ax splice --junc-bed anno.bed12 ref.fa query.fa > aln.sam  # prioritize on annotated junctions
./minimap2 -cx asm5 asm1.fa asm2.fa > aln.paf             # intra-species asm-to-asm alignment
./minimap2 -x ava-pb reads.fa reads.fa > overlaps.paf     # PacBio read overlap
./minimap2 -x ava-ont reads.fa reads.fa > overlaps.paf    # Nanopore read overlap

(二)基础用法

#1、在基础用法中,minimap2 将ref和query作为输入并生成近似映射(mapping),没有基本级别的对齐(base-level alignment),即坐标只是近似的,且输出中没有 CIGAR
minimap2 ref.fa query.fq > approx-mapping.paf
#2、在PAF文件中制造CIGAR的cg标签
minimap2 -c ref.fa query.fq > alignment.paf
#3、以SAM 格式输出对齐
minimap2 -a ref.fa query.fq > alignment.sam
#4、建立索引来进行比对
minimap2 -d ref.mmi ref.fa                     # indexing
minimap2 -a ref.mmi reads.fq > alignment.sam   # alignment

(三)三代长reads的基因组比对

#Map long noisy genomic reads(长噪声读取)
minimap2 -ax map-pb  ref.fa pacbio-reads.fq > aln.sam   # for PacBio CLR reads
minimap2 -ax map-ont ref.fa ont-reads.fq > aln.sam      # for Oxford Nanopore reads
# -a:设置输出为sam格式
#-x:对不同类型数据,设置不同参数

(四)查找长reads之间的重叠

minimap2 -x ava-pb  reads.fq reads.fq > ovlp.paf    # PacBio CLR read overlap
minimap2 -x ava-ont reads.fq reads.fq > ovlp.paf    # Oxford Nanopore read overlap

(五)二代短reads的基因组比对

minimap2 -ax sr ref.fa reads-se.fq > aln.sam           # single-end alignment
minimap2 -ax sr ref.fa read1.fq read2.fq > aln.sam     # paired-end alignment
minimap2 -ax sr ref.fa reads-interleaved.fq > aln.sam  # paired-end alignment
#作者在github介绍说Minimap2不适用于短拼接读取(short spliced reads)

(六)全基因组之间或组装水平的比对

minimap2 -ax asm5 ref.fa asm.fa > aln.sam       # assembly to assembly/ref alignment
#asm5/asm10/asm20:asm到ref映射,用于约0.1/1/5%的序列差异
#对于跨物种全基因组比对,评分系统需要根据序列分歧进行调整

三、Minimap2的输出

(一).paf结果:包括核心的12列字段以及其他

##核心12列字段##
Col Description
1   Query序列ID
2   Query序列长度
3   Query比对开始位置(*based)
4   Query比对结束位置(*based)
5   char,如果query/target是正链关系,'+'表示;负链关系,'-'表示
6   Target序列ID
7   Target序列长度
8   Target比对开始位置
9   Target结束开始位置
10  比对上的碱基数 (matching bases)
11  对齐区域长度(包括gaps)
12  比对质量(0-255)
##其他补充信息##
tp    aln类型:P/primary, S/secondary and I,i/inversion
cm    Number of minimizers on the chain
s1    Chaining score
s2    Chaining score of the best secondary chain
NM    otal number of mismatches and gaps in the alignment
MD    To generate the ref sequence in the alignment(在比对过程中生成参考序列)
AS    DP alignment score
SA    List of other supplementary alignments(其他补充比对列表)
ms    DP score of the max scoring segment in the alignment
nn    Number of ambiguous bases in the alignment(对齐中不明确的碱基数)
ts    Transcript strand (splice mode only)
cg    CIGAR string (only in PAF)
cs    Difference string
dv    Approximate per-base sequence divergence
de    Gap-compressed per-base sequence divergence
rl    Length of query regions harboring repetitive seeds

(二). SAM结果:SAM文件由两部分组成,头部区和主体区,都以tab分列

#头部区:以’@'开始,体现了比对的一些总体信息。比如比对的SAM格式版本,比对的参考序列,比对使用的软件等
#主体区:比对结果,每一个比对结果是一行,有11个主列和一个可选列
列   关键字 描述
1   QNAME   Query序列ID
2   FLAG    Bwise FLAG(表示比对类型:paring,strand,mate strand等),如:0,99,256,2048等
3   RENAME  Target序列ID
4   POS 比对到参考序列上的位置,从1开始计数;未比对上为0
5   MAPQ    比对的质量分数(越高说明比对到参考序列的上的位置越准确)。如果是255,说明该比对值无效。
6   CIGAR   简要比对信息表达式
7   MRNM    下一片段比对上的参考序列编号
8   MPOS    下一片段比对上的位置,如果不可用,此处为0
9   ISIZE   插入片段长度
10  SEQ 和参考序列在同一个链上比对的序列(若比对结果在负义链上,则序列是其反向重复序列,反向互补序列)
11  QUAL    比对序列的质量(ASCII-33=Phred base quality)reads碱基质量值
12  Optional Fields 可选的列以TAG:TYPE:VALUE的形式提供额外的信息

(三)FLAG释义和CIGAR string

1、FLAG释义

1 : 代表这个序列采用的是PE双端测序
2: 代表这个序列和参考序列完全匹配,没有插入缺失
4: 代表这个序列没有mapping到参考序列上
8: 代表这个序列的另一端序列没有比对到参考序列上,比如这条序列是R1,它对应的R2端序列没有比对到参考序列上
16:代表这个序列比对到参考序列的负链上
32 :代表这个序列对应的另一端序列比对到参考序列的负链上
64 : 代表这个序列是R1端序列, read1;
128 : 代表这个序列是R2端序列,read2;
256: 代表这个序列不是主要的比对,一条序列可能比对到参考序列的多个位置,只有一个是首要的比对位置,其他都是次要的
512: 代表这个序列在QC时失败了,被过滤不掉了(# 这个标签不常用)
1024: 代表这个序列是PCR重复序列(#这个标签不常用)
2048: 代表这个序列是补充的比对(#这个标签具体什么意思,没搞清楚,但是不常用)

2、CIGAR string

上一篇下一篇

猜你喜欢

热点阅读