Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
dTub
Скачать

[BONUS] Comment Simuler l’Évolution de l’ADN en Python

Автор: Évoluscope

Загружено: 2024-06-01

Просмотров: 174

Описание:

Dans cette vidéo bonus je vous montre comment simuler l'évolution d'une séquence d'ADN en utilisant le modèle de Jukes-Cantor avec le langage de programmation Python. Je vous comment définir des fonctions pour substituer des nucléotides et calculer la p-distance entre deux séquences. La simulation demande à l'utilisateur le nombre de séquences, leur longueur et le nombre de mutations successives à appliquer. Les résultats sont tracés sur un graphique comparant les distances réelles, observées, et calculées par le modèle de Jukes-Cantor, démontrant la justesse du modèle.

Lien vers l'épisode correspondant :
Distance Génétique : Comment Mesure-t-on nos Différences ? :    • [Ép. 1] Distance Génétique : Comment Mesur...  

Lien vers l'autre vidéo BONUS :
Démonstration de la Relation de Jukes-Cantor :    • [BONUS] Démonstration de la Relation de Ju...  

Programme Python complet de la simulation (version 3.12.2) :

***
import random as rd
import numpy as np
import matplotlib.pyplot as plt

def substitute(seq):
pos = rd.randint(0, len(seq) - 1)
b = rd.choice("ATCG".replace(seq[pos], ""))
newseq = seq[:pos] + b + seq[pos + 1:]
return newseq

def pdist(seq1, seq2):
diff = 0
long = min(len(seq1), len(seq2))
for pos in range(long):
if seq1[pos] != seq2[pos]:
diff += 1
return diff / long

n = int(input("Combien de séquences voulez-vous simuler ? "))
L = int(input("Quelle est la longueur des séquences que vous voulez simuler ? "))
t = int(input("Combien de mutations voulez-vous leur faire subir ? "))

seqs = []
for _ in range(n):
seq = ""
for _ in range(L):
seq += rd.choice("ATCG")
seqs.append(seq)

iniseqs = seqs.copy()

real_dist = []
obs_dist = []
jc_dist = []
for i in range(t):
mean_dist = 0
for s in range(n):
seqs[s] = substitute(seqs[s])
mean_dist += pdist(seqs[s], iniseqs[s])
mean_dist /= n
real_dist.append((i + 1) / L)
obs_dist.append(mean_dist)
jc_dist.append((3/4) * (1 - np.exp(-(4/3) * (i + 1) / L)))

plt.plot(real_dist, real_dist, label="y = x", linestyle="--", color="red")
plt.plot(real_dist, obs_dist, marker=".", label="Distances moyennes observées", linestyle="none")
plt.plot(real_dist, jc_dist, label="Prédiction de Jukes-Cantor", linestyle="-", color="green")

plt.title("Distance moyenne observée en fonction de la distance réelle")
plt.xlabel("Distances réelles")
plt.ylabel("Distances observées")
plt.legend()
plt.show()
***

[BONUS] Comment Simuler l’Évolution de l’ADN en Python

Поделиться в:

Доступные форматы для скачивания:

Скачать видео mp4

  • Информация по загрузке:

Скачать аудио mp3

Похожие видео

LLM и GPT - как работают большие языковые модели? Визуальное введение в трансформеры

LLM и GPT - как работают большие языковые модели? Визуальное введение в трансформеры

Преломление и «замедление» света | По мотивам лекции Ричарда Фейнмана

Преломление и «замедление» света | По мотивам лекции Ричарда Фейнмана

11-летняя девочка поражает своей игрой!  Алиса Генриетта Юнкер - Будущая Звезда Мировых Шахмат!

11-летняя девочка поражает своей игрой! Алиса Генриетта Юнкер - Будущая Звезда Мировых Шахмат!

Визуализация внимания, сердце трансформера | Глава 6, Глубокое обучение

Визуализация внимания, сердце трансформера | Глава 6, Глубокое обучение

Почему простые числа образуют эти спирали? | Теорема Дирихле и пи-аппроксимации

Почему простые числа образуют эти спирали? | Теорема Дирихле и пи-аппроксимации

Теорема Байеса, геометрия изменения убеждений

Теорема Байеса, геометрия изменения убеждений

Понимание сталей и термообработки

Понимание сталей и термообработки

✓ Новая формула площади прямоугольного треугольника | Ботай со мной #159 | Борис Трушин

✓ Новая формула площади прямоугольного треугольника | Ботай со мной #159 | Борис Трушин

But what is quantum computing?  (Grover's Algorithm)

But what is quantum computing? (Grover's Algorithm)

Краткое объяснение больших языковых моделей

Краткое объяснение больших языковых моделей

Скалярное произведение и двойственность | Глава 9. Сущность линейной алгебры

Скалярное произведение и двойственность | Глава 9. Сущность линейной алгебры

Алгоритмы на Python 3. Лекция №1

Алгоритмы на Python 3. Лекция №1

Декораторы Python — наглядное объяснение

Декораторы Python — наглядное объяснение

Как LLM могут хранить факты | Глава 7, Глубокое обучение

Как LLM могут хранить факты | Глава 7, Глубокое обучение

Но что такое нейронная сеть? | Глава 1. Глубокое обучение

Но что такое нейронная сеть? | Глава 1. Глубокое обучение

Электромагнитная индукция

Электромагнитная индукция

Почему «Трансформеры» заменяют CNN?

Почему «Трансформеры» заменяют CNN?

Comment faire une IA sur n'importe quel JEU VIDÉO en PYTHON ? [TUTORIEL FR]

Comment faire une IA sur n'importe quel JEU VIDÉO en PYTHON ? [TUTORIEL FR]

Python 3D Graphics Tutorial 1: Installation and Demonstration of Vpython

Python 3D Graphics Tutorial 1: Installation and Demonstration of Vpython

Делаем графические процессоры по-настоящему быстрыми: глубокий анализ эффективности тренировок

Делаем графические процессоры по-настоящему быстрыми: глубокий анализ эффективности тренировок

© 2025 dtub. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]