5SOO_O 의 개발 공부 일지
[Python] [Rosalind] Calculating Expected Offspring 본문
멘델의 제 1 법칙에 따라 우성 표현형을 가질 자손의 수를 계산하는 문제이다.
조건으로 모든 부부가 정확히 두 명의 자손을 갖는다는 가정 하에
다음 세대에서 우성 표현형을 나타내는 예상 자손 수를 구하라고 명시되어 있다.
유전자 조합 쌍이 문제에서 주어진다. 주어진 조합 쌍 순서대로 값을 입력해야 한다.
- AA-AA
- AA-Aa
- AA-aa
- Aa-Aa
- Aa-aa
- aa-aa
예를 들어 데이터에 담긴 값이 17727, 18175, 19468, 17788, 19917, 18823 라면
유전자형 조합이 AA-AA인 부모가 17727명 있다는 뜻이다.
# 각 유전자 조합 수가 담겨 있는 파일 열기
with open("rosalind_iev.txt") as file:
num = [i.strip() for i in file.readlines()] # 리스트에 담은 다음
num = ''.join(num).split(' ') # 하나의 문자열로 묶인 값 공백을 기준으로 나누고
num = [int(n) for n in num] # 문자열인 데이터 정수로 바꾸기
print(num)

def calculate_offspring(a, b, c, d, e, f):
x1 = a
x2 = b
x3 = c
x4 = 0.75 * d
x5 = 0.5 * e
x6 = 0 * f
return sum([x1, x2, x3, x4, x5, x6]) * 2
print(run(num[0], num[1], num[2], num[3], num[4], num[5]))

값이 잘 나왔다!
728x90
'자료구조 및 바이오 인포매틱스' 카테고리의 다른 글
| [Python] [Rosalind] Enumerating Gene Orders (0) | 2022.04.14 |
|---|---|
| [Python] [Rosalind] Independent Alleles (0) | 2022.04.12 |
| [Python] [Rosalind] Mortal Fibonacci Rabbits (0) | 2022.04.11 |
| [Python] [Rosalind] Consensus and Profile (0) | 2022.04.11 |
| [Python] [Rosalind] Mendel's First Law (0) | 2022.04.11 |