Пожалуйста, смотрите: https://github.com/DominikBuchner/BOLDigger3.
Еще лучшая программа Python для запроса файлов .fasta в базе данных COI www.boldsystems.org.
Наборы данных метабаркодирования ДНК часто включают сотни операционных таксономических единиц (OTU), требующих запроса к базам данных для таксономического присвоения. Система данных «Штрих-код жизни» (BOLD) широко используется биологами для этой цели. Однако онлайн-платформа BOLD ограничивает пользователей идентификацией партий только из 50 последовательностей одновременно. Кроме того, использование API BOLD не полностью решает эту проблему, поскольку не обеспечивает доступ к частным и ранним данным.
BOLDigger2, преемник BOLDigger, призван преодолеть эти ограничения. Будучи программой на чистом Python, BOLDigger2 предлагает:
Используя эти функции, BOLDigger2 оптимизирует процесс идентификации OTU, делая его более эффективным и комплексным.
identify
, которая автоматически выполняет идентификацию, загрузку дополнительных данных и выбор лучшего совпадения. Это обеспечивает прямую реализацию в конвейерах.identify
в BOLDigger2 принимает только один аргумент: путь к файлу FASTA, который необходимо идентифицировать. Он сохраняет все результаты в одной папке.BOLDigger2 требует Python версии 3.10 или выше и может быть легко установлен с помощью pip в любой командной строке:
pip install boldigger2
Эта команда установит BOLDigger2 вместе со всеми его зависимостями.
Чтобы запустить функцию идентификации, используйте следующую команду:
boldigger2 identify PATH_TO_FASTA
Чтобы автоматизировать функцию идентификации в биоинформатических конвейерах, учетные данные BOLD также можно передавать напрямую в качестве необязательных аргументов.
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
Бюхнер Д., Лиз Ф. (2020) BOLDigger — пакет Python для идентификации и организации последовательностей с помощью систем данных штрих-кода жизни. Метабаркодирование и метагеномика 4: e53535. https://doi.org/10.3897/mbmg.4.53535
Алгоритм BOLDigger2 работает согласно следующей блок-схеме:
Войдите в BOLD:
Создайте ссылки для скачивания для штрих-кодов видового уровня:
Скачать Топ-100 хитов:
"top_100_hits_unsorted"
.Определите последовательности без совпадений на уровне вида:
Создайте ссылки для скачивания для всех записей:
Скачать Топ-100 хитов для всех пластинок:
"top_100_hits_unsorted"
.Сортируйте и сохраняйте лучшие хиты:
"top_100_hits_sorted"
.Сохраните дополнительные данные:
"top_100_hits_additional_data"
.Экспорт дополнительных данных в 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 присваивает названия видов последовательностям, выделенным жирным шрифтом, в которых отсутствует информация о видах, что потенциально вносит неопределенность.
Различная таксономическая информация : если есть две или более записи с различной таксономической информацией, превышающей выбранный порог (например, два вида выше 97%), срабатывает этот флаг, что указывает на потенциальные несоответствия.
Частные данные или данные раннего выпуска . Если все 100 лучших обращений, представляющих наибольшее попадание, являются частными или ранними обращениями, этот флаг поднимается, указывая на ограниченный доступ к данным.
Уникальное попадание : этот флаг указывает, что результат с наибольшим количеством попаданий представляет собой уникальное попадание среди 100 лучших совпадений, потенциально требующее дальнейшего изучения.
Множественные BIN : если выбранное попадание на уровне вида состоит из более чем одного BIN, этот флаг поднимается, что указывает на потенциальные сложности в таксономическом присвоении.
Учитывая наличие этих флагов, рекомендуется провести более тщательную проверку всех помеченных совпадений, чтобы лучше понять и устранить любые неопределенности в выбранном попадании.