Вариант 1
Это черновая версия Т.З. следите за обновлениями
Реализовать библиотеку для работы с выравниваниями и (текстовый) интерфейс к ней.
Библиотека должна предоставлять классы:
- Выравнивание. Предоставляет возможности:
- Чтение из файлов в формате FASTA
- Чтение структуры родственности последовательностей
- Построение выделения по всем позициям, по которым совпадают:
- a) все последовательности (абсолютные консервативные позиции)
- б) не менее n последовательностей (процентные консервативные позиции)
- в) совпадение учитывается в смысле попадания в класс эквивалентности (функциональные консервативные позиции)
- Построение выделения по всем позициям, в которых есть хотя бы n прочерков (зазоры)
- Выделение (набор позиций и строк в выравнивании). Предоставляет возможности:
- Создание из: выравнивания и списков позиций и последовательностей в нём
- Упорядоченное отображение в формате FASTA:
- выделенные последовательности идут первыми
- каждый блок соседних позиций окружён прочерками по всем строкам (не только выделенным)
- Неупорядоченное отображение в формате FASTA:
- к последовательностям добавляется ещё одна строка, содержащая в себе "+" в тех позициях, где выделение присутствует и прочерк в остальных
- Отображение в HTML:
- выделение обозначено цветом
- строки разбиты по заданной параметром ширине
Интерфейс должен предоставлять:
- доступ к каждой из функций через параметры командной строки
- чтение файла классов эквивалентности