Python53 Rosalind - Computing GC Content 문제 설명: GC 함량 (GC contents) 는 해당 영역의 전체 염기 중 구아닌 (G) 와 시토신 (C) 의 비율을 의미하는데 이는 높을수록 DNA 밀도가 높고 변성의 저항성이 높은 것으로 알려져 있습니다. 해당 문제는 데이터 형태( 첫줄은 > Rosalind_0000 뒤에 서열이 이어짐) 를 고려해서 풀어야 하고 NCBI 에서 제공되는 형태랑 유사합니다. 코드: import re f=open("./rosalind_gc.txt", "r") lines = f.readlines() name=[] score=[] seq=[] temp=[] lengthlines= len(lines)-1 for line in lines: if re.match(">",line): name.append(line.replace(.. 2023. 9. 14. Rosalind - Rabbits and Recurrence Relations 문제 풀이: 재귀식(recurrence relation) 이란 수열의 항 사이의 관계를 말한다. 다시 말해 반복해서 현재 값이 이전값을 반영하는 식을 말한다. 파보나치 수열의 경우, 1번째 항과 2번째 항을 더하면 3번째 항이 되고, 2번째 항과 3번째 항을 더하면 4번째 항이된다. 즉, n 번째 항 더하기 n+1 번째 항은 n+2 번째 항을 의미한다. 이를 본 문제에 적용하여 공식을 만들면, Fn(n번째 달의 총토끼의 수) = F(n1) + F(n2) 파보나치 수열 공식 Fn = F(n1)+ F(n2)*k 코드: def rabbits(n, k): prev1 = 1 prev2 = 1 for i in range(2, n): current = prev1 + k * prev2 prev2 = prev1 prev.. 2023. 9. 11. Rosalind - Complementing a Strand of DNA 문제 풀이: DNA의 상보적인 서열 생성 주어진 DNA 서열의 리스트 요소를 reverse() 함수로 역순을 만들어줌 상보적인 DNA 로 치환된 서열을 string 타입 output 변수로 저장 코드: def reverse_complement(seq): listSeq = list(seq) listSeq.reverse() output = '' for base in listSeq: if base == "A": output += "T" if base == "T": output += "A" if base == "C": output += "G" if base == "G": output += "C" return output reverse_complement("AAAACCCGGT") #result 'ACCGGGTTTT' 2023. 9. 11. Rosalind - Transcribing DNA into RNA 문제풀이: for 문을 통해서 T -> U 로 치환하고 변수로 저장 rna 변수를 선언하고 치환된 문자열 저장 코드: #import fileinput for sequence in fileinput.input('./rosalind_rna.txt'): rna = sequence.replace('T','U') print ('RNA:', rna) #result #RNA: UUACUCCAUUCGGCAUCUACAUUCUGCGGGAUCUACAGAGUACUGCUCCCCCUCGGUUAGCGUAGAUUUCAAUGCCUGAACAGGGACGUUAGCAAAUAUGGUGCCGUCAUUAUAUCUCGGUCUGAAUUACUGUGCCUCCAUGGUAUGGAUGGCAUAAUUAUGGCGCGCGGUCAGCGCGCUCAGGCCCGAGACU.. 2023. 9. 11. 이전 1 ··· 5 6 7 8 9 10 11 ··· 14 다음 300x250