#xml-parser #website #csv #downloaded #uni-parc #uniprot #uniparc

bin+lib biorustlings

将Uniprot网站下载的UniParc XML文件解析为CSV文件的脚本

1 个不稳定版本

使用旧的Rust 2015

0.0.2 2017年11月13日

#downloaded中排名12

MIT 许可证

47KB
1K SLoC

Rust 592 SLoC // 0.0% comments Python 535 SLoC // 0.1% comments Forge Config 28 SLoC

UniParc XML解析器

处理从UniProt网站下载的UniParc XML文件(uniparc_all.xml.gz),将其转换为可以加载到关系数据库中的CSV文件。

示例

解析100万行大约需要5.5秒

$ mkdir uniparc
$ time bash -c "zcat tests/uniparc_1mil.xml.gz | uniparc_xml_parser >/dev/null"

real    0m5.564s
user    0m5.528s
sys     0m0.132s

实际的uniparc_all.xml.gz文件大约有50亿行。

常见问题解答

为什么不解压缩uniparc_all.xml.gz成多个小文件并并行处理

  • 解压缩文件需要读取整个文件。如果我们无论如何都要读取整个文件,为什么不在读取时解析它呢?
  • 有一个单独的过程来解析uniparc_all.xml.gz,这使得创建增量唯一索引列(例如UniparcXRef.idxProperty.idx等)更容易。

依赖项

~400KB