11 个不稳定版本 (3 个破坏性更新)
0.4.0-alpha.5 | 2021 年 2 月 23 日 |
---|---|
0.4.0-alpha.4 | 2021 年 2 月 9 日 |
0.3.2 | 2020 年 11 月 19 日 |
0.3.0 | 2020 年 10 月 17 日 |
0.1.0 | 2020 年 8 月 18 日 |
#215 在 生物学
每月 35 次下载
87KB
2K SLoC
Rust gfautil
用于对 GFA 和相关文件进行各种操作的命令行工具。
用法
使用 cargo 安装
cargo install gfautil
或克隆并构建它
git clone https://github.com/chfi/rs-gfa-utils.git
cd rs-gfa-utils
cargo build --release
编译的二进制文件将位于 target/release/gfautil
。
$ gfautil
gfautil 0.3.2
USAGE:
gfautil [FLAGS] [OPTIONS] -i <input GFA file> <SUBCOMMAND>
FLAGS:
--debug Show debug messages
-h, --help Prints help information
--info Show info messages
--quiet Show no messages
-V, --version Prints version information
OPTIONS:
-i <input GFA file>
-t, --threads <threads> The number of threads to use when applicable. If omitted, Rayon's default will be used,
based on the RAYON_NUM_THREADS environment variable, or the number of logical CPUs
SUBCOMMANDS:
edge-count
gaf2paf Convert a file of GAF records into PAF records
gfa2vcf Output a VCF for the given GFA, using the graph's ultrabubbles to identify areas of variation
help Prints this message or the help of the given subcommand(s)
id-convert Convert a GFA with string names to one with integer names, and back
snps Given a reference path from the GFA, by name, find and report the SNPs for all other paths
compared to the reference.
subgraph Generate a subgraph of the input GFA
ultrabubbles
GAF -> PAF
给定一个 GAF 文件和创建它的 GFA,输出一个从 GAF 记录派生出的 PAF 文件。对于每个 GAF 记录中的每个路径段,都会生成一个相应的 PAF 记录。
将 example.gaf
通过 example.gfa
转换,并将输出输出到 stdout
gfautil -i ./example.gfa gaf2paf --gaf ./example.gaf
将输出保存到 out.paf
gfautil -i ./example.gfa gaf2paf --gaf ./example.gaf -o out.paf
GFA -> VCF
在输入 GFA 中找到超泡,然后使用这些超泡来识别变体。对于每个超泡,从每个嵌入路径中提取超泡覆盖的部分。然后成对比较这些子路径。
可以使用 -u
选项从文件(由 ultrabubbles
命令输出)加载超泡列表,而不是计算它们。
目前变体识别主要基于构成每个路径的节点,并且几乎不考虑序列。
输出为 VCF 格式,输出到 stdout。
gfautil -i ./example.gfa gfa2vcf
有一个设置可以跳过比较一对路径,如果它们的泡开始和结束处的方向不匹配
gfautil -i ./example.gfa gfa2vcf --no-inv
从文件加载超泡列表
gfautil -i ./example.gfa gfa2vcf -u example.ultrabubbles
在 GFA 中对参考路径识别 SNP
给定输入 GFA 中用作参考的路径名称,使用由 gfautil ultrabubbles
命令构建的超泡列表或 SNP 位置列表,识别所有其他路径中的 SNP。
输出一个以制表符分隔的列表,格式如下
<query-path-name>\t<reference base>\t<reference pos>\t<query base>\t<query pos>
SNP 位置可以作为 gfautil
参数的列表提供
gfautil --debug -t 8 -i ./example.gfa snps --ref "reference path name" --snps 1234 5677 1> example.gfa.snps
SNP 位置也可以作为文件提供,每行一个位置
gfautil --debug -t 8 -i ./example.gfa snps --ref "reference path name" --snps-file ./positions.txt 1> example.gfa.snps
从文件中使用超气泡
gfautil -i ./example.gfa snps --ref the_path -u example.bubbles
子图
返回给定GFA的子图。提供段名称列表或路径名称列表。如果提供段名称,则结果子图将包括包含至少一个这些段的行。如果提供路径名称,则使用给定路径中的段。
gfautil -i example.gfa subgraph segments --names s1 s2 s3
cat names.txt
s1
s2
s3
gfautil -i example.gfa subgraph segments --file names.txt
gfautil -i example.gfa subgraph paths --names p1 p2
依赖关系
~14–24MB
~303K SLoC