A Python interface to gb-io, a fast GenBank parser and serializer written in Rust.
项目描述
🧬🏦 gb-io.py

A Python interface to gb-io
, a fast GenBank parser and serializer written in Rust.
🗺️ 概述
gb-io.py
是一个Python包,提供了一个到 gb-io
的接口,这是一个使用Rust实现的非常快速的GenBank格式解析器和序列化器。它的速度比 Biopython 或 scikit-bio 解析器要高得多。
此库没有外部依赖,适用于所有现代Python版本(3.7+)。
为了提高性能,该库实现了一种按需复制模式,因此数据仅在实际上被访问时才在Python堆上复制,而不是在对象创建时。例如,如果解析器的消费者只需要GenBank特征而不是记录序列,则序列将不会复制到Python bytes
对象。
🔧 安装
直接从PyPi安装gb-io
包,该包提供了预编译的wheel,可以使用pip
进行安装
$ pip install gb-io
提供了适用于常见平台(如x86-64 Linux、Windows和MacOS)以及Aarch64 Linux和MacOS的wheel。如果没有可用的wheel,将下载源代码分发,并下载Rust编译器的本地副本以构建该包,除非主机机器上已安装。
📖 文档
完整的API参考可以在在线文档中找到,或者可以直接使用pydoc
从命令行访问。
$ pydoc gb_io
💡 使用
使用gb_io.load
函数来获取文件中所有GenBank记录的列表
records = gb_io.load("tests/data/AY048670.1.gb")
支持从类似文件的对象中读取,包括文本和二进制模式
with open("tests/data/AY048670.1.gb") as file:
records = gb_io.load(file)
还可以使用gb_io.iter
方法迭代文件中的每个记录,而无需将整个文件内容加载到内存中,该方法返回一个迭代器而不是一个列表
for record in gb_io.iter("tests/data/AY048670.1.gb"):
print(record.name, record.sequence[:10])
可以使用gb_io.dump
方法将一个或多个记录写入文件(可以是路径,也可以是文件类似句柄)
with open("tests/data/AY048670.1.gb", "wb") as file:
gb_io.dump(records, file)
📝 示例
以下小型脚本将从一个GenBank文件中提取所有CDS特征,并将它们以FASTA格式写入输出文件
import gb_io
with open("tests/data/AY048670.1.faa", "w") as dst:
for record in gb_io.iter("tests/data/AY048670.1.gb"):
for feature in filter(lambda feat: feat.type == "CDS", record.features):
qualifiers = feature.qualifiers.to_dict()
dst.write(">{}\n".format(qualifiers["locus_tag"][0]))
dst.write("{}\n".format(qualifiers["translation"][0]))
与使用Bio.SeqIO.parse
、Bio.GenBank.parse
和Bio.GenBank.Scanner.GenBankScanner.parse_cds_features
的类似实现相比,性能如下
gb_io.iter |
GenBankScanner |
GenBank.parse |
SeqIO.parse |
|
---|---|---|---|---|
时间(s) | 2.264 | 7.982 | 15.259 | 19.351 |
速度(MiB/s) | 136.5 | 37.1 | 20.5 | 16.2 |
加速 | 8.55倍 | 2.42倍 | 1.27倍 | - |
💭 反馈
⚠️ 问题跟踪器
发现了一个错误?有增强请求吗?如果您需要报告或询问某些内容,请访问GitHub问题跟踪器。如果您正在报告错误,请尽可能提供有关问题的信息,并尝试在简单、易于复现的情况下重现相同的错误。
🏗️ 贡献
欢迎贡献!有关更多详细信息,请参阅CONTRIBUTING.md
。
⚖️ 许可证
该库是在MIT许可证下提供的。《code>gb-io Rust crate包由David Leslie编写,并受MIT许可证的约束。该包还提供了一些其他包的源代码,这些包受Apache-2.0、MIT或BSD-3-Clause许可证的约束;有关更多信息,请参阅每个转售依赖项的源代码副本中分发的许可证文件。
本项目与原始gb-io
作者无任何关联、赞助或认可。该项目由Martin Larralde在欧洲分子生物学实验室的Zeller团队的博士项目期间开发。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码发行版
构建发行版
gb_io-0.3.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5c628ba04e690b7bdb72cc4fb65230a169e0d1ca029f5b07ae3bba84f65d5c47 |
|
MD5 | 2c7123d9c05f113482125fa0e91e9d0f |
|
BLAKE2b-256 | 76a47f974093876e80777a64e1ec11ca5e365f7aa68a425115969e763310a54d |
gb_io-0.3.3-pp310-pypy310_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4e3997033db0e1e1b24873fca9812ec4a66120b3d0fa2acd899dc43143a21656 |
|
MD5 | e739081be43a5b6da009eb3b1d72a0f4 |
|
BLAKE2b-256 | 1e2b64da72d9a51d8e2d96e892270d21d210c1e0b078e49bb61e5213d5aa485c |
gb_io-0.3.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1344236987b33bb87d6f20df586966161fca71cf566fb0896485a0e9dfbb88dd |
|
MD5 | 99ef3e881a4b7eea7d6c591f08c3117c |
|
BLAKE2b-256 | 153daddddc26cb3e1adc1ff93f1c3526351239cd093121d88dbbef299c68fe5d |
哈希值 对 gb_io-0.3.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 17e55c053e5e7c59e9ce9664dde8ada8816a1ef60a290980ce38c2dc2f11484a |
|
MD5 | 986134e36aac45c8df888e07ea00b7dc |
|
BLAKE2b-256 | b8207796951a343056b5d924c58a179b564e393d7aee8d0fd72c9457a7352361 |
哈希值 对 gb_io-0.3.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4dc25e78511bac040f58f5c1a2afa93aef71bb526670131e5a7d5c1daf0cc465 |
|
MD5 | a66e467231888f3ab1645fa308c01113 |
|
BLAKE2b-256 | f6323e0abf988eac5e27d0475366a44895f1347ee21f8830d42787121a01e602 |
哈希值 对 gb_io-0.3.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 79e469ef81739e4ba20e855d43025011975fa2e88087f82d2fff5b6fa6b5bc0c |
|
MD5 | 0d0b915e5d9f3fd99d011c5d4fdc0e9d |
|
BLAKE2b-256 | 22669a473e94ad955b2e67f9186a0e4ed4393c95dad17af612100929866fdae2 |
哈希值 对 gb_io-0.3.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f7c5d9553a7b7c0c0be1e1240f6241767c265fec6ba5c0589b4ca8803915c2e0 |
|
MD5 | 839facd271ffd9181df80a29586d7ff4 |
|
BLAKE2b-256 | 2399a2c76993e5f62ade40bc63a897a20c1948904a482492f0d1838a3725005c |
哈希值 对 gb_io-0.3.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e98596b6eda67d3b1e0b32ee4c1d11e18a79e7a107c8a32db8386d49a1982d8d |
|
MD5 | 723a758b546eacf1443f0ab23d647c7a |
|
BLAKE2b-256 | 4a58c9473916b54f023ad8c384246e1fda80a776cf4512982bb3cbcf34f90ed8 |
哈希值 对 gb_io-0.3.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 88ddc5fddf39ca75713e5f44681f1cb8c3e8f24cf541f42b2d201afdcd4955ae |
|
MD5 | 87cffa858bd18c66b3adba06b25729a8 |
|
BLAKE2b-256 | 68bf532095fcf4fe552609082f4ef237295a4b9492baa5a9ebc16734dfbe80ab |
哈希值 对 gb_io-0.3.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 29e794e13e13775f52934f8d432ba0e61d2953978c1cecea9757f0f4e6266e90 |
|
MD5 | 3a50b90c2d63e7b68e83ddff43a475b6 |
|
BLAKE2b-256 | fcc31ac97388ef294cbe5e28d11ffcbc0d114f47c8a6303bf30fd8399543649b |
哈希值 对 gb_io-0.3.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 490bf0e59f0db89778fc2c2863f6a3dcdadaf617482c91b4f01b93e88bbd285c |
|
MD5 | dedbbb5960cb198fd0f1f231db7e5770 |
|
BLAKE2b-256 | 672c2058f188b08a6b1ba802a29c4e91ce65c2491e050665cf998d49e0571585 |
哈希值 对 gb_io-0.3.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 338d7973893bab0c699486b2d9a8d3a86127d9ddf32bfad3d4675bde8b7b4452 |
|
MD5 | 3f616d4677e7cbeecbeb5aa2621e5b02 |
|
BLAKE2b-256 | 1de60aef0634d93d2108585c72457457158adf55999b50e8651e2aab63aa9e29 |
哈希值 用于 gb_io-0.3.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4b201de0a5202b86d8e0fd6ef5897240b08b24a96df46f8c382496a24d097cf2 |
|
MD5 | 4da48d8a269ac602653c66e451e5db16 |
|
BLAKE2b-256 | 1610804bddd47a0639523f1a64cb2a6a8bbba979baba1b8fea6a6d7908cd2af3 |
哈希值 用于 gb_io-0.3.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3c033ee6875a21f97bbde205286eaa5bc1a91b454ec04b30b38e37e85ea03f5a |
|
MD5 | 60c0c0f05c796608fd85ace190a7b2b6 |
|
BLAKE2b-256 | a9e8c71d4c7ec15ab23e93102d10569920ea8ae8004eeac66184e1e9f9295a9f |
哈希值 用于 gb_io-0.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d4349fefff2bf5f3cf0767ebf6c34259d3a8fba23e0df8107cd8ffcf98abd2da |
|
MD5 | 98fb6c9d5d949c6dbb240e9046640e89 |
|
BLAKE2b-256 | d6fcb1f1f0e09b0befaadab2c3687c49ad71a22d6b31aa83515facbf803993ed |
哈希值 用于 gb_io-0.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0a83488270cc370e8c782dc18940322527257f86a1535f58860fa112d8425d08 |
|
MD5 | f96b18ac18ed603addb666c1b6f046b4 |
|
BLAKE2b-256 | 39a2a2226e68c2f2296bc6eee750cead93ee71bf0fe2afa7a01677d083c76bd5 |
哈希值 用于 gb_io-0.3.3-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f2a5890fe9ac2d5828deaf91805806bfd8c61eb7ccfb61fe1677b54817018ed1 |
|
MD5 | 8328bfc05f75522f9e39ee90325d6878 |
|
BLAKE2b-256 | 9c175d61445eddd22388681d75ef2dd3ca8761b163fcd4772df24f27a5752cff |
哈希值 用于 gb_io-0.3.3-cp312-cp312-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | affab2f80aac6e468b146466b08778de01e10f2aae0507c76b0673a8068c613e |
|
MD5 | 4c11c683f5b46de95a77e84afe085de9 |
|
BLAKE2b-256 | 8b9cdc92892b58a2b080513ff56bfc9e9b3a8c2ae90f495ca6c6b396ddc7d485 |
哈希值 用于 gb_io-0.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 260134fb12a3fca68407923dad6fb096b231e2f2062c0e7ddd8f23d1a1f6085d |
|
MD5 | 064a6b7f6ac55e64cdac81c7b3598524 |
|
BLAKE2b-256 | f839697c8f5eb811efa64193ff669c36dc97172d33d809f1c6491a5f06875c5e |
哈希值 用于 gb_io-0.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c19edaa68e2dce5f2aed9735bde8f108c54f6b555aad10bb6d2aaf067c4f94e7 |
|
MD5 | 6d4f59a7fd2c3b53e170ee77f98ca785 |
|
BLAKE2b-256 | cf95966b9915886fa0f707e055b0d4dc782f337e9e3c9671da689e37620462c2 |
哈希值 用于 gb_io-0.3.3-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1324d0879db1dc3fb7617b866290600062ef399b03b2f02bf8dc486eb411aa68 |
|
MD5 | ffe7e522774983b5c039b3e04702b8b6 |
|
BLAKE2b-256 | 30cb95e072081c5ac305a48c9b16d7d7ce63aff68a239f5c9ece797546bb75fa |
哈希值 用于 gb_io-0.3.3-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d9fee12be610469ee8667484c33de4c11809a5942cca1e0227caa7e040904c0d |
|
MD5 | 744c6fd968b585ce8c1c89f5a9641b10 |
|
BLAKE2b-256 | c3d204ec819b01a6e41e89ad732d2c1865bb14cc848037fad0dc6f99da6685a2 |
哈希值 用于 gb_io-0.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0607a15a6d51afa93aacbfb67ed7858117b6a5f28958ec742f3230c310ea779f |
|
MD5 | 974d5a3a27b77c69567cd2ae65f2fe01 |
|
BLAKE2b-256 | bc1b885d52b0f6dbf70f36e41d311f473722e4aed64f697c607f8809d754f31b |
gb_io-0.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ebcfc43670afc39fe4008d99f40e108725c093075ef855faeb492fa77c007e6b |
|
MD5 | a0732d341e4877f577fcf6dc7991a093 |
|
BLAKE2b-256 | d7fdd74b37aae9993ce326cdadc0dee52d06a106e4911deb5f92b9fa813af3d0 |
gb_io-0.3.3-cp310-cp310-macosx_11_0_arm64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5b347c245de2498ba1ec1bc2efefe700850ef4c428f8e4b5533b1aeebc0e942a |
|
MD5 | dcbd5579a692fe8b94c140c48ba4ab34 |
|
BLAKE2b-256 | 81b220d5613e0b6c18f196e255f968650656f5a7428ca7b897e2764035bad7bc |
gb_io-0.3.3-cp310-cp310-macosx_10_9_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 06b62484037d43bdf64afcf0a3a3152ed038463b7f10c5bbe68ad0555aa67600 |
|
MD5 | 14d31d93819edfeccf088fd5703fe30e |
|
BLAKE2b-256 | 0cbc2f7282de1382dfd1c0c0f43b6f012419e397c6b58fda3d2917cc6b28ca58 |
gb_io-0.3.3-cp39-cp39-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c2badd33e760015c9c1f1ec3b733a4536c8ac57d9901055a69253066006b2b0e |
|
MD5 | 21dba7e0b86ce0ce8829c1f342dc84f3 |
|
BLAKE2b-256 | 2165d252a48d25d5cf713b7405dc186168a501ee27fab6b5774b16de4a711344 |
gb_io-0.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | aac1245e90ed73e90af36671ab342c8635a47492cb282e271a463e3f1d3573fb |
|
MD5 | 0408d615e662ed5d071c2197084beb76 |
|
BLAKE2b-256 | 190c9d4e215dd67ebc4589e77e573ba70f15c0b87d0cd5aff8bfc23309638fe6 |
gb_io-0.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1aaee0621f084b980fac8011bd0c5737da4363cd84caa006c7989e34caa7ce26 |
|
MD5 | bbdd4beeb8c3efef65a49e5f0df056a1 |
|
BLAKE2b-256 | f5c18a222eb149246a3184dde6d7d7d7669f5e242e1d371999b8317ccd5d04a5 |
gb_io-0.3.3-cp39-cp39-macosx_11_0_arm64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fea81534c2b39ca893996d7036f48f1c9f79e244e56530d32acef23f8d7ab843 |
|
MD5 | 697d64735d303bc288c493c642ba956f |
|
BLAKE2b-256 | 805bd783c664d3ea9fb412ee8487d1835130f4394e260b2205989f5909f0dc05 |
gb_io-0.3.3-cp39-cp39-macosx_10_9_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f9ac44257769e90da3a35b9512a0c6b05499017b8c1ea00d0e63502c572791dc |
|
MD5 | 3075995fcfa1706516e4f03736308739 |
|
BLAKE2b-256 | b2135f504c4b29a3e978774d6ab932d60c3a6d08859088f2f14632792796cd02 |
gb_io-0.3.3-cp38-cp38-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ac4b5cec2284a35e297eb03d6a566c48f5b5694440497f27b3ef237d03c3d72b |
|
MD5 | a326802b4f35eef4c53809b0154c49a1 |
|
BLAKE2b-256 | 4615a0177627e94292b2cc508579e79ac145d6bbc58bc98e5adca6604e53a430 |
gb_io-0.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 59751a550ef41daaa0a2e855b65f5d0bff762a9ffa80ac3ae8f07b00bc2c145a |
|
MD5 | e3f4f25c1d41b94116794955d31ae2fe |
|
BLAKE2b-256 | 9d55e6e4d1792cbacc82e0406f55742120182b04f53c2239817641e799244134 |
gb_io-0.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 685b50f6e36011ecb6ebe26a00c3721ca78850d018ba99d642ae6806801b944a |
|
MD5 | a570b7cbf72664c41ed784d3fe102391 |
|
BLAKE2b-256 | 92b11562f5037eba75ce2249f538b4f087dc1992a227734f54b9d4cf775d3c65 |
gb_io-0.3.3-cp38-cp38-macosx_11_0_arm64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3670dc45226c2f2881d7bf83674e4f87c570ae53c1f03422e8be8fa6773c06e4 |
|
MD5 | d2e74ed0ec55bb00d25b1c571fb39072 |
|
BLAKE2b-256 | 18557c85d42da3caa2cea7d6ffb6e42a96260012b41c7c4f362aea3cbb9b1166 |
哈希值 用于 gb_io-0.3.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c60283d7734192f885e615260d8442aa0c183e8198238db7f0775d7db139aa3d |
|
MD5 | 38fba8db4bc268cb62126b45fb6a94e3 |
|
BLAKE2b-256 | aa758432f5cb7b274d084840d6c93356f26b3c6b7d227f450af390c74f7fedae |
哈希值 用于 gb_io-0.3.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 093301af8b9b26b9c069fd20d0be09c75f8444f4676251c9294810e70f834901 |
|
MD5 | 1a23b437ad2549aa656ce6f0a1fc8160 |
|
BLAKE2b-256 | e1f5eb7858bf329a7a754d45d09483e4f2c93e776303c84aa6efe35dbc1401f8 |
哈希值 用于 gb_io-0.3.3-cp37-cp37m-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3b9392933b1c9a3f3bfdcd0951ac4d6e67a51f9517083c63a3de1db788b57763 |
|
MD5 | e3d2e2d709be4f347e84c5f25e3bcd9a |
|
BLAKE2b-256 | b5c0bafddcf41d815c7c075af3205dafe7bbaf4338baf6cf3fcb1b5d1f8d8651 |