请参阅:https://github.com/DominikBuchner/BOLDigger3
一个更好的 Python 程序,用于根据 www.boldsystems.org 的 COI 数据库查询 .fasta 文件
DNA 元条形码数据集通常包含数百个操作分类单元 (OTU),需要查询数据库以进行分类分配。生命数据条形码系统 (BOLD) 是生物学家广泛使用的数据库。然而,BOLD 的在线平台限制用户一次只能识别 50 个序列的批次。此外,使用 BOLD 的 API 并不能完全解决这个问题,因为它不提供对私有和早期发布数据的访问。
BOLDigger2 是 BOLDigger 的后继者,旨在克服这些限制。作为纯 Python 程序,BOLDigger2 提供:
通过利用这些功能,BOLDigger2 简化了 OTU 识别过程,使其更加高效和全面。
identify
,自动执行识别、附加数据下载和热门命中的选择。这使得能够直接实施到管道中。identify
函数仅接受一个参数:要识别的 FASTA 文件的路径。它将所有结果保存在同一文件夹中。BOLDigger2 需要 Python 3.10 或更高版本,并且可以在任何命令行中使用 pip 轻松安装:
pip install boldigger2
此命令将安装 BOLDigger2 及其所有依赖项。
要运行识别功能,请使用以下命令:
boldigger2 identify PATH_TO_FASTA
为了自动化生物信息学管道中的识别功能,粗体凭据也可以直接作为可选参数传递
boldigger2 identify PATH_TO_FASTA -username USERNAME -password PASSWORD
为了根据用户特定需求定制已实现的阈值,可以将阈值作为附加(有序)参数传递。对于不同的分类级别(种、属、科、目、纲),最多可以通过 5 个不同的阈值。未通过的阈值将默认被替换,但 BOLDigger2 也会通知您这一点。
boldigger2 identify PATH_TO_FASTA -thresholds 99 97
输出:
19:16:16: Default thresholds changed!
19:16:16: Species: 99, Genus: 97, Family: 90, Order: 85, Class: 50
19:16:16: Trying to log in.
BOLD username:
BOLDigger2 会提示您输入用户名和密码,然后执行识别。
当新版本发布时,您可以通过键入以下内容来更新 BOLDigger2:
pip install --upgrade boldigger2
Buchner D、Leese F (2020) BOLDigger – 一个 Python 包,用于使用生命数据条码系统识别和组织序列。元条形码和宏基因组学 4:e53535。 https://doi.org/10.3897/mbmg.4.53535
BOLDigger2算法按照以下流程图运行:
登录粗体:
生成物种级条形码的下载链接:
下载热门 100 首歌曲:
"top_100_hits_unsorted"
将结果保存到 HDF 存储。识别没有物种级命中的序列:
生成所有记录的下载链接:
下载所有记录的前 100 首热门歌曲:
"top_100_hits_unsorted"
将结果保存到 HDF 存储。排序并保存热门歌曲:
"top_100_hits_sorted"
将它们保存在 HDF 存储中。保存附加数据:
"top_100_hits_additional_data"
将包含附加数据的点击保存到 HDF 存储。将附加数据导出到 Excel:
计算并保存热门点击:
identification_result.xlsx
) 和 Parquet 格式 ( identification_result.parquet.snappy
) 保存热门命中,以便快速进一步处理。使用分类级别的不同阈值(97%:物种级别、95%:属级别、90%:科级别、85%:目级别、<85% 和 >= 50:类级别)来查找最合适的命中。确定所有命中的阈值后,将选择高于阈值的最常见命中。请注意,对于低于阈值的所有命中,分类分辨率将相应调整(例如,对于 96% 的命中,物种级信息将被丢弃,属级信息将用作最低分类级)。
BOLDigger2算法的功能如下:
识别最大相似度:查找当前考虑的前 100 个匹配项中的最大相似度值。
设置阈值:将阈值设置为此最大相似度。删除所有相似度低于此阈值的命中。例如,如果最高命中的相似度为100%,则阈值将设置为97%,所有低于该阈值的命中将被暂时删除。
分类和排序:统计所有单独的类别并按丰度排序。
过滤缺失数据:删除包含缺失数据的所有分类。例如,如果最常见的命中是“节肢动物门 --> 昆虫纲”,相似度为 100%,但缺少目、科、属和物种的值。
识别常见命中:查找没有缺失值的最常见命中。
返回命中:如果找到没有缺失值的命中,则返回该命中。
阈值调整:如果没有找到没有缺失值的命中,则将阈值增加到下一个更高级别并重复该过程,直到找到命中。
BOLDigger2 采用标记系统来突出显示某些条件,表明所选命中的不确定性程度。目前,已实现五个标志,可以根据需要进行更新:
反向 BIN 分类法:如果表示所选匹配的所有前 100 个命中都使用反向 BIN 分类法,则会引发此标志。反向 BIN 分类法将物种名称分配给 BOLD 上缺乏物种信息的沉积序列,这可能会引入不确定性。
不同的分类信息:如果有两个或多个条目的不同分类信息高于所选阈值(例如,两个物种高于 97%),则会触发此标志,表明潜在的差异。
私有或早期发布数据:如果代表热门点击的所有前 100 个点击都是私有或早期发布点击,则将引发此标志,表示对数据的访问有限。
唯一命中:此标志指示最高命中结果代表前 100 个命中中的唯一命中,可能需要进一步审查。
多个 BIN :如果选定的物种级命中由多个 BIN 组成,则会升起此标志,表明分类分配中存在潜在的复杂性。
鉴于这些标志的存在,建议对所有标记的命中进行仔细检查,以更好地理解和解决所选命中中的任何不确定性。