※ DNA 염기서열의 순서 바꾸기
- DNA 염기서열은 A(아데닌), T(티민), G(구아닌), C(시토신)으로 이루어지며, 배치 순서에 따라 생명의 종과
생물학적 특성, 종간의 연관성이 결정이 되는 중요한 요소임
염기 서열 분석 방식
- 염기 A는 T로 T는 A로 G는 C로 C는 G로 바꾸는 상보적(complementary) 방식
- 염기서열의 순서를 역순으로 바꾸는 역순(reverse) 방식
- 상보적 염기서열을 다시 역순으로 바꾸는 상보적 역순(reverse-complementary) 방식
def comp(seq):
comp_dict = {'A': 'T', 'T': 'A', 'C': 'G', 'G': 'C'}
seq_comp = "" # 변환된 문자열을 누적시켜 저장하기 위한 빈 문자열 생성
for char in seq:
seq_comp = seq_comp + comp_dict[char] # 빈 문자열에 키에 해당하는 값을 구해 누적하여 대입
return seq_comp
def rev(seq):
seq_rev = "".join(reversed(seq))
return seq_rev
def rev_comp(seq):
tmp = comp(seq)
return rev(tmp)
src = input("DNA sequence : ") # 확인하고자 하는 DNA의 입력값을 src 에 저장
cnvt = int(input("1(comp), 2(Rev), 3(Rev_Comp)")) # 변환 시키고자 하는 방식을 cnvt 에 저장
if cnvt >= 1 and cnvt <= 3:
if cnvt == 1:
rst = comp(src)
elif cnvt == 2:
rst = rev(src)
else:
rst = rev_comp(src)
print(src, "->", rst)
else:
print("1(comp), 2(Rev), 3(Rev_Comp)!!")
'기타 > What I Learned' 카테고리의 다른 글
[TIL] 파이썬으로 익히는 STEAM 코딩 (21.11.24) (0) | 2021.11.24 |
---|---|
[TIL] 파이썬으로 익히는 STEAM 코딩 (21.11.23) (0) | 2021.11.23 |
[TIL] 2021.11.20 (0) | 2021.11.20 |
[TIL] 2021.11.17 (0) | 2021.11.17 |
[TIL] 2021.11.16 (0) | 2021.11.16 |