Учебная страница курса биоинформатики,
год поступления 2015
Задание
1. (1 балл) Напишите программу sum-sqrt.py, которая получает на вход таблицу из двух столбцов в формате CSV, и записывает выходной файл её же, добавляя 3-й колонкой квадратный корень из суммы первых двух, либо 4-й колонкой сообщение об ошибке, если случилась проблема (например, неправильно записано число, число отрицательное или неправильное число столбцов во входной таблице). Программа должна принимать аргументы командной строки: опция -i (--in-file) определяет имя входного файла; опция -o (--out-file) определяет имя выходного файла. Пример входного файла:
Для него выход должен быть примерно таким (с точностью до вида сообщений и количества лишних запятых):
2. (1.5 балла) Напишите программу, которая берет на вход bed файл с координатами генетических интервалов на хромосоме chr19, длина хромосомы 58 617 616. Ваша программа считает среднюю длину интервала. Для всех участков длинной меньше 100 п.о. выведите предупреждение в stderr(не учитывайте эти участки при подсчете средней длины). Для случая встречи не попадающего на хромосому интервала напишите выброс исключения и прекращение работы программы. По завершении работы программы(если она добирается до конца) должно выводиться сообщение в stderr о удачном завершении работы с некоторым числом предупреждений. Файлы - file1 , file2
3. (1 балла) Для системы геометрических фигур из конспекта добавить класс Circle. Cоздать список и заполнить его случайными фигурами. Вывести фигуры в порядке возрастания площади (вспоминаем лямбда-функции )
4. (+1.5 балла) Написать функцию, которая упорядочивает фигуры в списке по возрастанию площади, реализовав самостоятельно один из алгоритмов сортировки. Например, методом пузырька http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BF%D1%83%D0%B7%D1%8B%D1%80%D1%8C%D0%BA%D0%BE%D0%BC.