๐งฌ Biology/๋ฐ์ด์ค ์ฝ๋ฉ ๋ฌธ์
[ROSALIND] GC ๋น์จ
HelloRabbit
2023. 5. 8. 23:50
728x90
๋ฌธ์ (ํ์ด๋ณด๊ธฐ)
GC ๋น์จ์ด๋ DNA ์ผ๊ธฐ์์ด ์ ์ฒด ์ค 'G'์ 'C'๊ฐ ์ฐจ์งํ๋ ๋น์จ์ด๋ค.
์ต๋ 10๊ฐ์ DNA ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๋์ GC ๋น์จ์ ๊ฐ์ง ์์ด์ ์ด๋ฆ๊ณผ GC ๋น์จ(%)์ ๊ตฌํ์์ค.
์์
>Rosalind_6404
CCTGCGGAAGATCGGCACTAGAATAGCCAGAACCGTTTCTCTGAGGCTTCCGGCCTTCCC
TCCCACTAATAATTCTGAGG
>Rosalind_5959
CCATCGGTAGCGCATCCTTAGTCCAATTAAGTCCCTATCCAGGCGCTCCGCCGAAGGTCT
ATATCCATTTGTCAGCAGACACGC
>Rosalind_0808
CCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGAC
TGGGAACCTGCGGGCAGTAGGTGGAAT
์์ ๊ฒฐ๊ณผ
Rosalind_0808
60.919540
ํด๊ฒฐ
from Bio import SeqIO
max_gc = 0
max_gc_id = ""
for record in SeqIO.parse("rosalind_gc.txt", "fasta"):
id, seq = record.id, record.seq.upper()
gc_content = (seq.count('G') + seq.count('C')) / len(seq) *100 # GC(seq)
if gc_content > max_gc:
max_gc_id = id
max_gc = gc_content
print(max_gc_id)
print(max_gc)
ํ์ด์ฌ์์๋ SeqIO ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด Fasta ํ์ผ์ ์ฝ๊ฒ ์ฝ์ด๋ค์ผ ์ ์๋ค.
Fasta ํ์ผ์ด๋ ์์ ์์์ ๊ฐ์ด ๋ค์๊ณผ ๊ฐ์ ํ์์ผ๋ก ๋ ๊ฒ์ ์ ์ ์๋ค.
>DNA์์ด์ด๋ฆ1
DNA์์ด์ด๋ฆ1์ ์ผ๊ธฐ์์ด
>DNA์์ด์ด๋ฆ2
DNA์์ด์ด๋ฆ2์ ์ผ๊ธฐ์์ด
>DNA์์ด์ด๋ฆ3
DNA์์ด์ด๋ฆ3์ ์ผ๊ธฐ์์ด
'>' ๋ค์์ผ๋ก๋ ์์ด์ ์ด๋ฆ์ด ๋จผ์ ๋์ค๊ณ , ๊ทธ ๋ค์ ์ค์๋ ํด๋นํ๋ ์์ด์ด ๋์จ๋ค.
GC ๋น์จ์ด๋ DNA์ ์ ์ฒด ๊ธธ์ด์์ G์ C์ ๊ฐ์์ ๋น์จ์ ๊ตฌํ ๊ฒ์ด๋ค.