跳转到主要内容

PyO3绑定和Python接口到lightmotif,这是一个使用位置权重矩阵进行平台加速生物基序扫描的库。

项目描述

🎼🧬 lightmotif Star me

一个轻量级的 平台加速 库,用于使用 生物基序 扫描 位置权重矩阵.

Actions Coverage License Docs Crate PyPI Wheel Bioconda Python Versions Python Implementations Source Mirror GitHub issues Changelog Downloads

🗺️ 概述

使用 基序位置权重矩阵(也称为位置特异性得分矩阵)进行扫描是识别生物序列内固定长度基序的稳健方法。它们可以用来识别DNA中的转录因子 结合位点,或者在蛋白酶 切割位点的多肽。位置权重矩阵通常被视为 序列图

MX000274.svg

lightmotif 库提供了一个 Python 模块,用于在位置权重矩阵中运行高效的基序搜索。位置扫描结合了多种技术,以实现序列的高通量处理

  • 编译时定义字母表和矩阵维度。
  • 序列符号编码用于快速表查找,类似于 HMMER[1] 或 MEME[2]
  • 条带序列矩阵以并行处理多个位置,灵感来自 Michael Farrar[3]
  • 使用 AVX2permute 指令进行向量化矩阵行查找。

这是 Python 版本,还有一个可用的 Rust crate

🔧 安装

lightmotif 可以直接从 PyPI 安装,它托管了大多数主流平台的预构建轮和从源代码编译所需的代码

$ pip install lightmotif

如果您必须从源代码编译此软件包,所有必需的 Rust 库都已包含在源分布中,并且如果没有主机机器上的 Rust 编译器,则会自动设置一个。

💡 示例

基序接口应该与 Bio.motifs 模块兼容,该模块来自 Biopython。值得注意的是,PSSM对象的calculate方法期望一个条带序列。

import lightmotif

# Create a count matrix from an iterable of sequences
motif = lightmotif.create(["GTTGACCTTATCAAC", "GTTGATCCAGTCAAC"])

# Create a PSSM with 0.1 pseudocounts and uniform background frequencies
pwm = motif.counts.normalize(0.1)
pssm = pwm.log_odds()

# Encode the target sequence into a striped matrix
seq = "ATGTCCCAACAACGATACCCCGAGCCCATCGCCGTCATCGGCTCGGCATGCAGATTCCCAGGCG"
striped = lightmotif.stripe(seq)

# Compute scores using the fastest backend implementation for the host machine
scores = pssm.calculate(sseq)

⏱️ 基准测试

基准测试使用来自 PRODORIC[4]MX000001 基序,以及 大肠杆菌 K12 菌株的完整基因组。在 i7-10710U CPU 上以 1.10GHz 运行,并使用 --target-cpu=native 编译执行基准测试。

lightmotif (avx2):      5,479,884 ns/iter    (+/- 3,370,523) = 807.8 MiB/s
Bio.motifs:           334,359,765 ns/iter   (+/- 11,045,456) =  13.2 MiB/s
MOODS.scan:           182,710,624 ns/iter    (+/- 9,459,257) =  24.2 MiB/s
pymemesuite.fimo:     239,694,118 ns/iter    (+/- 7,444,620) =  18.5 MiB/s

💭 反馈

⚠️ 问题跟踪器

发现了一个错误?有增强请求?如果您需要报告或询问某些内容,请前往 GitHub 问题跟踪器。如果您正在提交一个错误,请尽可能提供有关问题的详细信息,并尝试在简单、易于复现的情况下重现相同的错误。

📋 变更日志

本项目遵循 语义版本控制,并在 Keep a Changelog 格式中提供 变更日志

⚖️ 许可证

本库在GNU通用公共许可证3.0或更高版本下提供,因为它包含TFM-PVALUE算法的GPL许可代码。可以通过禁用pvalue crate功能来禁用TFM-PVALUE依赖项,在这种情况下,代码可以在MIT许可证的条款下使用和重新分发。

该项目由Martin Larralde欧洲分子生物学实验室Zeller团队的博士项目中开发。

📚 参考文献

  • [1] Eddy, Sean R. ‘Accelerated Profile HMM Searches’. PLOS Computational Biology 7, no. 10 (20 October 2011): e1002195. doi:10.1371/journal.pcbi.1002195.
  • [2] Grant, Charles E., Timothy L. Bailey, and William Stafford Noble. ‘FIMO: Scanning for Occurrences of a given Motif’. Bioinformatics 27, no. 7 (1 April 2011): 1017–18. doi:10.1093/bioinformatics/btr064.
  • [3] Farrar, Michael. ‘Striped Smith–Waterman Speeds Database Searches Six Times over Other SIMD Implementations’. Bioinformatics 23, no. 2 (15 January 2007): 156–61. doi:10.1093/bioinformatics/btl582.
  • [4] Dudek, Christian-Alexander, and Dieter Jahn. ‘PRODORIC: State-of-the-Art Database of Prokaryotic Gene Regulation’. Nucleic Acids Research 50, no. D1 (7 January 2022): D295–302. doi:10.1093/nar/gkab1110.

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

