Kodomo

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

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

Задание

Условия для этого задания:

  • Вам отводится только ОДНА неделя на выполнение этого задания – до 30 апреля

  • Вы выбираете любой один вариант из предложенных.
  • 30 апреля вы только демонстрируете работоспособность программы, никаких вопросов про то, как она работает, мы не задаём, и если она работает правильно, получаете 0.5 баллов

  • Вы сдаёте нам исходники вашей программы (например, присылаете на ) – далее они хранятся у нас

  • Спустя ещё две недели, 14 мая, вы можете получить ещё 1 балл, если сможете рассказать, глядя на те исходники, которые хранились у нас, как ваша программа устроена, какая переменная и функция за что отвечают, или попросить поправить программу, чтобы она вела себя чуть-чуть по-другому. Ещё 0.5 балла, если на каждую функцию в модулях, отвечающих за логику, в программе имеются тесты.

Итого, если вы написали программу так, что сможете в ней всё через три недели понять, и в ней всё содержательное хорошо протестировано, то вы получите 2 балла.

Приветствуются самые простые / минималистичные решения, вписывающиеся в условия.

  1. Сделайте программу, которая визуализирует поиск яблок из задачи №1 из 7-го занятия. Программа обязана быть разделена на два модуля – один отвечает за логику (создание поля, выбрасывание яблока на поле, проверка клетки), второй за отображение. Программа должна изображать поле, яблоко и процесс поиска яблока в динамике. В интерфейсе должна быть кнопка для добавления яблока в случайное место на поле и кнопка для начала поиска.

  2. Сделайте программу, которая получает с командной строки имя FASTA-файла с последовательностями ДНК и изображает процесс фореза белков в предположении, что скорость движения молекулы ДНК обратно пропорциональна длине его последовательности. Программа должна быть разделена на несколько модулей – один отвечает за интерфейс, и один или несколько за логику (работа с FASTA-файлом, создание структур данных для хранения состояния фореза, обновление состояния фореза за небольшой промежуток времени). Программа должна изображать процесс фореза в динамике. Процесс фореза должен автоматически останавливаться после разделения самых дальних полосок на заданное расстояние (для простоты, расстояние, на котором форез останавливается, может быть задано в коде программы и не быть доступно пользователю для изменения). В интерфейсе должна быть кнопка запуска фореза. Примеры последовательностей в FASTA