19 个版本
新 0.3.10 | 2024 年 8 月 19 日 |
---|---|
0.3.9 | 2024 年 7 月 23 日 |
0.3.7 | 2024 年 3 月 12 日 |
0.3.5 | 2023 年 11 月 23 日 |
0.2.3 | 2023 年 2 月 20 日 |
#50 在 生物学
每月 162 次下载
200KB
3.5K SLoC
分割 K-mer 分析(版本 2)
描述
这是由 Johanna von Wachsmann、Simon Harris 和 John Lees 在 Rust 语言中重新实现的 SKA 软件包。我们还要感谢以下用户对我们的贡献:
- Romain Derelle
- Tommi Maklin
- Joel Hellewell
- Timothy Russell
- Nicholas Croucher
- Dan Lu
分割 k-mer 分析(版本 2)通过精确匹配分割 k-mer 序列来对密切相关序列进行对齐,通常用于细菌和病毒等小型单倍体基因组。
SKA 只能对 k-mer 长度之外的 SNPs 进行对齐,不使用间隙惩罚方法或给出对齐得分。但其优点是速度和灵活性,尤其是能够在无参考模式下运行(即包括辅助基因组变异)在组装和读取中。
文档
可以在 https://docs.rs/ska 找到。我们还有一些教程可供使用
安装
选择以下方式
- 从 发布 下载二进制文件。
- 使用
cargo install ska
或cargo add ska
。 - 使用
conda install -c bioconda ska2
(注意两个!)。 - 从源代码构建
对于 2) 或 4),您必须已安装 rust 工具链。
OS X 用户
如果您使用的是M1/M2(arm64)Mac,我们目前还没有自动构建二进制文件,因此建议选择2)或4)以获得最佳性能。
如果您收到一条消息说二进制文件未由Apple签名且无法运行,请使用以下命令绕过此限制:
xattr -d "com.apple.quarantine" ./ska
从源代码构建
- 使用以下命令克隆仓库:
git clone
. - 运行以下命令以优化您的机器:
cargo install --path .
或RUSTFLAGS="-C target-cpu=native" cargo install --path .
。
与SKA1的不同之处
优化包括
- 整数DNA编码,优化从FASTA/FASTQ的解析。
- 更快的字典。
- 构建阶段的完全并行化。
- 更小、标准化的输入/输出文件。保存/加载更快。
- 通过读取过滤减少内存占用并提高速度。
以及其他改进
- 多拷贝分k-mer的IUPAC不确定性代码。
- 自我反向互补分k-mer(回文)的不确定性。
- 完全动态文件(合并、删除样本)。
- 原生VCF输出映射。
- 支持已知的链序列(例如RNA病毒)。
- 将数据流到STDOUT或带有
-o
的文件。 - 更简单的命令行结合
ska fasta
、ska fastq
、ska alleles
和ska merge
到新的ska build
。 - 单条命令运行
ska align
或ska map
的选项。 - 针对使用
ska cov
过滤FASTQ文件的新覆盖率模型。 - 日志记录。
- CI测试。
所有这些使ska.rust
的运行速度更快,文件大小和内存占用更小。
计划中的功能
功能想法(尚未确定计划)
您不能再做的事情
- 使用k > 63(这不是必要的?如果您需要此功能,请告诉我们原因)。
ska annotate
(使用bedtools)。ska compare
、ska humanise
、ska info
或ska summary
(已由ska nk --full-info
取代)。ska unique
(如果您想使用此功能,可以解析ska nk --full-info
,但我们认为使用不多)。ska type
(使用PopPUNK而不是MLST)- Ns始终被忽略,不会出现在任何分k-mer中。
.skf
文件与版本1不兼容。
依赖关系
~14–24MB
~333K SLoC