Разработка приложений для ПК. Разработка с нуля. Добрый вечер Подзадача 1.1: Написать скрипт-обертку, который запускает Panaroo и затем фильтрует его результаты. Вход: 5 обновленных GFF-файлов. Что должен делать скрипт: 1. Запустить Panaroo с указанными параметрами (например, panaroo -i ./results/reannotated_gffs/*.gff -o ./results/panaroo_output --clean-mode strict -t 6 --aligner mafft). 2. После завершения работы Panaroo, прочитать его выходной файл gene_presence_absence.csv. 3. Отфильтровать этот файл по двум критериям: Консервативность: “No. isolates“ ≥ 3 (или 4, этот параметр должен быть настраиваемым). Гипотетичность: “Annotation“ содержит ключевые слова “hypothetical protein“, “unknown function“, “uncharacterized protein“. Выход: Один текстовый файл со списком ID ортогрупп, которые являются КГО, и, возможно, CSV-файл с отфильтрованной таблицей из Panaroo • Подзадача 1.2: Написать Python-скрипт, который для белков из списка КГО автоматизирует поиск известных белковых доменов. • Вход: Список ID ортогрупп КГО. Файлы с аминокислотными последовательностями (.faa). • Что должен делать скрипт: 1. Прочитать список КГО. 2. Для каждой КГО извлечь последовательности всех белков, входящих в нее. 3. Для каждой белковой последовательности запустить InterProScan (предпочтительно) или hmmscan(из пакета HMMER) против базы Pfam. 4. Собрать и спарсить результаты. Вывод должен быть очищен и представлен в удобном табличном формате. • Выход: Один или несколько TSV-файлов, где для каждого белка из КГО указаны: ID белка. ID ортогруппы (КГО). Найденные домены (например, ID из Pfam/InterPro). Описание домена. Координаты домена на белке. Статистическая значимость (E-value). • Подзадача 1.3: Написать Python-скрипт, который автоматизирует предсказание 3D-структур для белков из КГО и поиск их структурных аналогов. • Вход: Список ID ортогрупп КГО. Файлы с аминокислотными последовательностями (.faa). • Что должен делать скрипт: 1. Для каждой КГО извлечь последовательности белков. 2. Для каждой уникальной последовательности (или для репрезентативной последовательности каждой КГО) запустить ColabFold (через API или локально) или локальный AlphaFold2 для предсказания 3D-структуры. 3. После получения PDB-файлов со структурами, для каждой структуры запустить Foldseek для поиска по базам PDB и/или AlphaFold DB. 4. Спарсить результаты Foldseek, сохранив информацию о лучших структурных аналогах. • Выход: Папка со сгенерированными PDB-файлами (.pdb) и файлами с оценкой качества (pLDDT). TSV-файл с результатами поиска структурных аналогов, содержащий колонки: ID белка. ID ортогруппы (КГО). Лучший структурный аналог (PDB ID). Описание/функция аналога. Метрики сходства (TM-score, E-value). • Подзадача 1.4: Написать Python-скрипт, который для каждого гена из КГО анализирует его генное окружение. Вход: Список ID ортогрупп КГО и генов, входящих в них (можно получить из вывода Panaroo, например, из gene_data.csv). 5 обновленных GFF-файлов. Что должен делать скрипт: 1. Для каждого гена, входящего в КГО, определить, в каком из 5 фаговых геномов он находится. 2. Открыть соответствующий GFF-файл. 3. Найти этот ген и извлечь информацию о его соседях (например, 5 генов “вверх“ по координатам и 5 генов “вниз“). 4. Для каждого соседа сохранить его locus_tag, product (аннотацию) и направление транскрипции (strand). 5. Собрать эту информацию для всех генов из одной КГО. Выход: Текстовый отчет или TSV-файл, где для каждой КГО будет представлен анализ ее геномного окружения во всех фагах, где она присутствует. Например: ID ортогруппы (КГО). ID фага. Соседи “вверх“ (их аннотации). Ген из КГО. Соседи “вниз“ (их аннотации). (Повторяется для каждого фага, где есть эта КГО).