#gff #diff #json-diff #json-format #generate-json #gff3 #compare

bin+lib gff_diff

一个用于生成两个 GFF3 文件之间差异(JSON 格式)的工具

2 个版本

0.1.1 2021 年 1 月 12 日
0.1.0 2021 年 1 月 12 日

#565 in 科学

MIT/Apache

40KB
894

GFF_DIFF

一个用于生成两个 GFF3 文件之间差异(JSON 格式)的工具,用 Rust 编写。

安装 Rust

查看说明,或者直接运行

curl https://sh.rustup.rs -sSf | sh

编译工具

使用git clone https://github.com/magnusmanske/gff_diff.git获取工具源代码,然后使用

cargo build --release

来构建二进制文件(target/release/gff_diff)。

用法

要比较original.gffmodified.gff,使用

gff_diff original.gff modified.gff

输出格式

输出是一个 JSON 结构。将original.gff转换为modified.gff所需的变化位于{"changes":[]}数组中的对象。每个对象都有一个action、一个what和一个id键。《what》可以是《row》(GFF 文件中的一行,由《id》表示)或《attribute》(行的最后一列)。

action可以是

  • add / remove 用于 what=attribute
  • add / remove / update 用于 what=row

对于 what=row / action=update,存在 keyvalue 键,表示应更改的内容。key 可以是 seqnamesourcefeature_typestartendscorestrandframe 之一。value 是表示给定键的新值的字符串。

对于 what=row / action=add/remove,一个 data 键包含一个表示要添加或删除的整个行的 JSON 结构。

对于 what=attribute / action=add/remove,存在 keyvalue 键,表示应添加到或从属性键中删除的值。

依赖关系

~16MB
~272K SLoC