Kodomo

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

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

Зачет

Для зачета требуется набрать 13 баллов. Для этого необходимо решить решить ВСЕ!!! нерешенные контрольные, а также задачи по непокрытым темам. Входные параметры для всех задач задавайте с помощью argparse либо sys.argv

Темы занятий

1.Введение. Python как калькулятор. Стандартные типы. Переменные.

2. Графические программы в Python.

3. Функции. События в графическом интерфейсе.

4. Классы и объекты.

5. Контрольная работа

6. Файлы, строки, словари.

7. Регулярные выражения. Форматирование выдачи.

8. Параметры командной строки. Работа с html в python.

9. Контрольная работа

10. Biopython.

11. Классы и объекты 2. Исключения.

12. Контрольная работа

Задачи

Примеры входных файлов в формате Fasta


  1. 2: (1 балл) Нарисуйте дом, состоящий как минимум из двух прямоугольников (корпус дома и окно), треугольной крыши, и три звезды над ним в случайных местах.
  2. 2: (1 балл) Нарисуйте ёлку из несколких треугольников. Нарисуйте на ней разноцветные (случайных цветов) шарики в случайных местах
  3. 2: (1 балл) Нарисуйте дом, состоящий как минимум из двух прямоугольников (корпус дома и окно), треугольной крыши, и N звезды над ним в случайных местах. Звезды не могут быть под домом и не могут пересекаться с домом.
  4. 2: (1 балл) Нарисуйте N ёлок из несколких треугольников в случайных местах. С вероятностью 1/2 ёлка имеет на себе шарики.
  5. 2: (1 балл) Создайте список случайных чисел от 0 до 100. Постройте список пар, в которых первое число соответствует элементу исходного списка, а второе является результатом преобразования x+случайное число от -50 до 50. Нарисуйте точки, такие что первое число в паре соответствует координате x, второе - координате y данных точек.
  6. 3: (1 балл) Нарисуйте дом, состоящий как минимум из двух прямоугольников (корпус дома и окно), треугольной крыши, и N звезды над ним в случайных местах. Звезды не могут быть под домом и не могут пересекаться с домом. Звездочки должны мигать с такой частотой, чтобы было красиво.
  7. 3: (1 балл) Нарисуйте N ёлок из несколких треугольников в случайных местах. Сверху должны падать снежинки.
  8. 4: (1 балл) Нарисуйте N ёлок из несколких треугольников в случайных местах. Каждая ёлка является объектом класса ChristmasTree. По клику мыши все елки меняют свое положение на случайное.

  9. 4: (1 балл) Нарисуйте N воздушных шариков из овала, маленького треугольника и линии в случайных местах (цвета шариков также случайные). Каждый шарик является объектом класса Balloon. При нажатии на левую кнопку мыши шарики медленно летят вверх.
  10. 5 кр1: (1 балл) Задача из 2 занятия.
  11. 5 кр1: (2 балла) Нарисуйте несколько кружков фиксированного радиуса в случайных местах. Сделайте так, чтобы мышью можно было бы перетаскивать эти кружки.
  12. 6: (1 балл) Прочесть из файла координаты x и у точек и их цвета. Нарисовать данные точки соответствующими цветами. В файле могут быть пустые строки и строки с комментариями (начинаются с символа #), которые нужно игнорировать.
    • #set 1
      10     100    green
      100    50     red
      
      #set 2
      10     10     yellow
  13. 6: (1 балл) Разобрать fasta-файл. Напечатать имя последовательности (то, что между > и первым пробелом), а также длину последовательности. Обратите внимание, что последовательность может быть записана в несколько строк и дополнительно разделена пробелами.

    • >gi|5524211|gb|AAD44166.1| cytochrome b [Elephas maximus maximus]
      LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFSAIPYIGTNLV
      EWIWGGFSVDKATLNRFFAFHFILPFTMVALAGVHLTFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLG
      LLILILLLLLLALLSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVIL
      GLMPFLHTSKHRSMMLRPLSQALFWTLTMDLLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGX
      IENY
      
      >MCHU - Calmodulin - Human, rabbit, bovine, rat, and chicken
         ADQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTID
         FPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREA
         DIDGDGQVNYEEFVQMMTAK
  14. 6: (1 балл) Прочитать PDB-файл. Посчитать центр масс молекулы ((Σ miposi) / (Σ mi)).

  15. 6: (1 балл) Прочитать PDB-файл. Посчитать количество атомов каждого элемента.
  16. 6: (1 балл) Прочитать PDB-файл. Посчитать массу молекулы и массовую долю каждого элемента.
  17. 6: (1 балл) Прочитать fasta-файл, содержащий много последовательностей. Для каждой последовательности вывести на экран её имя и самую частую букву в ней. Программа должна полноценно разбирать командную строку и иметь названия параметров и описания к ним, понятные ПОЛЬЗОВАТЕЛЮ (тупому, который ничего не знает НИ об устройстве программы, НИ О ЕЁ НАЗНАЧЕНИИ), а не программисту.
  18. 6: (1 балл) Прочитать fasta-файл, содержащий много последовательностей из одного организма. Написать три самых частотных аминокислоты данного рганизма. Программа должна полноценно разбирать командную строку и иметь названия параметров и описания к ним, понятные ПОЛЬЗОВАТЕЛЮ (тупому, который ничего не знает НИ об устройстве программы, НИ О ЕЁ НАЗНАЧЕНИИ), а не программисту.
  19. 6: (1 балл) Дан fasta-файл, содержащий данные секвенирования. Данные состоят из прямых и обратных чтений, перемешанных произвольным образом в файле. Прямые чтения содержат в своём имени строку :1:, обратные чтения содержат в своём имени строку :2:, и кроме этой строки их имена совпадают. Выдать в выходной файл таблицу вида имя прямого чтения:тело прямого чтения:тело обратного чтения Программа должна полноценно разбирать командную строку и иметь названия параметров и описания к ним, понятные ПОЛЬЗОВАТЕЛЮ (тупому, который ничего не знает НИ об устройстве программы, НИ О ЕЁ НАЗНАЧЕНИИ), а не программисту. примеры в файлах reads*.fasta

  20. 6: (2 балла) "Однопалубный морской бой". Программа сочиняет поле для морского боя заданной ширины и высоты и случайным образом располагает на нём N однопалубных кораблей, но не сообщает пользователю, куда она их поставила. Программа рисует клеточное поле. При нажатии мышкой в клетку поля, в нём обозначается либо "мимо", либо "убит". Обязательное требование к реализации: всё поле хранится в одном словаре. Программа должна полноценно разбирать командную строку и иметь названия параметров и описания к ним, понятные ПОЛЬЗОВАТЕЛЮ (тупому, который ничего не знает НИ об устройстве программы, НИ О ЕЁ НАЗНАЧЕНИИ), а не программисту.
  21. 6: (1 балла) "Верификация однопалубного морского боя". Программа получает на вход файл в формате CSV, в котором указаны координаты X и Y однопалубных кораблей на поле морского боя. Программа получает из аргументов командной строки размеры поля. Программа проверяет, что файл, поданный на вход, является корректным и сообщает обо всех найденных ошибках. Возможные ошибки: два корабля соприкасаются бортами или углами; корабль находится за пределами поля. Обязательное требование к реализации: всё поле представляется одним словарём. Программа должна полноценно разбирать командную строку и иметь названия параметров и описания к ним, понятные ПОЛЬЗОВАТЕЛЮ (тупому, который ничего не знает НИ об устройстве программы, НИ О ЕЁ НАЗНАЧЕНИИ), а не программисту.
  22. 6: (2 балла) "Однопалубный морской бой". Программа получает на вход файл в формате CSV, в котором указаны координаты X и Y однопалубных кораблей на поле морского боя. Также, программа получает на с командной строки размер поля. Программа рисует клеточное поле. При нажатии мышкой в клетку поля, в нём обозначается либо "мимо", либо "убит". Обязательное требование к реализации: всё поле хранится в одном словаре. Программа должна полноценно разбирать командную строку и иметь названия параметров и описания к ним, понятные ПОЛЬЗОВАТЕЛЮ (тупому, который ничего не знает НИ об устройстве программы, НИ О ЕЁ НАЗНАЧЕНИИ), а не программисту.
  23. 7: (1 балл) Дан файл, в котором написано много идентификаторов разных биологических БД, по одному на строку. Учитывайте, что в файле кроме корректных идентификаторов могут встречаться и ошибочные. Выписать из них все идентификаторы БД pfam. (PF и пять цифр)
  24. 7: (1 балл) Дан файл, в котором написано много идентификаторов разных биологических БД, по одному на строку. Учитывайте, что в файле кроме корректных идентификаторов могут встречаться и ошибочные. Выписать из них все идентификаторы БД unirpot id. (от 1 до 6 буквоцифр, далее символ '_', далее от 3 до 5 буквоцифр)
  25. 7: (1 балл) Дан файл, в котором написано много идентификаторов разных биологических БД, по одному на строку. Учитывайте, что в файле кроме корректных идентификаторов могут встречаться и ошибочные. Выписать из них все идентификаторы БД unirpot ac. (слово из 6 символов, первая - буква одна из A,B,C,D,E,F,O,P,Q, вторая - цифра, далее 3 цифробуквы и последняя - опять цифра)
  26. 7: (1 балл) Дан файл, в котором написано много идентификаторов разных биологических БД, по одному на строку. Учитывайте, что в файле кроме корректных идентификаторов могут встречаться и ошибочные. Выписать из них все идентификаторы БД pdb. (Цифра и три цифробуквы)
  27. 7: (1 балл) Дан файл, в котором написано много идентификаторов разных биологических БД, по одному на строку. Учитывайте, что в файле кроме корректных идентификаторов могут встречаться и ошибочные. Выписать из них все идентификаторы БД ensembl. (префикс 'ENS', далее любая буква, далее 11 цифр, далее необязательный суффикс, состоящий из двух символов: '.' и цифра)
  28. 7: (1 балл) Дан файл, в котором написано много идентификаторов разных биологических БД, по одному на строку. Учитывайте, что в файле кроме корректных идентификаторов могут встречаться и ошибочные. Выписать из них все идентификаторы gi. (число, состоящее из 7-9 цифр, т.е. старшая цифра не может быть 0)
  29. 7: (1 балл) Дан fasta-файл. Дано описание мотива в формате PROSITE. Найти в файле все участки, удовлетворяющие мотиву. (например, в мотиве C-G-G-x(4,7)-G-x(3)-C-x-[FYWM]-Q-{NHG}-C отдельно стоящие заглавные буквы означают обычные аминокислоты, x - любая аминокислота, если после x стоят скобки, они задают кол-во повторов, две цифры в скобках задают минимум и максимум кол-ва повторов любой аминокислоты, квадратные скобки задают одну аминокислоту из тех, что перечислены в скобках, фигурные скобки означают одну аминокислоту, не перечисленную в скобках; более детально описано тут http://prosite.expasy.org/scanprosite/scanprosite-doc.html#pattern_syntax) В качестве вариантов задачи можно использовать следующие мотивы: PDOC00394, PDOC00178, PDOC00946, PDOC00124, PDOC00500, PDOC00661. Чтобы открыть описание мотива можно использовать ссылку вида http://prosite.expasy.org/PDOC00394.

  30. 8: (1 балл) Запишите в файл имена всех организмов со страницы http://tools.neb.com/~vincze/genomes/, размер генома которых превышает 3 Mbp. Адрес страницы должен являться первым позиционным параметром, задаваемым из командной строки.

  31. 9: кр2: (1 балл) Дан файл в формате GenBank. Посчитать общий GC-состав апстримных областей всех кодирующих участков (cds) в нём. Апстримная область определяется как N позиций, идущих перед началом кодирующего участка (или после конца – для участков на комплементарной цепи). Число N передаётся как параметр командной строки.

  32. 9: кр2: (1 балл) Дан файл в формате GenBank. Посчитать среднюю длину рибосомальных белков.Рибосомальными считаются CDS, у которых поле product содержит слово "ribosomal".

  33. 9: кр2: (1 балл) Дан файл в формате GenBank. Посчитать GC-состав некодирующей части данного генома.

  34. 10: (1 балл) Дан файл в формате fasta. Посчитать среднюю длину последовательностей.
  35. 10: (1 балл) Дан файл с последовательностями ДНК в формате fasta. Записать комлементарные последовательности в другой файл в формате stokholm.
  36. 11: (1 балл) Написать класс Student. У каждого студента есть имя, фамилия, курс и рейтинги за все предыдущие курсы. Также в классе есть метод, который считает средний рейтинг за все годы обучения. Создать список из нескольких студентов, для каждого выдать средний рейтинг.
  37. 11: (1 балл) Написать класс Patient (пациент). У пациента есть Фамилия, номер карты, возраст, диагноз и измеренная температура за все дни госпитализации (список). В классе есть метод, который возврашает температуру, измеренную в конкретный день госпитализации (по дате). Создать список из нескольких пациентов, вычислить "среднюю температуру по госпиталю" за последний день госпитализации.
  38. 11: (1.5 балл) Написать класс Master, который отличается от Student лишь тем, что имеет оценку за диплом. Средний рейтинг рассчитывается исходя из рейтингов за все годы обучения и оценки за диплом.
  39. 11: (1.5 балл) Написать класс DeadBody (труп), который отличается от пациента тем, что имеет поле для хранения даты и времени смерти, а метод, сообщающий температуру, возвращает 0 в дни после смерти.Создать список из нескольких пациентов и нескольких трупов, вычислить "среднюю температуру по госпиталю" за последний день госпитализации, умершие не должны портить данный показатель :-).

  40. 12: кр3 (1 балл) Дано выравнивание в формате ClustalW. Вывести количество столбцов выравнивания, в которых встречается ровно К различных аминокислот. Число К является параметром командной строки.
  41. 12: кр3 (1 балл) Дано выравнивание в формате ClustalW. Вычислить матрицу сходства последовательностей. Элементом матрицы d_ij является процент совпадающих аминокислот для i-ой и j-ой последовательности выравнивания.