NGMLR 开源项目使用教程
1. 项目介绍
NGMLR(Next Generation Mapping Long Reads)是一个专门设计用于将PacBio或Oxford Nanopore(包括标准和超长读取)的长读取数据映射到参考基因组上的工具。其主要特点是能够快速且准确地映射跨越结构变异的读取,使用SV(Structural Variation)感知的k-mer搜索和带状Smith-Waterman算法来计算最终的映射。NGMLR特别适用于处理包含复杂结构变异的读取数据。
2. 项目快速启动
2.1 下载与安装
2.1.1 下载预编译版本
wget https://github.com/philres/ngmlr/releases/download/v0.2.7/ngmlr-0.2.7-linux-x86_64.tar.gz
tar xvzf ngmlr-0.2.7-linux-x86_64.tar.gz
cd ngmlr-0.2.7/
2.1.2 使用Docker
docker run -ti -v /home/user/data/:/home/user/data/ philres/ngmlr ngmlr -r /home/user/data/ref.fa -q /home/user/data/reads.fasta -o /home/user/data/output.sam
2.2 运行示例
2.2.1 对于PacBio数据
ngmlr -t 4 -r reference.fasta -q reads.fastq -o test.sam
2.2.2 对于Oxford Nanopore数据
ngmlr -t 4 -r reference.fasta -q reads.fastq -o test.sam -x ont
3. 应用案例和最佳实践
3.1 案例1:人类基因组结构变异检测
NGMLR可以用于检测人类基因组中的结构变异,特别是那些跨越复杂结构变异的读取。通过与Sniffles等结构变异检测工具结合使用,可以提高结构变异的检测精度。
3.2 案例2:植物基因组分析
在植物基因组分析中,NGMLR可以用于映射长读取数据,帮助研究人员识别基因组中的复杂结构变异,如倒位、插入和缺失等。
3.3 最佳实践
- 多线程运行:使用
-t
参数指定多个线程以加快映射速度。 - 参数优化:根据具体数据类型(如PacBio或Oxford Nanopore)选择合适的参数预设(
-x
)。 - 质量控制:使用
--min-identity
和--min-residues
参数过滤低质量的映射结果。
4. 典型生态项目
4.1 Sniffles
Sniffles是一个专门用于检测结构变异的工具,与NGMLR结合使用可以显著提高结构变异的检测精度。
4.2 Pilon
Pilon是一个用于基因组组装后纠错的工具,可以与NGMLR结合使用,提高基因组组装的准确性。
4.3 GATK
GATK(Genome Analysis Toolkit)是一个广泛使用的基因组分析工具包,NGMLR的映射结果可以作为GATK的输入,用于进一步的基因组变异分析。
通过这些生态项目的结合使用,NGMLR可以在基因组分析的多个环节中发挥重要作用,提高整体分析的准确性和效率。