Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

(구)boymin

유전 시뮬레이션 2.0 [Simulation Of Heredity] 본문

Programming/Program

유전 시뮬레이션 2.0 [Simulation Of Heredity]

boymin 2018. 3. 15. 02:42

유전 시뮬레이션에 관한 두번째 글이다.


저번 주 부터 기획하고 개발하기 시작해서,

오늘 드디어 나름의 형태를 갖춘 프로그램이 나왔다.


개발 기간은 하루에 대략 3~4시간 씩 총 20~30시간 내외로 걸린 것 같다.




프로그램의 동작 모습의 일부를 녹화한 사진들이다.


아직은 윤리적인 문제나 자잘한 버그가 조금 있지만,

그래도 활용하기위한 최소한의 구현은 된 것 같다.


원하는 개체를 만들 수도 있고, 개체끼리 교배시켜 가족을 형성할 수도 있다.

당연하게도, 가족이 형성된 개체간에서는 자손을 생성할 수 있다.


각 개체에 마우스를 올리면 정보를 불러와,

유전자의 정보나 그 개체가 태어날 확률을 볼 수 있다.




SOH.zip

클릭하여 현재까지의 프로그램을 다운받을 수 있다.




프로그램의 플로우는 대략 이렇다.


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
Comments