Учебная страница курса биоинформатики,
год поступления 2018
Подсказки и уточнения по заданиям
Для освоения команд полезно использовать python как "калькулятор". Для этого достаточно выполнить команду python (или python3.6 – как это определено в вашем компьютере) без имени программы. Появится что-то вроде командной строки python; после >>> можно написать любую команду python, нажать <Enter> и она выполнится. Чтобы узнать значение переменной x, можно не писать print(x), а просто написать x. Чтобы выйти из "командной строки" python, вызовите функцию exit().
>>>x = 10 >>>print(x) 10 >>>x 10 >>>1+2 3 >>>type(x) <class 'int'> >>>range(x) #где x -- целое >>>help(range) >>>help(str) #в скобках может быть название любой другой функции >>>list(range(x)) >>>list("qwerty") >>>input("Enter a number ") >>>int(input("Enter a number ")) >>>int("5") >>>int("5.5") >>>float("5.5") >>>m = "Vasya" >>>n = "Who is " >>>n + m 'Who is Vasya' >>>## Можно пропустить >>>a = 5 >>>a = "qwerty" >>>a = range(5) >>>type(a) >>>a = 1.5j+5 >>>type(a) >>>a = True >>>type(a) >>>a = None >>>type(a) >>>a = print >>>type(a) # чтобы немножко сломать себе мозг) >>>a("qwerty") # чтобы сломать его посильнее >>>a(a(a(a("qwerty")))) # чтобы сломать его совсем >>>exit()
1.
Нужно освоить команды:
input("текст") сложение текстовых переменных print()
2.
Нужно освоить команды:
if условие: команды elif другое условие: команды elif еще одно условие: команды else: команды
Кодирующая (белок) последовательность ДНК начинается с первого нуклеотида инициаторного кодона и заканчивается третьим нуклеотидом стоп-кодона. По английски - CDS, coding sequence.
В одном из принятых форматов координаты CDS указываются так: номер первого нуклеотида инициаторного кодона, номер последнего нуклеотида стоп-кодона. Так указываются координаты и если CDS на прямой цепи, и если - на комплементарной. Но номера нуклеотидов отсчитываются всегда по прямой цепи.
3.
Нужно освоить операцию возведения в степень, например, 100**0.5.
4.
Нужно освоить арифметические операции. Например, Вам может понадобиться операция взятия остатка от деления.
>>>123 % 4 3 >>>13 % 4 1 >>>2 % 4 2
Хотя, можно обойтись и без нее, используя целочисленное деление.
>>>12 / 5 2.4 >>>12 // 5 2
5.
Нужно освоить цикл for.
6.
Если указано, что кодирующая последовательность расположена на прямой цепи, то это значит, что при транскрипции матрицей является комплементарная цепочка и, следовательно, мРНК имеет ту же последовательность (с заменой тимина на урацил), что и кодирующая последовательность ДНК.
7.
Можно обойтись только циклом for, проверкой условий if и сцеплением строк с помощью +. Однако, не запрещено использовать получение длины строки len("qwerty") и получение буквы по индексу string[3].
8.
Вероятность это число p от нуля до единицы являющееся предсказанием частоты наблюдения определенного события среди определенной совокупности событий. Пример. Вероятность p(AA) рождения ребенка, гомозиготного по доминантному аллелю A у пары родителей, каждый из которых - гетерозигот по аллелю A.
Эта вероятность может быть рассчитана математически согласно законам Менделя.
Это предсказание можно проверить, определив какие аллели у большой выборки троек (папа, мама, ребенок) таких, что папа и мама гетерозиготы по изучамому аллелю. Частота f в этом исследовании равна отношению числа наблюдений интересующего события (детей - гомозигот по доминентному аллелю)к общему числу наблюденных событий (всех детей из троек).
Откуда берется вероятность?
(1) Из большого числа наблюдений частоты события. Вероятностью считают частоту, полученную из эксперимента. Собственно так и были сформулированы законы Менделя
(2) При определенных предположениях вероятность события можно рассчитать математически. Важным предположением для вычисления вероятности является независимость событий.
Например, события в день, когда занятия по матану (i) увидеть белку по дороге на факультет и (ii) вызов к доске по матану являются независимыми (я предполагаю), вероятность их совместного наблюдения равна произведению вероятностей каждого из них.
По поводу задания. Автору задачи и всем другим преподавателям биоинфы она кажется корректно поставленной. А я глупый, увы, и поэтому долго не мог написать подсказки. Хотя задача мне кажется очень подходящей для вас. Однако, описано распеределений аллелей гена в популяции, а спрашивается про вероятность тройки (родитель один, родитель два, потомок). Я понимаю, чего хотят авторы - вроде, как учат в школе, применить выученные приемы. '''Первый'''. Вероятность выбора пары с такими-то аллелями (аллели у перой особи, аллели у второй особи) считать равной частоте пар с такими аллелями среди всех потенциально возможных пар (т.е. отношению числа пар с таким набором особей к числу всех потенциально возможных особей; еще в этой задаче надо задуматься над вопросом: пара особей (y,x) и пара (x,y) это та же пара или другая?) '''Второй'''. У потомка аллели, полученные от каждого предка, выбираются независимо, выбор аллеля у одного предка происходит равновероятно. Т.е. если у предка аллели AA, то "первый" A выбирается с вероятностью 1/2 и втрой выбирается с вероятностью 1/2. Другое дело, что в этом случае все равно потомок получает доминантный аллель от этого предка, но физически аллели у предка различимы , они лежат на разных хромосомах (хотя и гомолгичных хромосомах и аллели - в гомологичных локусах). Далее, в ожидаемом решении, неявно предполагается, что-то про потомка. Например, каждая потенциально возможная пара потенциально дает одного потомка... Или мы, наблюдая за популяцией интересуемся только первым потомком, появившимся во всей популяции. В натуре довольно сложно провести такие наблюдение за, например, популяцией виноградных улиток, - чтобы проверить предсказание, т.е. вероятность. Вот. Другие преподаватели захотят меня критиковать. Если да, то прошу их сделать это публично, на этой странице. ААл
Рисунок 1. Вероятность любого исхода (листья) на дереве вероятностей представляет собой произведение вероятностей от начала дерева до исхода. Например, вероятность, что первый шар будет голубым (X = голубой) и второй шар будет голубым (Y = голубой) равна ⅖*¼ =1/10.
Вероятность – это математическое исследование случайно происходящих событий. Смоделируем ситуацию, когда есть переменная, которая будет принимать различные значения, в зависимости от результата случайного процесса. Например, у нас есть ящик, в котором лежат 3 красных и 2 синих шара. Пусть Х – случайная величина, соответствующая цвету вынутого шара, тогда вероятность (Pr от probability) каждого из двух результатов (вытянуть красный или синий шар) будет равна Pr(X=красный) = ⅗ и Pr(X=blue)=⅖. Случайные величины могут комбинироваться, и при этом возникают новые случайные величины. Возвращаясь к нашему примеру, пусть Y – будет случайной величиной, соответствующей цвету второго вынутого шара (первый шар в ящик не возвращается). Вероятность Y зависит от того, какого цвета был первый вытащенный шар. Все возможные результаты X и Y показаны на дереве вероятностей (Рис.1). Событие - это простой набор результатов. Поскольку результаты независимы, вероятность события определяется как сумма вероятностей отдельных результатов. Например, событие А заключается в том, что второй раз вытянули синий шар (Y = синий). Вероятность это события равна сумме вероятностей двух различных результатов Pr(X=синий и Y=синий)+Pr(X=красный и Y=синий), или 1/10+3/10=2/5 (см. Рис. 1). Если результаты зависимы, например, событие B – сначала красный, потом синий шар, чтобы определить вероятность наступления события B надо перемножить вероятности наступления каждого из результатов.
`stroka = "ABCDEGFDK" countD = 0 `for x in stroka:' ` if x == "D":
Много, с доски перепечатывать они уже сегодня научились, пусть сами думают! Закомментировал ИР