(구)boymin
유전 시뮬레이션 2.0 [Simulation Of Heredity] 본문
유전 시뮬레이션에 관한 두번째 글이다.
저번 주 부터 기획하고 개발하기 시작해서,
오늘 드디어 나름의 형태를 갖춘 프로그램이 나왔다.
개발 기간은 하루에 대략 3~4시간 씩 총 20~30시간 내외로 걸린 것 같다.
프로그램의 동작 모습의 일부를 녹화한 사진들이다.
아직은 윤리적인 문제나 자잘한 버그가 조금 있지만,
그래도 활용하기위한 최소한의 구현은 된 것 같다.
원하는 개체를 만들 수도 있고, 개체끼리 교배시켜 가족을 형성할 수도 있다.
당연하게도, 가족이 형성된 개체간에서는 자손을 생성할 수 있다.
각 개체에 마우스를 올리면 정보를 불러와,
유전자의 정보나 그 개체가 태어날 확률을 볼 수 있다.
클릭하여 현재까지의 프로그램을 다운받을 수 있다.
프로그램의 플로우는 대략 이렇다.
1. 각 개체는 성별, 혈액형, 우성 형질 유전자, 열성 형질 유전자를 가지고 있으며,
계산하고 싶은 유전자를 정하기 위해서 성별을 제외한 유전자들의 활성화 여부를 정할 수 있다.
2. 결혼을 하지 않은 각 개체는 자신과 동일한 유전자의 활성화여부를 가진 다른 개체와 결혼할 수 있다.
3. 결혼을 하여 가족을 이룬 개체는,
부부와 동일한 유전자의 활성화여부를 지닌 자손을 생성할 수 있다.
4. 자손이 태어날 때에는 자신이 태어날 수 있는 확률을 계산하고,
부모 양 측이 태어날 확률을 곱해 최종적으로 자신이 태어날 수 있는 확률을 계산한다.
유전 시뮬레이션 1보다 개선된 점
1. 단순 수치 증명에서 그치지 않고, 실제 생명과학 공부 시간에 활용이 될 수 있다.
2. 프로그램이 시작할 때 개체의 유전자가 정해지는 것이 아닌,
원하는 유전자를 가진 개체를 아무때나 생성할 수 있다.
3. 특정 개체들끼리의 교배나 자가교배만 다루는 것이 아닌,
원하는 개체들간의 교배를 다룰 수 있다.
4. 따라서 1대의 자손들만 다루는 것이 아닌,
여러 대의 가족을 가계도로 만들어 다룰 수 있다.
등
추가해야 할 점
1. 특정 유전자의 연관 (상인연관 / 상반연관)
2. 표현형으로 확률을 계산하기
3. 형질 수 늘리기
등
나는 이 프로그램으로 나 말고도 많은 학생들이 생명과학에 관심을 갖으면 좋겠다고 생각하였다.
유전 분야 문제집 문제에서 요구하는 능력과는 조금 어긋난 프로그램이긴 하지만,
해당 분야를 공부할 때 호기심과 관심을 불러일으키는 역할을 충분히 할 수 있다고 생각하기 때문이다.
이 프로그램은 소프트웨어와 생명과학을 융합해서,
생명과학의 교육용 프로그램이라는 의미를 가진다.
나는 이런식으로 좀 더 다양한 분야에서 사람들에게 도움이 될 수 있는 프로그램을 계속해서 만들고 싶다.
'Programming > Program' 카테고리의 다른 글
열역학 과정 시뮬레이터 (0) | 2018.08.01 |
---|---|
영어 단어장 프로그램 (0) | 2018.07.28 |
타원 그리기 프로그램 (1) | 2018.07.27 |
유전 시뮬레이션 (Simulation of Heredity) (0) | 2018.03.14 |