Учебная страница курса биоинформатики,
год поступления 2010
Контрольная работа
Вариант 1
- Прочитать файл в формате Stockholm. Вывести строку, в которой для каждой позиции стоит либо *, либо буква, если данная позиция является полностью консервативной (и в ней встречаются только гэпы или одна и та же буква).
Прочитать файл в формате Stockholm. Построить матрицу N*N, где N - количество типов аминокислот, содержащую среднее количество замен аминокислоты A на аминокислоту B в колонке. Для этого в каждой колонке подсчитываем число пар аминокислот (A, B) и потом усредняем это число по всем колонкам (делим на количество колонок в выравнивании).
- На вход программе подается 2 файла - файл с множественным выравниванием в формате Pfam Stockholm и файл с безделеционным парным выравниванием в формате fasta. На основе множественного выравнивания построить матрицу замен аминокислотных остатков. Она строится аналогично тому, как матрица, описаннаяв задании 2. Но в каждой ячейке матрицы лежит не среднее количество замен, а log( f (α, β) / f (α) f ( β) ), где f (α, β) - среднее количество замен для пары (α, β), f (α) - среднее количество буквы α в колонке. Затем посчитать вес парного выравнивания как сумму весов его колонок (вес колонки берется из матрицы замен).
Разделить программу из задачи 3 на 2 части (отдельные программы). Первая часть берет на вход множественное выравнивание, строит по нему матрицу замен и сохраняет ее в файл (имя файла - параметр командной строки). Вторая часть получает на вход парное выравнивание с делециями в формате fasta, файл с матрицей замен и штрафы за открытие (d_open) и продление делеции (d_ext), и считает вес выравнивания. При этом за каждую серию идущих подряд делеций (в любой из последовательностей) добавляется штраф в размере d_open+d_ext*L, где L - длина делеции.
Материалы:
Вариант 2
Дан файл в формате GenBank, содержащий один прокариотический геном. Посчитать процент длины кодирующей области от длины всей хромосомы (кодирующими областями считать CDS).
Дан файл в формате GenBank, содержащий один прокариотический геном. Посчитать GC-состав его некодирующей части.
На вход программе подаётся файл а формате GenBank с описанием фрагмента ДНК и генов бактерий, закодированных на этом фрагменте. Программа выдаёт тело фрагмента ДНК с подписанными под ним (для транскрипции с прямой цепи) и над ним (для транскрипции с обратной цепи) последовательностями белков, хранящимися в поле \translation (CDS), считываемых с соответствующих позиций. Все свободные места между буквами белка заполняются стрелочками (> и <), указывающими направление гена.
На вход программе подаётся файл а формате GenBank с описанием фрагмента ДНК и генов эукариот, закодированных на этом фрагменте. Программа выдаёт тело фрагмента ДНК с подписанными под ним последовательностями белков, считываемых с соответствующих позиций. Координаты экзонов хранятся в поле CDS, последовательность белков необходимо получить из последовательности ДНК. При наличии нескольких вариантов CDS, соответствующих одному и тому же участку ДНК, они пишутся друг под другом. Все свободные места между буквами белка заполняются стрелочками (> и <), указывающими направление гена. Интроны заполняются точками.
Материалы:
Примеры бактериальных геномов в формате GenBank (для заданий 1, 2, 3).
Пример эукариотических генов в формате (для задания 4).
Вариант 3
- Разобрать матрицу замен аминокислотных остатков BLOSUM. Найти и вывести на экран самые близкие аминокислоты (максимальный элемент матрицы не на диагонали) и самые далекие (соответственно, минимальный элемент).
Написать программу, которая получает на вход парное выравнивание с делециями в формате fasta, файл с матрицей замен и штрафы за открытие (d_open) и продление делеции (d_ext), и считает вес выравнивания. При этом за каждую серию идущих подряд делеций (в любой из последовательностей) добавляется штраф в размере d_open+d_ext*L, где L - длина делеции.
Написать программу, которая получает на вход множественное выравнивание с делециями в формате ClustAl, файл с матрицей замен и штрафы за открытие (d_open) и продление делеции (d_ext), и считает вес выравнивания. Вес выравнивания = суммарный вес колонок - штрафы за делеции. Вес колонки считается как сумма весов всех пар. Штраф за делеции считаетс отдельно для каждой последовательности в размере d_open+d_ext*L, где L - длина делеции.
Написать программу, которая получает на вход множественное выравнивание в формате ClustAl, параметры d_open и d_ext и необязательный параметр N и оставляет из него наиболее надёжное подвыравнивание. Для этого необходимо удалять последовательность, удаление которой приведёт к повышению веса выравнивания или к наиболее незначительному уменьшению, и затем удалять образовавшиеся гэповые колонки. Эти два шага нужно выполнять до тех пор, пока не будет удалено N последовательностей (если N указано), либо пока удаление последовательности увеличивает (а не уменьшает) итоговый вес выравнивания. Получившееся подвыравнивание программа сохраняет в формате FASTA.
Материалы: