Kodomo

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

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

Задания практикум 7

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
округление до трех знаков после точки достаточно и правильно. В этой задаче точность до десяти знаков явно избыточна.
          ААл

Объяснение см. в подсказках.