Rust对MinCED算法的重新实现,用于在环境数据中检测CRISPR实例。
项目描述
🔪🧅 Diced
Rust对MinCED算法的重新实现,用于在环境数据中检测CRISPRs。
🗺️ 概览
MinCED 是由 Connor T. Skennerton 开发的一种方法,用于在分离和宏基因组组装基因组中识别 成簇规律间隔短回文重复序列(CRISPRs)。它源于 CRISPR 识别工具 [1]。它使用快速扫描算法来识别候选重复序列,并结合扩展步骤来查找基因组中具有 CRISPR 重复序列的最大跨度区域。
Diced 是 MinCED 方法的 Rust 实现,以原始 Java 代码为参考。它产生与 MinCED 完全相同的结果,修正了一些错误,并且速度更快。Diced 实现作为 Rust 库提供,以便于使用。
这是 Python 版本,同样也提供了一个 Rust 包。
📋 特性
- 库接口:Rust 实现被编写为库,以促进在其他项目中的重用。它用于通过 PyO3 实现一个 Python 库,以生成原生扩展。
- 单一依赖:Pyrodigal 作为 Python 包分发,因此您可以将其添加到项目中作为依赖项,并无需担心 Prodigal 二进制文件在最终用户机器上存在。
- 零拷贝:如果提供简单的
&str
引用,则遍历候选 CRISPRs 的Scanner
是零拷贝的,但它也支持诸如Rc<str>
或Arc<str>
之类的智能指针背后的数据。 - 快速字符串匹配:Java 实现使用了手写的 Boyer-Moore 算法[2],而 Rust 实现使用标准库中的
str::find
方法,该方法实现了 双向算法[3]。此外,可以使用memchr
包作为memmem
函数的快速 SIMD 兼容实现。
💡 示例
Diced 支持字符串格式的任何序列。
import Bio.SeqIO
import diced
record = Bio.SeqIO.read("diced/tests/data/Aquifex_aeolicus_VF5.fna", "fasta")
sequence = str(record.seq)
for crispr in diced.scan(sequence):
print(
crispr.start,
crispr.end,
len(crispr.repeats),
crispr.repeats[0],
)
💭 反馈
⚠️ 问题跟踪器
发现了一个错误?有改进请求吗?如果您需要报告或询问,请访问 GitHub 问题跟踪器。如果您正在提交错误报告,请尽可能提供关于问题的信息,并尝试在简单、易于复制的环境中重现相同的错误。
📋 更新日志
此项目遵循 语义版本控制,并在 更新日志 中提供 保持更新日志 格式。
⚖️ 许可证
此库在开源 GPLv3 许可证 或更高版本下提供。此实现的代码是从 MinCED 源代码 衍生的,该代码也以 GPLv3 许可证提供。
此项目与 原始 MinCED 作者 没有任何关联、赞助或任何形式的认可。它是由 Martin Larralde 在 莱顿大学医学中心 的 Zeller 团队 的博士项目中开发的。
📚 参考文献
- [1] Bland, C., Ramsey, T. L., Sabree, F., Lowe, M., Brown, K., Kyrpides, N. C., & Hugenholtz, P. (2007). 'CRISPR识别工具(CRT):一种用于自动检测成簇规律间隔回文重复序列的工具'. 生物信息学杂志, 8, 209. PMID:17577412 doi:10.1186/1471-2105-8-209.
- [2] Boyer, R. S. 和 Moore, J. S. (1977). '一种快速字符串搜索算法'. 计算机通信, 20, 10 762–772. doi:10.1145/359842.359859
- [3] Crochemore, M. & Perrin, D. (1991). '双向字符串匹配'. 计算机学会会刊, 38, 3, 650–674. doi:10.1145/116825.116845
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
diced-0.1.1.tar.gz (501.4 kB 查看哈希值)
构建分发
diced-0.1.1-pp39-pypy39_pp73-win_amd64.whl (654.1 kB 查看哈希值)
diced-0.1.1-pp38-pypy38_pp73-win_amd64.whl (654.5 kB 查看哈希值)
diced-0.1.1-pp37-pypy37_pp73-win_amd64.whl (656.1 kB 查看哈希值)
diced-0.1.1-cp312-cp312-win_amd64.whl (652.2 kB 查看哈希值)
diced-0.1.1-cp311-cp311-win_amd64.whl (654.1 kB 查看哈希值)
diced-0.1.1-cp310-cp310-win_amd64.whl (654.0 kB 查看哈希值)
diced-0.1.1-cp39-cp39-win_amd64.whl (654.2 kB 查看哈希值)
diced-0.1.1-cp39-cp39-macosx_11_0_arm64.whl (744.8 kB 查看哈希值)
diced-0.1.1-cp38-cp38-win_amd64.whl (653.3 kB 查看哈希值)
diced-0.1.1-cp38-cp38-macosx_11_0_arm64.whl (745.4 kB 查看哈希值)
diced-0.1.1-cp37-cp37m-win_amd64.whl (653.8 kB 查看哈希值)
关闭
diced-0.1.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e84493ab876b8755c4092bda138558ce7727f1c6b6fc0bc4baa4c6a51f412bb |
|
MD5 | e5cdeadc012aec940bddb03dd0ddaa26 |
|
BLAKE2b-256 | ecd527b8798efe77d63be815d491d3a5d861752ee6c83a1e4ceedc1be7e535e9 |
关闭
diced-0.1.1-pp310-pypy310_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b8af9882323a298feb847ba90a59f78070fe72c75ddd713f7c92beca417ae9bd |
|
MD5 | f4451ef67cd2abd79711c3b8fc43a707 |
|
BLAKE2b-256 | f2bce670c60179cabaea248d67b8823ca4f5de02a72618273a6ff1bc20b55dcb |
关闭
diced-0.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fb6732383f6d0f28c474514d944fac63320b9dc74e8841efe9cf6f66189ad68e |
|
MD5 | fb65b859a0d13d5cbd97af39b2c4c968 |
|
BLAKE2b-256 | 8d2bfaeebad9b20636f6c0609a7ff2f4e24474989a829a2018ff901583c0c30f |
关闭
diced-0.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1ef877bc899c768589259e35f1866ee03190e936e9fda971461cc7e26bfcec9e |
|
MD5 | 0fdc5a3b8d20893002af9e67c1beab92 |
|
BLAKE2b-256 | 42f6c39595008cca9c5ffab1451077ff736f9b708fbfc79575f679166f00f84e |
关闭
diced-0.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0752ddd02095e4994f1307bacc096af2b791f8ffdf003ca776e6245e8d64da9b |
|
MD5 | 359b6d695c34df16692b567560f273b4 |
|
BLAKE2b-256 | 5fb09efd6ce3aaab6253379fbf6eb74a51cc7abbef948b348da6d98441e7cd48 |
关闭
diced-0.1.1-pp39-pypy39_pp73-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 52892346e3dc6d9a0d86fe7f8f69cf2bcb007e469e7c63f9f25ce49b81e9c25d |
|
MD5 | 46c24caa617169b174c19351bbb46531 |
|
BLAKE2b-256 | 9a765cb46029b319f1b6c6e10505c7ef3a194fcb054059dda7fb287c9d8c5c45 |
关闭
哈希值 for diced-0.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 75e386c340173beb289de9212696d0f9a078e6d6bee9a15747076a693b8d71f7 |
|
MD5 | 88f06dbc89749b7b95f7365568b3c1da |
|
BLAKE2b-256 | 4bc6280619af5577be7d1573d37b627371ac6d8ecaff598be5d7b2c1c38f9f57 |
关闭
哈希值 for diced-0.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 122aca08bc3fba28eb77966fb2aabad87c9b0ce1f13ff0e79d211007c331515f |
|
MD5 | 0bb17fe6db0647199c7309a4fd8f4474 |
|
BLAKE2b-256 | de999d8e52783fcb1fac333bf208395263145754efe250da813519723964e80a |
关闭
哈希值 for diced-0.1.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dd3cb4709bfa942fef362564058b3a409ea664af422c2b2cc0baa8afbc1c4703 |
|
MD5 | 5a02f6dd93c5edfbd9ef95641d1a3901 |
|
BLAKE2b-256 | 29934bf2f596d879e579a6e605d3264f989b3886f32e7231a6070e448ee06e68 |
关闭
哈希值 for diced-0.1.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c37a6c8673d71a6dbfd10e7122d38a3686db9ca61659a75ba53fe2c28e86bd73 |
|
MD5 | 8bc2097ea3547d99404c312d4277b61d |
|
BLAKE2b-256 | a44f3c3e0e8cfb6b41b73a7b71ba1292a4fc24c1b4b40efbddbe90554150d604 |
关闭
哈希值 for diced-0.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7f1e48b5af026da5a82c74e53b3d892f2385e2308f2de4b394b024d37b407bb2 |
|
MD5 | 82d0b65905b4ad38fc1aae1c38951dbb |
|
BLAKE2b-256 | 70284c2da4d534fb38fdf41430b93cd2f41b6624a468956e601efa9ae1e40d81 |
关闭
哈希值 for diced-0.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d6f553901ca59fe46108a56f930c91ce6efe354a99a20facd14c1e43961d6169 |
|
MD5 | 8b36080d28d270d892e76e4956046c86 |
|
BLAKE2b-256 | 9443e1bfb5c6f202549b1537c0ebbb9dee4d155217d2dca99a6da547c807515f |
关闭
哈希值 for diced-0.1.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cd909a55aa59779482e0ed55705ec7da581e6772389389e5837a163cf7bfb139 |
|
MD5 | 5401f3966a8d9332e90ef3e20b888cab |
|
BLAKE2b-256 | 6e94c298dfd637f4fe2a4125213007f02d367ed502fb92b4edc625d5cead688d |
关闭
哈希值 for diced-0.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 02b3f468b606c9e70d8535a84a3044b08d8a848a37b7a57ab6739a086726e8a8 |
|
MD5 | 2c91795aca82a5ba79c98e53fb2222c4 |
|
BLAKE2b-256 | 76d489adaf1c110fd571c004c06c9ca806b1bec6be669ee8b8f695f9d02d97a9 |
关闭
哈希值 for diced-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | feb580536dff266fca27d997cd5b62b691e2fab649d9979b8a8598f2e5a4efbb |
|
MD5 | 327a7b21cca995b398846ff9b921da5f |
|
BLAKE2b-256 | 3237586a4123422b9bf9bac6640e7d763242061ce5d353f2758ee82ea5f7d242 |
关闭
哈希值 用于 diced-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 27e93d1a3ce28750974f459dc0f9b82617d771b3233a46e2fcd3dcc12776a559 |
|
MD5 | 65e2d29feabc58afac3a8122515c1f16 |
|
BLAKE2b-256 | 64b78d0dfab4f740d34bcc9a75231d4715024f793783fabf1bf16ed82c64eeb6 |
关闭
哈希值 用于 diced-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f31f1a92b8ef545e6f3dbb1a8cbfad8666763d9504490375f900c80cb3dba87a |
|
MD5 | 50f86cdf650b322ae76ba8a07aa8530d |
|
BLAKE2b-256 | 913af2f9d431c7748c794eb6504e3e0b093a675e3508782a2d90bc8250bbeae9 |
关闭
哈希值 用于 diced-0.1.1-cp312-cp312-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5a0eabfc89346a9a09f1c52e246c8da13d108398387e4f0c11b80ecb6a47f9d3 |
|
MD5 | 73236fc5154aa57fbcad4ba2afc8349c |
|
BLAKE2b-256 | 4840216959be83437bc872f04c9ef8f9d2ffaed96ad44e49118b6fdd34c16baf |
关闭
哈希值 用于 diced-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1acd54ed1cf9f3cb078472a43f8d99edb5d9a0f59d7a8f1a288a4057b5f2e186 |
|
MD5 | 10d0acadc462358ea711dbdecbb88e65 |
|
BLAKE2b-256 | e185f96e7da4e31bec6332d4f22db8c65f4572edfac537e519da8f3a6a7b8312 |
关闭
哈希值 用于 diced-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7adb9ccb5ab662d406484789c705e3d7a9e4597fabd3e289f6da9c2f4c6fa9b1 |
|
MD5 | 6f0ee978c5ff8e34f2ac0075488b8f0d |
|
BLAKE2b-256 | 1dcd0e5d1ba51bdfd8cb1a33ca27256421719568d68a71f6d258f081d150e847 |
关闭
哈希值 用于 diced-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d4ff818bd77f3041da2cc59a5d96c4b70fc3604036675f157692003b48231010 |
|
MD5 | 094df320f5f4331a5e5888ed36702a04 |
|
BLAKE2b-256 | a28de9807b81b24426d9322047a3c3279dc3a9e6afff0f795122b8f57364438b |
关闭
哈希值 用于 diced-0.1.1-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4222b57de04699a3aded39966e73a2b503b2af39c5e3a99d069961502dfdb075 |
|
MD5 | f8175e9240f7eb3927c085e072f2216c |
|
BLAKE2b-256 | bd7f9b26dc70dcd1abb624771df4ae524c19623dd2d0a739c79819b9e4a50000 |
关闭
哈希值 用于 diced-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e21a9fd878be359debedcbfa52626e991f1544b0351eeca4c304a4ba5ad9e354 |
|
MD5 | b6995f717031f524388562a63e305441 |
|
BLAKE2b-256 | 0923c50eea29fd0de60ec6a4a5f155887059def96d9b834c5a06093b1da46699 |
关闭
哈希值 用于 diced-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6015d80a5caf78df8e4a3eadc00f198a8f63e4bc895a9f10d15ccc7f2a4e02fb |
|
MD5 | b9fb0af5de0a66a6492f13a0e79d4d58 |
|
BLAKE2b-256 | 7448cd24fea4b83d43ebb37e4a5e6431f8deebdfa159d87e404b62eafd46af7c |
关闭
哈希值 用于 diced-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ecd042fb34d08f4194a3d71b1f8a71855eb882a4d6cf72e73af2e2e24673b76e |
|
MD5 | 0988356ae3f6415447355b776c40d653 |
|
BLAKE2b-256 | bdadea5e7a47cb640dd656f9b8d1116d944938e1f4f01efea5959ab328a48c36 |
关闭
哈希值 用于 diced-0.1.1-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 506f956c922c0b87f0fd466feb5ff8c0bbe7d8e48aac58b1d07beaffa198a870 |
|
MD5 | a852aa54a8ffa140e79c2b7630015547 |
|
BLAKE2b-256 | 5a3ee18778a1659d1a9cc475c0159ae5e696610090478603ecc852160cf9a6d3 |
关闭
哈希值 用于 diced-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 877c6f4962f830381a48cb03742ca856dea71b9ee27a85a9c5c452bd353532e3 |
|
MD5 | d166c5072c6f890307f5d0e9c9ae35c5 |
|
BLAKE2b-256 | 4fbf06156d1b15c1c7836ccc4311c85e3e1a6a5c4cf265aa8e8246b77d5150fe |
关闭
哈希值 用于 diced-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 110195a727d0be259ccc7e87174b741987b094b1f0ee7d7489add8a4b61cd820 |
|
MD5 | 63e8d508b599e9702166b7f0a2465494 |
|
BLAKE2b-256 | 374b66277e9af4ad44dc77e3c8f266147a804f35543944216a4d8c43fc2608fd |
关闭
哈希值 用于 diced-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 76dc50ded935480e804afe6747cf448a55b57e931c96e38906e9881256f9b137 |
|
MD5 | f273f6de6122d226a09621a5e3a567c8 |
|
BLAKE2b-256 | c8044b592c55e809d5abfeb29b956ef7d026b0bd6b36f36d5710b86a6c75c4bc |
关闭
哈希值 用于 diced-0.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 993969abd38a19c6f976a97c759a800209de803890e3e08df833f8236351a52e |
|
MD5 | 2045524c4fc58eb004721849859f139b |
|
BLAKE2b-256 | ee044cb69b0a868fc24741a6c014c5ff02410dd856c5c618bfc93eee83630ab5 |
关闭
哈希值 用于 diced-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a5845e7adf2b27a4cadf5e4031cfbf49bb2ef244ac9a62ce65c763d34b127304 |
|
MD5 | 12e073abcbedf3c751aa0c666569fae8 |
|
BLAKE2b-256 | 936deba236671259a45f1ba8c4694bbcf124f146d7bcbe0061cdaa8acde4ec14 |
关闭
哈希值 用于 diced-0.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d60495b041273721cde61a73a24ab409fd627dad4beeb73f7aa9dff7630a5a73 |
|
MD5 | 4392f5a7ef613055506580a16dff2566 |
|
BLAKE2b-256 | 235f3eececfab9ae036b5df69684f18d367470d4aeb59b340c10b98b54151cb5 |