728x90
๋ฌธ์ ์ค๋ช
๋ฐ์ด๋ฌ์ค๋ ์์ฒด ์ฆ์์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์์ฃผ์ ์์คํ ์ ์ด์ฉํด ์ฆ์ํ๊ฒ ๋๋ค. ๋ฐํ ๋ฆฌ์คํ์ง(bacteriophage)๋ ๋ฐํ ๋ฆฌ์(bacteria)๋ฅผ ์์ฃผ๋ก ์ผ๋ ๋ฐ์ด๋ฌ์ค์ธ๋ฐ ๋ฐ์ด๋ฌ์ค๋ ์ด๋ป๊ฒ๋ ์นจํฌํด์ ์์ ์ DNA๊ฐ ์ฆํญ๋ ์ ์๊ฒ ๋ฐํ ๋ฆฌ์์ ์ฝ์ ์ ํ๋ ค ํ๊ณ , ๋ฐํ ๋ฆฌ์๋ ์ด๊ฒ์ ๋ง๊ธฐ ์ํด ์ธํฌ ๊ธฐ๋ฅ์ ๋ณต์กํ๊ฒ ํ๊ฑฐ๋ ๋ฐ์ด๋ฌ์ค๋ฅผ ๊ณต๊ฒฉํ๋ ๊ธฐ์์ ๊ฐ์ถ์๋ค. ์ ํ ํจ์(restriction enzyme)์ด๋ผ ๋ถ๋ฆฌ๋ ๋จ๋ฐฑ์ง์ ๋ฐ์ด๋ฌ์ค์ DNA๋ฅผ ์ ๋จํจ์ผ๋ก์ ๋ฐํ ๋ฆฌ์คํ์ง๊ฐ ๊ธฐ๋ฅ์ ํ์ง ๋ชปํ๊ฒ ๋ง๋๋ค. ์ด๋ฐ ์ ํ ํจ์๋ ์ด๋ค DNA๋ฅผ ์ฐพ์ ์ ๋จํ ์ ์์๊น?
์ ํ ํจ์๋ homodimer์ด๋ฏ๋ก 2๊ฐ์ ๋๊ฐ์ ๋จ๋ฐฑ์ง ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ ๊ตฌ์กฐ๋ ์ ํ ํจ์์์ DNA์ ์ด์ค ๊ฐ๋ฅ ์ค ํ ๊ฐ๋ฅ์ฉ ์ ๋จํ๋ ์ญํ ์ ํ๋๋ฐ ํ๊ฒํ๋ ์์ด์ 4 ~ 12 bp ๊ธธ์ด์ด๋ค. ํ๊ฒ ์์ด์ด ์์ชฝ ๊ฐ๋ฅ์ ์กด์ฌํ๋ค๋ฉด ๋ฐํ ๋ฆฌ์คํ์ง์ DNA๊ฐ ์ ๋จ๋ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๊ฒ ๋๊ณ , ์ค๋ ์งํ ๊ธฐ๊ฐ์ ๊ฑฐ์ณ ๋๋ถ๋ถ์ ์ ํ ํจ์๋ ์ด์ค ๊ฐ๋ฅ์ ๋๋ํ ์กด์ฌํ๋ ๊ณณ์ ํ๊ฒํ๊ฒ ๋์๋ค. ์ฆ, ํ๊ฒ ์์ด์ด ์๋ณด์ ์ธ ์์ด์๋ ๊ฑฐ๊พธ๋ก ์กด์ฌํ๋ ๊ตฌ์ญ์ ํ๊ฒํ๊ฒ ๋๋ค.
๋ฌธ์ (ํ์ด๋ณด๊ธฐ)
DNA ์์ด์ด ์ญ ํฐ๋ฆฐ๋๋กฌ(reverse palindrome)์ด๋ผ๋ ๊ฒ์ ์๋ณด์ ์ธ ์์ด์ด ๋ค์งํ ๊ฒ๊ณผ ์์ด์ด ๊ฐ์ ๋๋ฅผ ์๊ธฐํ๋ค. ์ฆ, GCATGC๋ ์๋ณด์ ์ธ ์์ด์ธ CGTACG๋ฅผ ๊ฑฐ๊พธ๋ก ํ ๊ฒ๊ณผ ๊ฐ๊ธฐ ๋๋ฌธ์ ์ญ ํฐ๋ฆฐ๋๋กฌ์ด๋ผ ํ ์ ์๋ค.
DNA ์์ด์ด FASTA ํ์ผ ํ์์ผ๋ก ์ฃผ์ด์ก์ ๋ ๊ธธ์ด๊ฐ 4 ~ 12 bp ์ธ ์ญ ํฐ๋ฆฐ๋๋กฌ ์์ด์ ์์์ ๊ณผ ๊ธธ์ด๋ฅผ ๋ชจ๋ ์ถ๋ ฅํ์์ค (์ถ๋ ฅ ์์๋ ์๊ด ์์).
์์
>Rosalind_24
TCAATGCATGCGGGTCTATATGCAT
์์ ๊ฒฐ๊ณผ
4 6
5 4
6 6
7 4
17 4
18 4
20 6
21 4
ํด๊ฒฐ
# DNA ์์ด์ ์
๋ ฅ๊ฐ์ผ๋ก ์ฃผ์์ ๋ ์๋ณด์ ์ธ ์์ด ์ถ๋ ฅํ๋ ํจ์
def complement_dna(s):
return s.upper().replace('A', 't').replace('T', 'a').replace('G', 'c').replace('C', 'g').upper()
# ์ ํ ์๋ฆฌ ์ฐพ๋ ํจ์
def restriction_site(s):
comp_s = complement_dna(s) # ์๋ณด์ ์์ด
# k๊ฐ 4 ~ 12 ์ธ ๋ชจ๋ k-mer๋ฅผ ํ์ธํด์ ์๋ณด์ ์์ด๊ณผ ์ญ ํฐ๋ฆฐ๋๋กฌ์ธ ์์ด์ ์ฐพ๋ for๋ฌธ
for k in range(4,13):
for i in range(len(s)-k+1):
if s[i:i+k] == comp_s[i:i+k][::-1]:
print(i+1, k, file=res)
res = open('result.txt', 'w')
# FASTA ํ์ผ์ ์๋ DNA ์์ด ๊ฐ์ ธ์ค๊ธฐ
with open('rosalind_revp.txt', 'r') as f:
s = ''
for line in f.readlines():
if not line.startswith('>'):
s += line.strip()
restriction_site(s)
res.close()
'๐งฌ Biology > ๋ฐ์ด์ค ์ฝ๋ฉ ๋ฌธ์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ROSALIND] (k, d)-motif ์ฐพ๊ธฐ (0) | 2023.07.02 |
---|---|
[ROSALIND] ํจํด์ ์ซ์๋ก (0) | 2023.07.01 |
[ROSALIND] ๋ถ๋ถ์ ์์ด (0) | 2023.06.15 |
[ROSALIND] Open reading frame (6-frame ๋ฒ์ญํ๊ธฐ) (0) | 2023.05.30 |
[ROSALIND] ๋จ๋ฐฑ์ง ์์ด์์ mRNA ์์ด ์์ธกํด๋ณด๊ธฐ (0) | 2023.05.29 |
๋๊ธ