lightmotif-0.9.1.tar.gz (100.7 kB 查看哈希值)

上传时间 源代码

构建分发

lightmotif-0.9.1-pp310-pypy310_pp73-win_amd64.whl (335.3 kB 查看哈希值)

上传时间 PyPy Windows x86-64

lightmotif-0.9.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (485.5 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64

lightmotif-0.9.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (472.4 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

lightmotif-0.9.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl (440.1 kB 查看哈希值)

上传于 PyPy macOS 10.15+ x86-64

lightmotif-0.9.1-pp39-pypy39_pp73-win_amd64.whl (337.0 kB 查看哈希值)

上传于 PyPy Windows x86-64

lightmotif-0.9.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (486.3 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

lightmotif-0.9.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (474.8 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

lightmotif-0.9.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl (441.6 kB 查看哈希值)

上传于 PyPy macOS 10.15+ x86-64

lightmotif-0.9.1-pp38-pypy38_pp73-win_amd64.whl (336.9 kB 查看哈希值)

上传于 PyPy Windows x86-64

lightmotif-0.9.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (486.6 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

lightmotif-0.9.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (474.2 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

lightmotif-0.9.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (442.0 kB 查看哈希值)

上传于 PyPy macOS 10.9+ x86-64

lightmotif-0.9.1-pp37-pypy37_pp73-win_amd64.whl (337.9 kB 查看哈希值)

上传于 PyPy Windows x86-64

lightmotif-0.9.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (489.2 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64

lightmotif-0.9.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (477.1 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

lightmotif-0.9.1-cp312-cp312-win_amd64.whl (333.1 kB 查看哈希值)

上传于 CPython 3.12 Windows x86-64

lightmotif-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (482.2 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64

lightmotif-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (471.3 kB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARM64

lightmotif-0.9.1-cp312-cp312-macosx_11_0_arm64.whl (416.9 kB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

lightmotif-0.9.1-cp312-cp312-macosx_10_9_x86_64.whl (439.7 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.9+ x86-64

lightmotif-0.9.1-cp311-cp311-win_amd64.whl (334.0 kB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

lightmotif-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (483.8 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

lightmotif-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (469.4 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

lightmotif-0.9.1-cp311-cp311-macosx_11_0_arm64.whl (416.5 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

lightmotif-0.9.1-cp311-cp311-macosx_10_9_x86_64.whl (438.5 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

lightmotif-0.9.1-cp310-cp310-win_amd64.whl (333.8 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

lightmotif-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (483.7 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ x86-64

lightmotif-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (471.2 kB 查看哈希值)

上传于 CPython 3.10 manylinux: glibc 2.17+ ARM64

lightmotif-0.9.1-cp310-cp310-macosx_11_0_arm64.whl (416.4 kB 查看哈希值)

上传于 CPython 3.10 macOS 11.0+ ARM64

lightmotif-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl (437.7 kB 查看哈希值)

上传于 CPython 3.10 macOS 10.9+ x86-64

lightmotif-0.9.1-cp39-cp39-win_amd64.whl (334.3 kB 查看哈希值)

上传于 CPython 3.9 Windows x86-64

lightmotif-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (485.0 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

lightmotif-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (473.4 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

lightmotif-0.9.1-cp39-cp39-macosx_11_0_arm64.whl (417.7 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

lightmotif-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl (439.5 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

lightmotif-0.9.1-cp38-cp38-win_amd64.whl (334.4 kB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

lightmotif-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (485.0 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

lightmotif-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (473.7 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

lightmotif-0.9.1-cp38-cp38-macosx_11_0_arm64.whl (417.5 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

lightmotif-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl (439.3 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

lightmotif-0.9.1-cp37-cp37m-win_amd64.whl (334.1 kB 查看哈希值)

上传于 CPython 3.7m Windows x86-64

lightmotif-0.9.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (485.5 kB 查看哈希值)

上传于 CPython 3.7m manylinux: glibc 2.17+ x86-64

lightmotif-0.9.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (473.9 kB 查看哈希值)

上传于 CPython 3.7m manylinux: glibc 2.17+ ARM64

lightmotif-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl (440.6 kB 查看哈希值)

上传于 CPython 3.7m macOS 10.9+ x86-64

由以下组织支持