基于语义搜索的真菌DNA条形码
项目描述
TaxoTagger
TaxoTagger是一个由语义搜索驱动的Python库,用于DNA条形码识别。
功能
- 🚀 无需努力即可从DNA序列(FASTA文件)构建向量数据库
- ⚡ 实现高度高效和准确的语义搜索
- 🔥 易于扩展对各种嵌入模型的支撑
安装
TaxoTagger需要Python 3.10或更高版本。
# create an virtual environment
conda create -n venv-3.10 python=3.10
conda activate venv-3.10
# install the `taxotagger` package
pip install --pre taxotagger
用法
从FASTA文件构建向量数据库
from taxotagger import ProjectConfig
from taxotagger import TaxoTagger
config = ProjectConfig()
tt = TaxoTagger(config)
# creating the database will take ~30s
tt.create_db('data/database.fasta')
默认情况下,~/.cache/mycoai
文件夹用于存储向量数据库和嵌入模型。如果不存在,将自动将MycoAI-CNN.pt
模型下载到该文件夹,并创建以模型命名的向量数据库。
使用FASTA文件进行语义搜索
from taxotagger import ProjectConfig
from taxotagger import TaxoTagger
config = ProjectConfig()
tt = TaxoTagger(config)
# semantic search and return the top 1 result for each query sequence
res = tt.search('data/query.fasta', limit = 1)
data/query.fasta
文件包含两个查询序列:KY106088
和KY106087
。
搜索结果res
将是一个字典,键为分类级别名称,值为每个查询序列的匹配结果。例如,res['phylum']
将类似于
[
[{"id": "KY106088", "distance": 1.0, "entity": {"phylum": "Ascomycota"}}],
[{"id": "KY106087", "distance": 0.9999998807907104, "entity": {"phylum": "Ascomycota"}}]
]
第一个内部列表是第一个查询序列的前几个结果,第二个内部列表是第二个查询序列的前几个结果。
我们可以看到,对于两个查询序列,前1个结果都是完全相同的。这是因为查询序列也存在于数据库中。您可以用不同的查询序列尝试,看看搜索结果。
文档
请访问官方文档获取更多详细信息。
问题和反馈
如果您有任何问题或反馈,请提交问题。
引用
如果您在您的作品中使用了TaxoTagger,请通过点击此页面上方的“引用此存储库”来引用它。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。
源分布
taxotagger-0.0.1a2.tar.gz (18.2 kB 查看散列)
构建分布
taxotagger-0.0.1a2-py3-none-any.whl (19.1 kB 查看散列)
关闭
taxotagger-0.0.1a2.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | e395b23e0f8644d94149f37af196ba881710afa59a7589075a544b1a2a2d0b26 |
|
MD5 | 143b999e86d3d06bf845542aa3f8e1f3 |
|
BLAKE2b-256 | 52000b3b7b35ab03c16a4c02972546ff30e440cfbaa4321d57cd3825c07199dc |
关闭
taxotagger-0.0.1a2-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | fd80016c2eec2434513aafd8cf2fe9699d1efac7fb5f2a1edb974c62fcff134e |
|
MD5 | 1ccda7adfc68d543df0274d55d5f8d52 |
|
BLAKE2b-256 | 93a46d0be13156bd7667acd29b6b02439066516e1f630a71c48ce0d3e2b9402b |