7 个版本 (4 个重大变更)
0.5.1 | 2020 年 5 月 26 日 |
---|---|
0.5.0 | 2019 年 5 月 14 日 |
0.4.0 | 2019 年 2 月 14 日 |
0.3.0 | 2018 年 10 月 16 日 |
0.1.1 | 2018 年 10 月 9 日 |
#147 in 生物学
36 每月下载次数
105KB
2K SLoC
fpa 配对比对过滤器
过滤所有对读比对输出,您可以过滤或选择要写入输出的重叠
- 内部匹配
- 包含
- 接合
- 自我匹配
- 读取名称与正则表达式匹配
- 重叠长度
- 重叠中读取长度
关于内部匹配、包含、接合的定义,请参阅minimap 文章中的算法 5
原理
长读比对工具提供了他们在读数据集中找到的所有匹配项,对于许多用途,其中一些匹配项可能不是很有用,这个程序提供了一些过滤器来删除它们。此软件可以用 awk、bash、python、perl、{您喜欢的语言} 中的简单脚本来替代。
更多细节和一些实验可以在这篇博客文章中找到。我们评估了 fpa 过滤器对 miniasm 组装的影响,您可以在此存储库中找到脚本以及如何获取真实数据集的方法。
用法
fpa -i <input> -o <output> <option> <subcommand: drop | keep | index | rename | gfa>
子命令可以分为两组
- 过滤器(删除、保留),选择要写入输出的重叠
- 生成器(索引、重命名、gfa),从重叠生成新数据
默认情况下,输入和输出是 stdin 和 stdout,因此您可以像这样使用它
minimap2 long_read.fasta long_read.fasta | fpa keep -d | gzip - > only_dovetail.paf.gz
minimap2 long_read.fasta long_read.fasta | fpa drop -l 500 -L 2000 > only_between_500_2000.paf
minimap2 long_read.fasta long_read.fasta | fpa drop -m -n read_1 > no_self_no_match_read_1.paf
minimap2 long_read.fasta long_read.fasta | fpa drop -m rename -o rename.csv > no_self_match_renamed.paf
minimap2 long_read.fasta long_read.fasta | fpa drop -m rename -o rename.csv gfa -o no_self_match_renamed.gfa > no_self_match_renamed.paf
minimap2 long_read.fasta long_read.fasta | fpa drop -l 500 index -t query -f match_upper_500.paf.idx query > match_upper_500.paf
minimap2 long_read.fasta long_read.fasta | fpa -o match_upper_500.paf.bz2 -z bzip2 drop -l 500 index -f match_upper_500.paf.idx -t target
生成器
只有通过过滤器的映射才会由生成器分析
重命名
重命名子命令用另一个名称替换读取的名称。
如果您使用 -i
选项,文件将作为两列 csv 文件读取,第一列是原始名称,第二列对应于新名称
original name1, new name1
original name2, new name2
如果读取的名称在文件中不存在,则不会替换。
如果你使用 -o
,名称将自动替换为一个数字,就像上述示例中创建的文件。
索引
fpa 可以根据文件中读取出现的位置构建记录偏移量索引。
索引文件看起来像这样
read_id1, start_of_range_1:end_of_range_1; start_of_range_2:end_of_range_2;…
read_id2, start_of_range_1:end_of_range_1; start_of_range_2:end_of_range_2;…
fpa 仅在它是查询(记录中的第一次读取)或目标(记录中的第二次读取)或两者同时存在时才进行索引。
Gfa
fpa 可以使用重叠过滤生成重叠图
要求
- Rust >= 1.32
- libgz
- libbzip2
- liblzma
安装
使用 cargo
如果你已经设置了 Rust 环境,你可以运行
cargo install fpa_lr
使用 conda
fpa 可在 bioconda 频道 中获取
如果已设置 bioconda 频道,你可以运行
conda install fpa
从源代码
git clone https://github.com/natir/fpa.git
cd fpa
git checkout v0.5.1
cargo build
cargo test
cargo install
引用
如果你的研究中使用了 fpa,请引用以下出版物
Pierre Marijon, Rayan Chikhi, Jean-Stéphane Varré, yacrd and fpa: upstream tools for long-read genome assembly, Bioinformatics, btaa262, https://doi.org/10.1093/bioinformatics/btaa262
bibtex 格式
@article {@article{Marijon_2020,
doi = {10.1093/bioinformatics/btaa262},
url = {https://doi.org/10.1093%2Fbioinformatics%2Fbtaa262},
year = 2020,
month = {apr},
publisher = {Oxford University Press ({OUP})},
author = {Pierre Marijon and Rayan Chikhi and Jean-St{\'{e}}phane Varr{\'{e}}},
editor = {Inanc Birol},
title = {yacrd and fpa: upstream tools for long-read genome assembly},
journal = {Bioinformatics}
}
依赖关系
~11MB
~166K SLoC