Это тема, которая также связана с воспроизводимостью результатов: всегда лучше использовать необработанную бинарную версию, предоставляемую NCBI или UCSC, потому что это сделает ваши результаты easirir воспроизведными другими учеными и спасет вас много времени, потраченное на написание тестов (больше времени, чем вы можете себе представить).
Для повседневной работы я часто использовал exonerate, инструмент, написанный на C, который может выполнять как глобальное, так и локальное выравнивание, имеет простой unix-подобный интерфейс и не требует форматирования ввода как с взрывом.
Кроме того, имейте в виду, что люди обычно используют комбинацию make-файлов и скриптов для определения конвейера, а не для вызова всего из сценария: большинство языков программирования нехорошо определяют конвейеры, в то время как автоматические инструменты сборки, такие как Make, не являются полезно для задач сценариев. Взгляните на эти примеры: http://skam.sourceforge.net/skam-intro.htmlhttp://swc.scipy.org/lec/build.html
Дополнения: Я знаю, что повторное осуществление BLAST было бы бесполезно.Я также не могу использовать интерфейс для взрыва, запущенного в Интернете, потому что я хочу определить свою собственную библиотеку последовательностей для выравнивания. Мне бы очень хотелось найти библиотеку, которая предлагает взлом и smith-waterman и, возможно, другие алгоритмы выравнивания, которые можно вызывать из моего кода без необходимости записывать мои последовательности во входной файл и запускать системный вызов со сложными параметрами для запуска выравниваний , – brandstaetter
Есть ли причина, по которой вы не хотите делать вызовы системы() на локальную копию BLAST? –
Я не хочу записывать последовательности в файл, который необходим в качестве входных данных для этих автономных программ. – brandstaetter