Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2019

Финальная контрольная по Python

Можно выбрать любой вариант или сделать оба. Одного правильно сделанного варианта достаточно для зачёта. Результат (файл cw4a.py или cw4b.py) должен лежать в директории ~/term1/block2/credits к 12:30, скачивание автоматическое.

Вариант 1

Программа cw4a.py принимает в командной строке единственный аргумент — имя fasta-файла с несколькими нуклеотидными последовательностями.

Программа считает в каждой последовательности отдельно количество букв a, c, g и t, а также общую длину последовательности, и выдаёт на stdout таблицу из пяти столбцов через табулятор.

Первая строка выдачи: "ID   Length   a   c   g   t".

Следующие строки содержат в первой позиции имена (они же идентификаторы) последовательностей, найденных в файле, во второй — длину последовательности (суммарное количество букв a, с, g и t) а в последующих — количества букв a, c, g и t по отдельности, в соответствующей последовательности.

Для тестирования используйте файлы test1.fasta и test2.fasta, правильные ответы — в файле vara.txt , все эти файлы — в директории /P/y19/term1/block2 (скопируйте их в свою директорию для тестирования).

Описание fasta-формата см. здесь.

Вариант 2

Программа cw4b.py принимает в командной строке два параметра: имя pdb-файла и название атома в формате <номер остатка>:<цепь>.<имя атома>, например 15:C.CA. В данном случае имя атома задаётся в "раздетом" виде, то есть без начальных и конечных пробелов.

Программа выдаёт координатами этого атома в виде (X, Y, Z), например:

(0.156, 32.671, -5.017)

Для тестирования используйте файлы 1WET.pdb и 2BBJ.pdb, правильные ответы — в файле varb.txt, все эти файлы — в директории /P/y19/term1/block2 (скопируйте их в свою директорию для тестирования).

Формат строки ATOM pdb-файла (позиции, в которых лежит информация) смотрите здесь. Номер остатка — это Residue sequence number, цепь — это Chain identifier, имя атома — Atom name. Перед сравнением с именем атома, заданным на входе, имя атома из строки ATOM нужно освободить от начальных и конечных пробелов.