2个版本
0.1.6 | 2023年10月13日 |
---|---|
0.1.5 | 2023年7月21日 |
#10 在 #gtf
60KB
294 行
gtfjson
一个简单的命令行工具,可以将GTF文件转换为NDJSON以快速解析,并在这类JSON上执行其他功能。
摘要
当与bedtools
一起工作时,GTF文件格式非常出色,因为它基本上是BED
文件格式的修改版。
然而,如果您对注释列感兴趣,解析可能会非常头痛,尤其是在操作整个基因组时。
我编写了这个工具将GTF文件格式转换为可流式传输的换行分隔JSON。
这使得它非常方便,可以用polars
在Python中快速加载,并跳过所有注释解析。
安装
您可以使用Rust包管理器cargo
安装此工具。
cargo install gtfjson
用法
此工具的执行文件是gj
。
转换
要转换GTF文件格式为NDJSON,我们可以使用convert
子命令。
# classic i/o
gj convert -i <input.gtf> -o output.json
# write to stdout
gj convert -i <input.gtf>
分区
我们还可以使用gj
以不同的方式对gtf-json进行分区。
它从属性中获取一个变量,并为该记录的每个类别创建一个新的文件,并将匹配该类别的记录填充到这些文件中。
例如 - 我们可以将每个基因的GTF写入到单独的文件中
# Partition on gene_name
gj partition -i <input.ndjson> -o partitions/ -v gene_name
# Partition of gene_id
gj partition -i <input.ndjson> -o partitions/ -v gene_id
# Partition of transcript_biotype
gj partition -i <input.ndjson> -o partitions/ -v transcript_biotype
依赖关系
~4–15MB
~140K SLoC