Учебная страница курса биоинформатики,
год поступления 2019
Финальная контрольная по Python
Можно выбрать любой вариант или сделать оба. Одного правильно сделанного варианта достаточно для зачёта. Результат (файле cw4a.py или cw4b.py) должен лежать в директории ~/term1/block2/credits к 10:35, скачивание автоматическое.
Вариант 1
Программа cw4a.py принимает в командной строке единственный аргумент — имя fasta-файла с несколькими нуклеотидными последовательностями.
Программа считает в каждой последовательности отдельно количество букв a, c, g и t, а также общую длину последовательности, и выдаёт на stdout таблицу из пяти столбцов через табулятор.
Первая строка выдачи: "Name a c g t All".
Следующие строки содержат в первой позиции имена (они же идентификаторы) последовательностей, найденных в файле, а в последующих — количества букв: a, c, g, t и всего, в соответствующей последовательности.
Для тестирования используйте файлы test1.fasta и test2.fasta, правильные ответы — в файле vara.txt , все эти файлы — в директории /P/y19/term1/block2 (скопируйте их в свою директорию для тестирования).
Описание fasta-формата см. здесь.
Вариант 2
Программа cw4b.py принимает в командной строке два параметра: имя pdb-файла и название атома в формате <номер остатка>:<цепь>.<имя атома>, например 15:C.CA. В данном случае имя атома задаётся в "раздетом" виде, то есть без начальных и конечных пробелов.
Программа выдаёт три строки с координатами этого атома в виде (пример):
X = 0.156 Y = 32.671 Z = -5.017
Для тестирования используйте файлы 1WET.pdb и 2BBJ.pdb, правильные ответы — в файле varb.txt, все эти файлы — в директории /P/y19/term1/block2 (скопируйте их в свою директорию для тестирования).
Позиции, в которых лежит информация в строках ATOM, смотрите здесь. Номер остатка — это Residue sequence number, цепь — это Chain identifier, имя атома — Atom name. Перед сравнением с именем атома, заданным на входе, имя атома из строки ATOM нужно освободить от начальных и конечных пробелов.