๐งฌ Biology/๋ฐ์ด์ค ์ฝ๋ฉ ๋ฌธ์
[ROSALIND] ํจํด์ ์ซ์๋ก
HelloRabbit
2023. 7. 1. 18:21
728x90
๋ฌธ์ (ํ์ด๋ณด๊ธฐ)
DNA ์์ด์ด ์ฃผ์ด์ก์ ๋ ๊ฐ์ ๊ธธ์ด์ ์์ด๋ค์ด ์ํ๋ฒณ ์์ผ๋ก ์ ๋ ฌ๋๋ค๋ฉด ์ฃผ์ด์ง ์์ด์ ๋ช ๋ฒ์งธ ์๋ฆฌ์ ์๋์ง ์ถ๋ ฅํ์์ค.
์์
AGT
์์ ๊ฒฐ๊ณผ
11
ํด๊ฒฐ
def pattern_index(pattern):
nuc_number = {'A':0, 'C':1, 'G':2, 'T':3}
if len(pattern) == 1:
return nuc_number[pattern]
return 4 * pattern_index(pattern[:-1]) + nuc_number[pattern[-1]]
print(pattern_index('CCGAAAACATCCAAGTCTCCAA'))
์๋ ๊ทธ๋ฆผ์์ ์ฒ๋ผ DNA ์์ด์๋ A, C, G, T ๋ก ์ด 4๊ฐ์ง ์ผ๊ธฐ์์ด๋ง ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ํญ์ 4๊ฐ์ฉ ๊ธธ์ด๊ฐ ์ฆ๊ฐํ๊ฒ ๋๋ค. ์ด ์๋ฆฌ๋ฅผ ์ด์ฉํด์ ์ ๋ถ๋ถ(๋นจ๊ฐ์ ํ์)์ ์ํ๋ฒณ ์์๋ง ์ฐจ๋ก๋๋ก ๊ณ์ฐํ๋ค ๋ณด๋ฉด ์ฃผ์ด์ง DNA ์์ด์ ์ต์ข ์์น๋ฅผ ์ ์ ์๋ค.