Учебная страница курса биоинформатики,
год поступления 2018
Задания практикум 7
- В каждом задании указано сколько баллов (максимум) присуждается за его выполнение.
- Для получения зачета по практикуму 7 необходимо набрать 4 или более баллов.
Обязательно прочитайте Правила оформления выполненных заданий!
- Обязательно проверьте работает ли программа, прежде чем отправлять ее в credits!
- После выполнения достаточного для зачета числа заданий запишитесь в очередь на проверку.
1. Hello world.
Мнемоника: hello. Баллы: 1.
Написать программу, печатающую текст "What is your name? ". После этого пользователь вводит своё имя, нажимает Enter и программа печатает "Hello, Vasya!", где Vasya — это имя, которое ввёл пользователь.
Пример общения с программой:
>python3 hello.py What is your name? Vasya Hello, Vasya!
2. Длина белка.
Мнемоника: protein-length. Баллы: 1 или 2.
Программа запрашивает два натуральных числа: номер первого нуклеотида старт-кодона кодирующей последовательности и номер третьего нуклеотида стоп-кодона (см. подсказки). Программа рассчитывает и печатает длину соответствующего белка. Два балла вместо одного, если программа будет выдавать правильный ответ и для кодирующих последовательностей, расположенных на комплементарной цепи.
Пример общения с программой:
>python3 protein-length.py Введите номер первого нуклеотида старт-кодона: 1 Введите номер последнего нуклеотида стоп-кодона: 300 99
3. Гипотенуза.
Мнемоника: hypothenuse. Баллы: 1.
Теорема Пифагора предполагается известной Программа запрашивает два действительных числа – длины катетов. В потоке вывода печатается длина гипотенузы треугольника.
Пример общения с программой:
>python3 hypothenuse.py Введите длину первого катета: 3 Введите длину второго катета: 4 5.0
4. Когда прозвенит будильник?
Мнемоника: clock. Баллы: 2.
Программа запрашивает текущее время – только часы, без минут – и через сколько часов прозвенит будильник. Программа рассчитывает и сообщает в котором часу прозвенит будильник.
Пример общения с программой:
>python3 clock.py Введите текущее время в часах: 14 Через сколько часов должен прозвенеть будильник? 28 18
5. Подсчет нуклеотидов в ДНК.
Мнемоника: dna. Баллы: 2.
Программа запрашивает на ввод последовательность ДНК (все буквы прописные). Пример строки ДНК длины 21: "ATGCTTCAGAAAGGTCTTACG". Программа рассчитывает и выдает четыре целых неотрицательных числа, разделенных пробелом – число нуклеотидов A, T, G, C в ДНК, введенной пользователем. Именно в таком порядке.
Пример общения с программой:
>python3 dna.py Введите последовательность ДНК: AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC 20 21 17 12
6. Транскрипция.
Мнемоника: rna. Баллы: 2.
Программа запрашивает последовательность ДНК (все буквы прописные) с кодирующей цепи и "транскрибирует" с нее РНК. При этом все тимины (буквы T) входной последовательности заменяются на урацилы (буквы U) в выходной последовательности, остальные буквы не меняются.
Пример общения с программой:
>python3 rna.py Введите последовательность ДНК: GATGGAACTTGACTACGTAAATT GAUGGAACUUGACUACGUAAAUU
См. подсказки, чтобы не запутаться с соответствием мРНК и кодирующей цепью.
7. Комплементарная цепочка ДНК.
Мнемоника: compl. Баллы: 3.
На вход подается последовательность ДНК. Программа выдает последовательность комплементарной цепочки.
Пример общения с программой:
>python3 compl.py Введите последовательность ДНК: AAAACCCGGT ACCGGGTTTT
8. Первый закон Менделя.
Мнемоника: mfl.
Баллы: 2
Изучается распределение аллелей A (доминантный) и a (рецессивный) одного и того же гена в популяции натуральных гермафродитов, см раздел "см раздел синхронные гермафродиты" из N особей. Значит, полов нет, любая особь может спарится с любой, но самоопладотворения не бывает.
На вход даны три натуральных числа k, m и n, k + m + n = N, описывающие популяцию: k особей доминантные гомозиготы, m особей – гетерозиготы, n – рецессивные гомозиготы.
Программа должна выдать вероятность того, что при случайном выборе пары потомок окажется доминантной гомозиготой.
Пример общения с программой:
>python3 mfl.py Введите количество доминантных гомозигот (AA): 2 Введите количество гетерозигот (Aa): 2 Введите количество рецессивных гомозигот (aa): 2 0.21666666666666667
Я бы хотел видеть такую выдачу Вероятность доминантно гомозиготного потомка равна 0.217 округление до трех знаков после точки достаточно и правильно. В этой задаче точность до десяти знаков явно избыточна. ААл
Объяснение см. в подсказках.