๐งฌ Biology24 [ROSALIND] (k, d)-motif ์ฐพ๊ธฐ ๋ฌธ์ ์ค๋ช Motif๋ ๋น์ทํ ์์ด์ ๊ฐ์ง์ผ๋ก์ ๋น์ทํ ๊ธฐ๋ฅ์ ํ๋ ๊ฒ์ผ๋ก ์๋ ค์ง DNA ๋ด์ ์งง์ ์์ด๋ค์ด๋ค. ์๋ฅผ ๋ค์ด, A๋ผ๋ ๋จ๋ฐฑ์ง์ด DNA์ ๊ฒฐํฉํ๋ ์์น๋ DNA ์์์ ์ฌ๋ฌ ์์น์ ์กด์ฌํ์ง๋ง ๋ชจ๋ ๋น์ทํ ์์ด์ ๊ฐ์ ธ์ผ A๊ฐ ๊ฒฐํฉํ ์ ์์ ๊ฒ์ด๋ค. ํ์ง๋ง motif๋ 100% ๋๊ฐ์ ์์ด์ด ์๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ motif๋ฅผ ์ฐพ๊ธฐ ์ํด์๋ ์ด๋ ์ ๋ ์ผ๊ธฐ์์ด์ ์ฐจ์ด๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค. ์ด ๋ฌธ์ ์์๋ (k, d)-motif๋ฅผ ์ฐพ๋๋ฐ ์ฌ๊ธฐ์ k๋ k ๊ธธ์ด๋ฅผ ๊ฐ์ง motif๋ฅผ ๋ปํ๊ณ , d๋ ์ต๋ d ๊ฐ์๋งํผ ์ผ๊ธฐ์์ด ์ฐจ์ด๊ฐ ์์ ์ ์๋ค๋๊ฑธ ๋ปํ๋ค. ์ด๋ฌํ (k, d)-motif๋ ์์ด์ ์ง์ ์กด์ฌํ์ง ์์ ์๋ ์๋ค. ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๊ฐ ์ฐพ์ 15 bp ๊ธธ์ด๋ฅผ ๊ฐ์ง (k, d)-motif๊ฐ .. 2023. 7. 2. [ROSALIND] ํจํด์ ์ซ์๋ก ๋ฌธ์ (ํ์ด๋ณด๊ธฐ) 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๊ฐ์ฉ ๊ธธ์ด๊ฐ ์ฆ๊ฐํ๊ฒ.. 2023. 7. 1. ํธ์์ก ๋ถํฌ Goal 1. ํธ์์ก ๋ถํฌ(Poisson distribution)๋? 2. ํธ์์ก ๋ถํฌ๋ฅผ ์ฌ์ฉํ๋ ์์ ํธ์์ก ๋ถํฌ๋? ํธ์์ก ๋ถํฌ๋ ํน์ ๊ธฐ๊ฐ ๋์ ์ผ์ด๋๋ ์ด๋ค ์ฌ๊ฑด์ ๋น๋๋ฅผ ํ๋ฅ ๋ก ๋ํ๋ธ ๋ถํฌ์ด๋ค. ์ด๋ฌํ ๋น๋์๋ฅผ ๋๋ค(λ)๋ก ํ์ํ๋ค. ์ผ๋ฐ ์ดํญ๋ถํฌ์๋ ๋ค๋ฅธ ์ ์ด n์ด ๋ฌดํ์ผ๋ก ๊ฐ ๋ n๊ณผ p์ ๊ฐ์ ๋ชจ๋ฅด์ง๋ง np = λ๋ฅผ ์ ์งํ๋ค๋ ๊ฒ์ด๋ค. ์ด๋ค ์ฌ๊ฑด์ด n๋ฒ ์ผ์ด๋ ํ๋ฅ ์ ์๋์ ๊ฐ์ด ๊ณ์ฐํ ์ ์๋ค. ํธ์์ก ๋ถํฌ์ ํฅ๋ฏธ๋ก์ด ์ ์ ๋ถํฌ์ ํ๊ท ๊ณผ ๋ถ์ฐ์ด ๋ชจ๋ ๋๋ค์ ๊ฐ๋ค๋ ๊ฒ์ด๋ค. ํธ์์ก ๋ถํฌ์์๋ ๋น๋์๋ฅผ x์ถ์ ํ์ํ๊ธฐ ๋๋ฌธ์ ํธ์์ก ๋ถํฌ๋ 0๋ถํฐ ์์ํ๋ค (๋ง์ด๋์ค ๊ฐ์ ๊ฐ์ง ๋น๋์๋ ์์ผ๋ฏ๋ก). ํธ์์ก ๋ถํฌ๋ฅผ ์ด์ฉํ๊ธฐ ์ํด์๋ ๋๊ฐ์ง ์กฐ๊ฑด์ ๋ง์กฑ์์ผ์ผ ํ๋ค. ์ฌ๊ฑด์ ์ผ์ ํ๊ฒ ์ผ์ด๋๋ค. ์ฌ๊ฑด.. 2023. 6. 17. [ROSALIND] ์ ํ ์๋ฆฌ(restriction site) ์ฐพ๊ธฐ ๋ฌธ์ ์ค๋ช ๋ฐ์ด๋ฌ์ค๋ ์์ฒด ์ฆ์์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์์ฃผ์ ์์คํ ์ ์ด์ฉํด ์ฆ์ํ๊ฒ ๋๋ค. ๋ฐํ ๋ฆฌ์คํ์ง(bacteriophage)๋ ๋ฐํ ๋ฆฌ์(bacteria)๋ฅผ ์์ฃผ๋ก ์ผ๋ ๋ฐ์ด๋ฌ์ค์ธ๋ฐ ๋ฐ์ด๋ฌ์ค๋ ์ด๋ป๊ฒ๋ ์นจํฌํด์ ์์ ์ DNA๊ฐ ์ฆํญ๋ ์ ์๊ฒ ๋ฐํ ๋ฆฌ์์ ์ฝ์ ์ ํ๋ ค ํ๊ณ , ๋ฐํ ๋ฆฌ์๋ ์ด๊ฒ์ ๋ง๊ธฐ ์ํด ์ธํฌ ๊ธฐ๋ฅ์ ๋ณต์กํ๊ฒ ํ๊ฑฐ๋ ๋ฐ์ด๋ฌ์ค๋ฅผ ๊ณต๊ฒฉํ๋ ๊ธฐ์์ ๊ฐ์ถ์๋ค. ์ ํ ํจ์(restriction enzyme)์ด๋ผ ๋ถ๋ฆฌ๋ ๋จ๋ฐฑ์ง์ ๋ฐ์ด๋ฌ์ค์ DNA๋ฅผ ์ ๋จํจ์ผ๋ก์ ๋ฐํ ๋ฆฌ์คํ์ง๊ฐ ๊ธฐ๋ฅ์ ํ์ง ๋ชปํ๊ฒ ๋ง๋๋ค. ์ด๋ฐ ์ ํ ํจ์๋ ์ด๋ค DNA๋ฅผ ์ฐพ์ ์ ๋จํ ์ ์์๊น? ์ ํ ํจ์๋ homodimer์ด๋ฏ๋ก 2๊ฐ์ ๋๊ฐ์ ๋จ๋ฐฑ์ง ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ ๊ตฌ์กฐ๋ ์ ํ ํจ์์์ DNA์ ์ด์ค ๊ฐ๋ฅ ์ค ํ ๊ฐ๋ฅ์ฉ ์ .. 2023. 6. 16. [ROSALIND] ๋ถ๋ถ์ ์์ด ๋ฌธ์ ์ค๋ช ๋น์ทํ ์ข ์ ๊ณตํต์ ์ผ๋ก ๊ฐ์ง ์ ์ ์๋ค๋ ๋ง๋ค. ํ์ง๋ง ์งํํ๋ฉด์ ์ ์ ์๋ค์ ์์๋ค์ ๋ณํ๊ฐ ์๊ธธ ์ ์๊ณ ์ผ๋ถ ์ ์ ์๋ ์์ด์ง์๋ ์๊ธฐ ๋๋ฌธ์ ์ ์ ์๋ค์ ์์๋ฅผ ํ์ธํ๋ฉด ์ ์ ์ ์ฌ๋ฐฐ์ด์ด ์ด๋ป๊ฒ ๋์๋์ง๋ฅผ ์ ์ ์๋ค. ๋ฌธ์ (ํ์ด๋ณด๊ธฐ) ๋ถ๋ถ์ ์์ด์ด๋ ์ ์ฒด n๊ฐ์์ k๊ฐ๋ง ๋ฝ์ ํ ๋ชจ๋ ๋ฐฐ์ด ์์๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ์ด๋ค. ์ด ๋, n๊ณผ k๊ฐ ์ฃผ์ด์ก์ ๋ ๋ชจ๋ ๊ฐ๋ฅํ ์์์ ๊ฐ์์์ 1,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ์์ค. ์์ 21 7 ์์ ๊ฒฐ๊ณผ 51200 ํด๊ฒฐ def factorial(n): ans = 1 while n > 1: ans *= n n -= 1 return ans with open('rosalind_pper.txt', 'r') as f: n, k = map(int, f.read.. 2023. 6. 15. k-mer๋ก ํจํด ๋น๋ ๊ตฌํ๊ธฐ Goal 1. K-mer๋? 2. K-mer๋ก ์์ด ํจํด ๋น๋ ๊ตฌํ๊ธฐ K-mer๋? ์๋ฌผ์ ๋ณดํ์์ k-mer๋ผ๋ ๋ง์ ํํ ๋ค์ด ๋ณผ ์ ์๋ค. K-mer๋ ์ฝ๊ฒ ์๊ธฐํด์ k ์ซ์๋งํผ ๊ธธ์ด๋ฅผ ๊ฐ์ง ์์ด์ ์๊ธฐํ๋ค. ์๋ฅผ ๋ค์ด 3-mer๋ผ๋ฉด 3 bp ๊ธธ์ด๋ฅผ ๊ฐ์ง "ATA", "ATT", "GCT", "AGT" ๋ฑ 3๊ฐ์ ์ผ๊ธฐ๋ก ์ด๋ฃจ์ด์ง DNA ์์ด ๊ฐ์๊ฑธ ์๊ธฐํ๋ ๊ฒ์ด๋ค. K-mer๋ก ํจํด ๋น๋ ๊ตฌํ๊ธฐ ๋ฌธ์ DNA ๋ณต์ ๋ฅผ ์์ํ๋ ์์ ์ origin of replication, ์ฆ ori ๋ผ๊ณ ๋ถ๋ฅธ๋ค. Vibrio cholerae๋ผ๋ ๊ท ์ ori ์์ด์ ์๋์ ๊ฐ๋ค. atcaatgatcaacgtaagcttctaagcatgatcaaggtgctcacacagtttatccacaacctgagtggatgacatcaag.. 2023. 6. 14. ๋๋ค๋ง-๋ธ๋์ฌ(๋ถ์ฌ) ์๊ณ ๋ฆฌ์ฆ (Needleman-Wunsch) Goal 1. ๋๋ค๋ง-๋ธ๋์ฌ ์๊ณ ๋ฆฌ์ฆ์ด๋? 2. ๋๋ค๋ง-๋ธ๋์ฌ ์๊ณ ๋ฆฌ์ฆ ์์๋ณด๊ธฐ ๋๋ค๋ง-๋ธ๋์ฌ ์๊ณ ๋ฆฌ์ฆ์ด๋? ๋๊ฐ์ DNA๋ ๋จ๋ฐฑ์ง ์์ด์ด ์์ ๋ sequence alignment๋ฅผ ํ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. Alignment๋ ์ฝ๊ฒ ๋งํด์ ๋ ์์ด์ด ์ด๋ค ๋ถ๋ถ์ ๋งค์น๊ฐ ๋๊ณ ์ด๋ค ๋ถ๋ถ์ ๋งค์น๊ฐ ์ ๋๋์ง ๋ณด์ฌ์ฃผ๋ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด ATGCA์ ATCG๋ฅผ align ํ๋ค๋ฉด ์๋์ ๊ฐ์ด ์ ๋ ฌํ ์ ์๋ค. ATGCA AT-CG ์ต๋ํ ๋งค์น๋๋ ๋ถ๋ถ์ ๋ง์ถ๊ณ ๋งค์น๊ฐ ๋์ง ์๋ ๋ถ๋ถ์ ํ์ดํ(-)์ผ๋ก ํ์ํ๋ฉฐ ์ด๊ฑธ "gap"์ด๋ผ ๋ถ๋ฅธ๋ค. ์ด๋ฐ์์ผ๋ก ๋ ์์ด์ด ๋งค์น๊ฐ ์ผ๋ง๋ ์ ๋๋์ง ํ๋จํ๋ ๊ธฐ์ค์ผ๋ก alignment score๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ ๋งค์น๊ฐ ๋๋ฉด ํ๋ฌ์ค ๊ฐ์ ๋ถ์ฌํ๊ณ ๋งค์น๊ฐ ๋์ง ์๊ฑฐ๋ gap์ด .. 2023. 6. 14. [ROSALIND] Open reading frame (6-frame ๋ฒ์ญํ๊ธฐ) ๋ฌธ์ ์ค๋ช DNA์์ ์๋ณด์ ์ธ mRNA ์์ด์ ๋ง๋ค๊ณ , mRNA๊ฐ ๋จ๋ฐฑ์ง๋ก ๋ฒ์ญ๋๋ค. mRNA ์์ด์ด ๋จ๋ฐฑ์ง๋ก ๋ฒ์ญ๋ ๋ ํญ์ mRNA์ ์ ์ฒด ์์ด์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. mRNA ์์ด ์ค start codon (AUG)๊ฐ ์๋ ๋ชจ๋ ๊ณณ์์ ๋ฒ์ญ์ด ๊ฐ๋ฅํ๊ณ ๋ชจ๋ end codon (UAG, UAA, UGA)์์ ๋ฒ์ญ์ด ์ข ๋ฃ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก mRNA์์ ๋ฒ์ญ์ด ์์๋ ์ ์๋ ์์ ์ ์ฒซ๋ฒ์งธ, ๋๋ฒ์งธ, ์ธ๋ฒ์งธ ์ผ๊ธฐ์์ด์ด ์๋ค. ์ด๊ฒ์ three frame translation์ด๋ผ ๋ถ๋ฅธ๋ค. ํ์ง๋ง DNA์๋ ์๋ณด์ ์ธ ๋ฐ๋ ์์ด์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ด ์์ด๊น์ง ๊ณ ๋ คํ๋ค๋ฉด ๋จ๋ฐฑ์ง ๋ฒ์ญ์ ์์์ด ๊ฐ๋ฅํ ๊ณณ์ ์ด6๊ณณ์ด๋ค. ์ด๋ ๊ฒ ๋ฒ์ญ์ด ๊ฐ๋ฅํ ๊ตฌ๊ฐ์ open reading frame (ORF)์ด๋ผ ๋ถ๋ฅธ๋ค. ์ด๋ฒ ๋ฌธ์ ์์๋ .. 2023. 5. 30. [ROSALIND] ๋จ๋ฐฑ์ง ์์ด์์ mRNA ์์ด ์์ธกํด๋ณด๊ธฐ ๋ฌธ์ ์ค๋ช ์ฐ๊ตฌ์๋ค์ด ์๋ก์ด ๋จ๋ฐฑ์ง์ ๋ฐ๊ฒฌํ์ ๋ ์ด ๋จ๋ฐฑ์ง์ด ์ด๋ค mRNA ์์ด์์๋ถํฐ ๋ฒ์ญ๋ ๊ฒ์ธ์ง ์์์ผ ์ ์ ์ฒด์์ ์ด ๋จ๋ฐฑ์ง์ ๋ง๋๋ ๊ตฌ๊ฐ์ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋จ๋ฐฑ์ง ์์ด๋ก mRNA ์์ด์ ์์ธกํ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ ์ผ์ด๋ค. ํ์ง๋ง ํ๋์ mRNA๊ฐ ํน์ ํ ๋จ๋ฐฑ์ง๋ก ๋ฒ์ญ๋๋ ๋ฐ๋ฉด์ ๋จ๋ฐฑ์ง์์ mRNA ์์ด์ ์์๋ด๋๊ฑด ๊ฒฝ์ฐ์ ์๊ฐ ๋๋ฌด ๋ง๊ธฐ ๋๋ฌธ์ ์๊ฐ๋ณด๋ค ํ๋ ์ผ์ด๋ค. ์๋์ ๊ทธ๋ฆผ์ ๋ณด์ด๋ ๊ฒ์ฒ๋ผ ํ๋์ ์๋ฏธ๋ ธ์ฐ์ ์ฌ๋ฌ ๊ฐ์ codon์ด ๋ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฌธ์ ์ต๋ ๊ธธ์ด๊ฐ 1000๊ฐ์ ์๋ฏธ๋ ธ์ฐ์ผ๋ก ์ด๋ฃจ์ด์ง ๋จ๋ฐฑ์ง ์์ด์ด ์ฃผ์ด์ก์ ๋ mRNA๊ฐ ๋ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํด์ผํ๋ค. ์ด ๋, ํ์ด์ฌ์์ int๊ฐ ๊ฐ์ง ์ ์๋ ๊ฐ์ฅ ํฐ ๊ฐ์ 2,147,483,647 (2^31−1)์ด๊ธฐ ๋๋ฌธ.. 2023. 5. 29. ์ด์ 1 2 3 ๋ค์