Учебная страница курса биоинформатики,
год поступления 2010
Дополнительные главы Python
По курсу будет выставлен зачёт. Условие для зачёта: участие в удачно завершившемся проекте (в команде никак не менее двух участников), доклад.
Занятия
(7 сентября) Введение. Правила игры в этом семестре: что такое экстремальное программирование. А заодно и естественный отбор на студентов, которые боятся скучных лекций
[ Материалы для более подробного изучения: Exterme programming rules ]
(15 сентября) mercurial для работы в команде. Подробный анонс тем докладов.
[ Задание ]
(22 сентября) И снова основы объектно-ориентированного программирования (ООП).
(29 сентября) ООП: множественное наследование, области применения, полезные трюки.
(6 октября) Работа с биологическими базами данных в питоне. – Катя Андреянова
(13 октября) Работа с 3D структурами молекул в питоне: Bio.PDB – Женя Зотова
(20 октября) Линейная алгебра в питоне. – Даша Дворкина.
[ Конспект ]
(27 октября)
(3 ноября) Практическое занятие по рекурсии.
(10 ноября) Декораторы.
(17 ноября)
(24 ноября) Практическое занятие: обсуждение проекта змейки, постановка задачи.
(1 декабря) Практическое занятие: обсуждение проекта змейки, определение классов, первые тесты.
(8 декабря)
(15 декабря)
Проект про змеек
Адрес репозитория: ssh://hg@kodomo.fbb.msu.ru/serpent
Возможные темы для проектов
Инициатива и другие идеи для проектов только приветствуются!
- Сборщик геномов
Игрушка (например, продолжить или переделать один из начатых проектов: SnakeBattle или Танчики)
Возможные темы для докладов
Предлагайте свои темы тоже!
(Темой для доклада является одна строка, не выделенная курсивом).
Питон для биоинформатики:
- Возможности для работы с питоном в pymol
- Работа с последовательностями и выравниваниями в питоне (Bio-python, allpy)
- Работа с деревьями в питоне (Bio.Phy, dendropy)
- Работа с биологическими базами данных в питоне
Математика:
numpy, scipy – линейная алгебра, статистика и т.п.
matplotlib – графики, вписывание параметрических функций в данные и т.п.
Работа с веб в питоне
- Как делать свои динамические сайты (flask)
- Как добывать данные с чужих сайтов (urllib)
- Базы данных, теория и практика (3-4 занятия)
Про документирование своего кода: "грамотное программирование" в питоне (PyLit), язык разметки re-structured text
- Объектная модель питона: наследование, статические и классовые методы, множественное наследование и super. Ещё раз про исключения: свои классы исключений, assert.
Как делать из питона язык для своих нужд (DSL: domain-specific language):
- перегрузка операций,
- декораторы,
- генераторы.
Синтаксические плюшки в питоне: with, новые способы работы с аргументами функций, списочные сокращения & генераторные выражения, внутристрочный if, возможности для злоупотребления and и or, lambda.
- Системы распространения питонских пакетов: pip, eazy_install, pypi.
Взаимодействие питона с C.