Скрипт работает очевидным образом (достаточно взглянуть на код), для удобства реализации операций были использованы библиотеки numpy, pandas (для хранения информации в виде DataFrame), seaborn и matplotlib (для того, чтобы нарисовать график).
Несовпадения у аннотации и предсказаниями Prodigal вызваны в первую очередь тем, что при поиске ORF'ов были найдены различные стартовые кодоны (это может быть связано с тем, что поиск консенсуса Шайна-Дальгарно затруднён из-за его низкой силы). Так, это причина несовпадения следующих генов:
- Prodigal нашёл ген с координатами 1:924 (+), аннотирован же он как 7:924 (+) — если посмотреть на последовательность, то видно, что и 1:3, и 7:9 нуклеотиды — это ATG (старт-кодон).
- Ровно та же история и с геном, у которого Prodigal предсказал координаты 1620:1904 (+), а аннотирован он как 1599:1904 — здесь в обоих случаях первым кодоном является ATG.
Стоит обратить внимание, что нет ни одной ситуации, когда рамка считывания совпадает на N-конце и не совпадает на C-, что связано с большей однозначностью при определении закрытии рамки считывания — стоп-кодон однозначен, в отличие от старт-кодона, который также отвечает и за кодирование метионина.