๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿงฌ Biology24

[ROSALIND] DNA ๋ณ€์ด ๊ฐœ์ˆ˜ ์„ธ๊ธฐ ๋ฌธ์ œ (ํ’€์–ด๋ณด๊ธฐ) Hamming distance๋ž€ ๊ฐ™์€ ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ 2๊ฐœ์˜ ๋ฌธ์ž์—ด ๊ฐ„์˜ ๋‹ค๋ฅธ ๋ฌธ์ž ๊ฐœ์ˆ˜๋ฅผ ์–˜๊ธฐํ•ฉ๋‹ˆ๋‹ค. DNA ์—ผ๊ธฐ์„œ์—ด 2๊ฐœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, Hamming distance๋ฅผ ๊ตฌํ•˜์‹œ์˜ค. ์˜ˆ์‹œ GAGCCTACTAACGGGAT CATCGTAATGACGGCCT ์˜ˆ์ƒ ๊ฒฐ๊ณผ 7 ํ•ด๊ฒฐ seq1, seq2 = '', '' with open("rosalind_hamm.txt", "r") as file: seq1 = file.readline().strip() seq2 = file.readline().strip() print(sum(seq1[i] != seq2[i] for i in range(len(seq1)))) 2023. 5. 9.
[ROSALIND] GC ๋น„์œจ ๋ฌธ์ œ (ํ’€์–ด๋ณด๊ธฐ) GC ๋น„์œจ์ด๋ž€ DNA ์—ผ๊ธฐ์„œ์—ด ์ „์ฒด ์ค‘ 'G'์™€ 'C'๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๋น„์œจ์ด๋‹ค. ์ตœ๋Œ€ 10๊ฐœ์˜ DNA ์„œ์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๋†’์€ GC ๋น„์œจ์„ ๊ฐ€์ง„ ์„œ์—ด์˜ ์ด๋ฆ„๊ณผ GC ๋น„์œจ(%)์„ ๊ตฌํ•˜์‹œ์˜ค. ์˜ˆ์‹œ >Rosalind_6404 CCTGCGGAAGATCGGCACTAGAATAGCCAGAACCGTTTCTCTGAGGCTTCCGGCCTTCCC TCCCACTAATAATTCTGAGG >Rosalind_5959 CCATCGGTAGCGCATCCTTAGTCCAATTAAGTCCCTATCCAGGCGCTCCGCCGAAGGTCT ATATCCATTTGTCAGCAGACACGC >Rosalind_0808 CCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGAC TGGG.. 2023. 5. 8.
[ROSALIND] ํ”ผ๋ณด๋‚˜์น˜ ์ˆซ์ž ๋ฌธ์ œ ํ”ผ๋ณด๋‚˜์น˜ ์ˆซ์ž 0,1,1,2,3,5,8,13,21,34,… ์˜ ํŒจํ„ด์€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋‹ค. ๊ทธ ๋‹ค์Œ ์˜ฌ ์ˆซ์ž๋Š” ๊ทธ ์ „ ๋‘ ์ˆซ์ž๋ฅผ ๋”ํ•œ ๊ฐ’์ด๋‹ค. n๋ฒˆ์งธ๋กœ ์˜ค๋Š” ์ˆซ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜์‹œ์˜ค. ์˜ˆ์‹œ 6 ์˜ˆ์ƒ ๊ฒฐ๊ณผ 8 ํ•ด๊ฒฐ def fibonacci(n): a,b = 0,1 for i in range(2, n+1): a,b = b,a+b print(b) ์ฒซ๋ฒˆ์งธ์™€ ๋‘๋ฒˆ์งธ ์ˆซ์ž๊ฐ€ ๊ฐ๊ฐ 0๊ณผ 1์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ธฐ ๋•Œ๋ฌธ์— for๋ฌธ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋”ํ•ด๊ฐ€๋ฉด ๋œ๋‹ค. 2023. 5. 7.
[ROSALIND] DNA ์ƒ๋ณด์  ์—ผ๊ธฐ์„œ์—ด ๋ฌธ์ œ (ํ’€์–ด๋ณด๊ธฐ) DNA ์„œ์—ด์˜ ํ•œ์ชฝ ์—ผ๊ธฐ์„œ์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ƒ๋ณด์ ์œผ๋กœ ์Œ์„ ์ด๋ฃจ๋Š” ์—ผ๊ธฐ์„œ์—ด์„ ๋ฐ˜ํ™˜ํ•˜์‹œ์˜ค. ์˜ˆ์‹œ AAAACCCGGT ์˜ˆ์ƒ ๊ฒฐ๊ณผ ACCGGGTTTT *** DNA๋‚˜ RNA ์—ผ๊ธฐ์„œ์—ด์„ ์“ธ ๋•Œ์—” ํ•ญ์ƒ 5'์—์„œ 3' ๋ฐฉํ–ฅ์œผ๋กœ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋Œ€ํŽธ ์„œ์—ด์ด 3' - TTTTGGGCCA - 5' ์ธ๊ฒƒ์„ ๊ฑฐ๊พธ๋กœ 5' - ACCGGGTTTT - 3' ๋ฐฉํ–ฅ ์ „ํ™˜์„ ํ•ด์•ผ ์ •๋‹ต์ด ๋œ๋‹ค. ํ•ด๊ฒฐ def rev_complement(dna): print(dna[::-1].upper().replace('A', 't').replace('T', 'a').replace('G', 'c').replace('C', 'g').upper()) 2023. 5. 6.
[ROSALIND] DNA์—์„œ RNA ์„œ์—ด ๋งŒ๋“ค๊ธฐ ๋ฌธ์ œ (ํ’€์–ด๋ณด๊ธฐ) RNA ์„œ์—ด์€ A, C, G, U nucleotide๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. DNA ์„œ์—ด ์ค‘ coding strand์˜ ์„œ์—ด์ด ์ฃผ์–ด์กŒ์„๋•Œ RNA ์„œ์—ด์„ ๋ฐ˜ํ™˜ํ•˜์‹œ์˜ค. ์˜ˆ์‹œ GATGGAACTTGACTACGTAAATT ์˜ˆ์ƒ ๊ฒฐ๊ณผ GAUGGAACUUGACUACGUAAAUU ํ•ด๊ฒฐ def dna_to_rna(dna): print(dna.upper().replace('T', 'U')) DNA์™€ RNA ์—ผ๊ธฐ์„œ์—ด์˜ ์ฐจ์ด๋Š” DNA๋Š” Thymine(T)์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ˜๋ฉด์— RNA๋Š” Uracil(U)์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ์—์„œ ๋ณด๋ฉด coding strand ์„œ์—ด์ด ์ฃผ์–ด์กŒ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ coding strand๋Š” RNA์™€ ๊ฐ™์€ ์„œ์—ด์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ DNA coding strand์—์„œ RNA ์„œ์—ด์ด.. 2023. 5. 5.
[ROSALIND] DNA nucleotide ์„ธ๊ธฐ ๋ฌธ์ œ (ํ’€์–ด๋ณด๊ธฐ) DNA ์„œ์—ด์€ A, C, G, T 4๊ฐ€์ง€ nucleotide๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. DNA ์„œ์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๊ฐ nucleotide์˜ ๊ฐœ์ˆ˜๋ฅผ A, C, G, T ์ˆœ์„œ๋กœ ๋ฐ˜ํ™˜ํ•˜์‹œ์˜ค. ์˜ˆ์‹œ AGCTTTTCATTCTGACTGCAACGGGCAATATGTCTCTGTGTGGATTAAAAAAAGAGTGTCTGATAGCAGC ์˜ˆ์ƒ ๊ฒฐ๊ณผ 20 12 17 21 ํ•ด๊ฒฐ def actg_count(dna): dna = dna.lower() print(dna.count('a'), dna.count('c'), dna.count('g'), dna.count('t')) ํŒŒ์ด์ฌ์—๋Š” ๊ฐ„ํŽธํ•˜๊ฒŒ๋„ ์ด๋ฏธ string์˜ ํŠน์ • ๋ฌธ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์…€์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋˜์–ด ์žˆ๋‹ค. 2023. 5. 4.