#fasta #tool #toolkit

bin+lib mmft

最小化 fasta 工具包

1 个不稳定版本

0.1.0 2022 年 6 月 26 日

#265 in 生物学

MIT 许可证

47KB
1K SLoC

我的 (Max 的?) 最小化 fasta 工具包

没有复杂的功能。最小化、简单的 fasta 工具。每个程序都包含在 ./src/fasta 目录中,并遵循类似的模板代码,与文件处理相关。

用法

输入 mmft (显示子命令) 或 mmft <子命令> -h (显示特定子命令) 将显示相关工具的用法。

仅在需要时添加命令。如果您喜欢您所看到的,请随时贡献您最喜欢的子命令的 PR。

计算

  • mmft len <fasta(s)>cat <fasta(s)> | mmft len. 计算每个 fasta 记录的长度。
  • mmft gc <fasta()>cat <fasta(s)> | mmft gc. 计算每个 fasta 记录的 GC 含量。
  • mmft n50 <fasta()>cat <fasta(s)> | mmft n50. 计算 fasta 记录的 n50 值(或结合的 fasta 文件流的 n50 值)。
  • mmft num <fasta(s)>cat <fasta(s)> | mmft num. 计算序列数量以及输入 fasta 文件中的总碱基对数。

文件操作

  • mmft regex -r "<regex>" <fasta(s)>cat <fasta> | mmft regex -r "<regex>". 从一个或多个fasta文件中提取标题与正则表达式匹配的fasta记录。
  • mmft extract -r 1-100 <fasta()>cat <fasta> | mmft extract -r 1-100. 从每个fasta记录中提取前100个核苷酸。当然,您可以选择任何范围,使用短横线分隔数字。
  • mmft filter -f <file> <fasta(s)>. 提供一个每行一个ID的文本文件,过滤器将提取相应的fasta记录。
  • mmft merge <fastas>. 将多个fasta文件合并为相同的记录。
  • mmft sample <fasta(s)> -n <N>. 从fasta文件(或fasta文件流)中随机抽取指定数量的记录。

当将数据管道传输到 mmft 时请小心,因为fasta文件不会被单独处理,而是被视为fasta记录的连续体。因此,虽然 mmft n50 1.fasta 2.fasta 分别显示了每个fasta文件的n50,但 cat *.fasta | mmft n50 将计算两个文件合并后的n50。此外,mmft sample 将整个STDIN加载到内存中,因此当管道传输大文件时要小心。

所有输出都将打印到STDOUT。

待办事项

我会在有时间或有需要时添加内容。也许

  • 简单模式匹配,返回位置。
  • 潜在的开放阅读框(ORF)
  • 是否有任何kmer相关的内容?
  • 测试
  • 更好的文档

依赖关系

~18MB
~310K SLoC