9 个不稳定版本 (4 个重大更改)
使用旧的 Rust 2015
0.8.3 | 2024年2月22日 |
---|---|
0.8.1 | 2024年2月12日 |
0.7.2 | 2023年10月28日 |
0.4.4 | 2022年3月17日 |
0.1.12 | 2018年4月30日 |
#15 in 生物学
每月下载量 119
165KB
2.5K SLoC
Fasten
一个强大的交错 fastq 文件操作套件。可执行文件可以读取/写入 stdin
和 stdout
,并且与交错 fastq 格式兼容。这使得使用 Unix 管道执行流操作变得容易得多。
概要
读取度量
$ cat testdata/R1.fastq testdata/R2.fastq | \
fasten_shuffle | fasten_metrics | column -t
totalLength numReads avgReadLength avgQual
800 8 100 19.53875
读取清理
$ cat testdata/R1.fastq testdata/R2.fastq | \
fasten_shuffle | \
fasten_clean --paired-end --min-length 2 | \
gzip -c > cleaned.shuffled.fastq.gz
$ zcat cleaned.shuffled.fastq.gz | fasten_metrics | column -t
totalLength numReads avgReadLength avgQual
800 8 100 19.53875
# No reads were actually filtered with cleaning, with --min-length=2
安装
从源安装
Fasten 使用 Rust 编程语言编写。有关 Rust 的更多信息,包括安装和可执行文件 cargo
,请访问 rust-lang.org。
下载后,使用 Rust 可执行文件 cargo
如下所示
cd fasten
cargo build --release
export PATH=$PATH:$(pwd)/target/release
所有可执行文件都将位于目录 fasten/target/release
中。
注意:有一些 Makefile
方法可以帮助包括
make all
以创建以下内容make release
安装快速可执行文件make debug
快速安装可执行文件(尽管可执行文件将不会被优化)make fasten/doc
编译最新文档
make clean
卸载本地二进制文件
不使用 git
的安装
您还可以使用以下命令直接从 https://crates.io 安装 Fasten
cargo install fasten
关于如何工作的详细信息可以在货物手册中找到,手册地址为 https://doc.rust-lang.net.cn/cargo/commands/cargo-install.html。
通用用法
所有脚本都接受参数,从stdin读取未压缩的fastq格式,并将未压缩的fastq格式打印到stdout。所有配对端fastq文件必须为交错格式,除非使用fasten_shuffle
进行去交错。
--帮助
--numcpus
并非所有脚本都会利用numcpus。(目前尚未实现)--paired-end
输入读取为交错配对端--verbose
打印更多状态消息
文档
请参阅 https://lskatz.github.io/fasten/fasten 中的内联文档。
本文档是用以下命令构建的:cargo doc --no-deps
其他文档
- 一些包装脚本在 scripts 页面中注明。
贡献
有关如何贡献的说明可以在 CONTRIBUTING.md 中找到。
Fasten 脚本描述
所有可执行文件都读取和写入fastq格式,除了fasten_convert
。
可执行文件 | 描述 |
---|---|
fasten_clean |
修剪并清理fastq文件。 |
fasten_convert |
在fastq、sam、fasta等不同序列格式之间进行转换。 |
fasten_straighten |
将任何fastq文件转换为每条条目四行标准的格式。 |
fasten_metrics |
打印基本读取度量。 |
fasten_pe |
根据读取ID确定配对端。 |
fasten_randomize |
随机化输入中的读取。 |
fasten_combine |
合并相同读取并更新质量分数。 |
fasten_kmer |
计数kmer。 |
fasten_normalize |
使用kmer计数来归一化读取深度。 |
fasten_sample |
下采样读取。 |
fasten_shuffle |
随机化或去交错配对端读取。 |
fasten_validate |
验证您的读取(已被fasten_inspect 和fasten_repair 取代) |
fasten_inspect |
向读取ID添加信息,例如seqlength |
fasten_repair |
修复损坏的读取 |
fasten_quality_filter |
如果质量低,则将核苷酸转换为"N"。 |
fasten_trim |
平端修剪读取 |
fasten_replace |
使用正则表达式查找和替换 |
fasten_mutate |
引入随机突变 |
fasten_regex |
使用正则表达式过滤读取 |
fasten_progress |
向管道中的任何位置添加进度 |
fasten_sort |
对fastq条目进行排序 |
词源
许多脚本都受到fastx工具集的启发,我想制作一个名为fasty
的程序,但这个名字已经是生物信息学程序的名字了。因此,我遍历了字母表的其余部分,发现了"N"。因此,这个项目可以发音为"Fast-N"或以表明您通过"fasten"(无声的"T")来确保您分析的方式。
引用
要引用,请参阅Katz等人,(2024)。Fasten:对fastq文件进行流操作的工具包。开源软件杂志,9(94),6030,https://doi.org/10.21105/joss.06030
依赖关系
~10MB
~166K SLoC