Финальная контрольная по 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 нужно освободить от начальных и конечных пробелов.