본문 바로가기

Library/Bioinformatics

Phylogenetic Analysis 2 계통도(Phylogenetic Tree)를 작성하기로 했다면, 가장 먼저 주어진 것은 서로 아무런 관계도 알 수 없는 탁사(taxa)들 뿐이다. 이것을 루트가 결정되지 않은 트리(unrooted tree)라고 하는데, 만약 4개의 탁사가 주어졌다면 여기서 결정할 수 있는 트리의 수는 (2n - 5)! / (2n - 3 * (n - 3)!)이다. 이것은 계통도의 특징 때문인데, 형상만 중요하지 특정 노드의 방향과 같은 것은 중요하지 않기 때문이다. 계통도를 그리고자 한다면 가장 먼저 결정해야 할 것은 루트를 결정하는 것인데, 루트를 어떻게 정하느냐에 따라 계통도의 모습이 크게 달라진다. 루트를 결정하는 방법은 여러가지가 있는데, 대표적으로 outgroup을 이용하는 방법이나 거리(distance)에 기반한.. 더보기
Phylogenetic Analysis 1 계통 분석(Phylogenetic Analysis)이란, 진화 관계나 트리(tree)를 형성해서, 이들의 진화적인 관계를 추적해보는 것이다. 진화 관계를 분석하는 대상이 되는 것들을 탁사(taxa)라 하는데, 경우에 따라 유전자나 종과 같은 것이 될 수 있다. 보통, 진화 관계를 추적하는데 먼저 DNA나 단백질(protein)의 서열 분석을 거친 뒤에 계통 분석 작업을 한다. Phylogenetic Tree는 대개 계통도(系統圖) 정도로 번역되는데, 형상은 크게 중요하지 않으며 서로의 관계가 중요하다. 이 계통도는 3가지 종류가 있는데, Cladogram, Phylogram, Ultrametric Tree로 나뉘어진다. 먼저, Cladoram은 트리의 구성에서 간선(branch)의 길이가 길든 짧든 상관.. 더보기
Protein Superposition 단백질(protein)의 서열은 자주 변할 수 있지만, 그 단백질을 형성하는 구조는 그대로 유지하려는 특징이 있다. 이것은 단백질의 구조가 어떻게 이루어지는가를 생각해보면 납득할 수 있는 특징이다. 즉, 어떤 단백질의 유사성 정도를 알아보려면 서열이 얼마나 비슷한지를 측정하는 것도 방법이 되겠지만, 그것보다 구조의 유사성을 알아보는 것이 훨씬 더 도움이 될 것이다. 실제로, 서열이 상이한 두 단백질의 구조가 매우 비슷한 경우도 존재하며, 무엇보다 서열 정보만 가지고 단백질의 구조를 예측하는 것은 매우 까다로운 문제에 속한다. 이렇게 단백질의 구조의 유사성을 알아보는 것은 구조의 변화 과정, 즉 진화 과정도 어느 정도 추론할 수 있다. 다음은 어떤 두 단백질의 Superposition을 보인 것이다. 빨간.. 더보기
Protein Folding Problem 어떤 단백질의 서열을 알았을 때, 이 서열에서 단백질의 구조를 추측하고 싶은 경우가 있다. 비슷한 구조의 단백질은 서로 기능도 비슷할 확률이 높기 때문에, 단백질의 구조를 추측하는 것은 중요한 문제가 된다. 단백질의 몇몇 구조는 아주 안정적이기 때문에 항상 그런 결합만 가지는 구조가 있으며, 굉장히 작은 분자인 리간드(ligands)와 많이 결합되어 있는 상태라면 단백질 자체가 약간 변화할 수 있다. 이렇게 단백질의 구조를 추측하는 문제를 Protein Folding Problem이라고 하는데, 이 문제를 해결하는데 필요한 몇가지 사전 지식이 있다. 첫 번째로, 결합력의 강한 정도이다. 결합력이 가장 강한 것은 공유 결합과 배위 결합(Covalent and Coordinate chemical bonds).. 더보기
Protein Structure 3 단백질(protein)은 아미노산의 종류에 따라 달라지며, 아미노산의 개수와 늘어뜨려진 순서에 따라서도 그 종류가 달라진다. 단백질은 둥근 공 모양이나 긴 섬유 모양, 또는 코일이나 열쇠 꾸러미 모양을 이루면서 활성을 가진다. 단백질의 구조는 1차, 2차, 3차, 4차 구조로 나누어서 설명할 수 있다. 여기서 1차, 2차와 같은 용어는 단순히 평면상에 단백질을 표현할 수 있다거나 하는 의미가 아니다. 최근에는 3차, 4차 구조와 같은 용어보다 단백질의 상호작용이란 말을 더 자주 사용한다. 1차 구조 : 기본적인 결합으로, 안정된 결합 구조를 가지고 있다. 아미노산들이 결합할 때 유전자에 들어 있는 DNA의 정보 지배하에 있기 때문에 각각의 단백질은 자신만이 갖는 고유의 아미노산 배열을 갖게 된다. 2차 .. 더보기
Protein Structure 2 단백질(protein)의 2차 구조(secondary structure)는 대표적으로 α helix 와 β sheet가 있다. 단백질의 helix 구조는, DNA나 RNA의 helix와 어떻게 다른가? 단백질의 helix는 主사슬 사이의 수소 결합(hydrogen bonds)에 의해 형성된다는 점이 다르다. 수소 결합은 공유 결합(covalent)보다 훨씬 약한 결합이지만, 상당히 힘 있는 결합이다. 단백질에서의 helix 구조는, 서로 꼬여가면서 백본(backbone)에서의 NH, CO 사이에서 수소 결합을 한다. 다음은 α helix이다. 단백질의 대부분의 helix 구조가 α helix이며, 4번째 떨어져 있는 잔기(residue)마다 수소 결합을 이룬다. 여기서의 토션각(torsion angle).. 더보기
Protein Structure 1 단백질(protein)은 부사슬(sidechain)에 어떤 반복되는 유닛이 결합한 백본(backbone)의 중합체(polymers)라 할 수 있다. 즉, 간단히 말해 다음과 같은 구조를 가진다. 여기서 가장 중심이 되는 분자는 N, Cα, C이며, Cα에 붙은 잔기를 부사슬이라 한다. 단백질의 크기는, H가 하나로만 구성되어 있는 Gly에서부터, 커다란 벤젠 고리(benzeng ring)를 형성하는 Phe까지 매우 다양하다. 또, +, -과 같은 전하를 띄며, 다른 극성을 띄는 잔기와 수소 결합(hydrogen bonds)을 형성하기도 한다. 여기서 hydrophobic이란 물과 친화성이 매우 떨어지는 것을 의미하며, hydrophilic은 물과의 친화성이 높다는 것을 의미한다. 또, 단백질의 모양과 단.. 더보기
RNA Structure Prediction Method RNA 2차 구조를 예측하는 방법으로, 현재는 Covariance Model(Comparative Sequence Analysis)과 Free Energy Method가 있다. 이외에도 DotPlot 방법과 Base Pair Max 방법이 있지만, 이들은 현재 사용되지 않는다. Covariance Model은 입력값으로 최소한 2개 이상의 RNA 시퀀스가 필요하며, 이들은 서로 상관되는 염기쌍이 있어야 하며, 이것은 이 시퀀스가 적당히 비슷해야 한다는 뜻이다. 진화적인 관점에서 보존되는 염기가 무엇인지, 그리고 변화된 염기가 무엇인지를 파악하기 위한 것인데, 즉, RNA는 염기의 일부가 변하더라도 동일한 구조를 유지하려는 특징을 이용한 것이다. RNA는 같은 구조를 유지하기 위해 특정 위치의 염기는 함께.. 더보기
RNA Secondary Structure RNA 이차 구조(Secondary Structure)를 예측하는 것은 단백질이나 DNA보다 더 힘들다. 그것은 DNA처럼 일정한 모양을 띄고 있지 않기 때문이다. DNA는 두 가닥 분자이지만, RNA는 한 가닥일 뿐이며, DNA의 두 가닥은 서로 상보적인 결합을 하는데 비해 RNA의 가닥은 자기 자신에 대해서 상보적인 결합을 한다. RNA 가닥의 상보적 결합에서, G-C 결합이 A-U 결합보다 훨씬 안정적인 결합이며, 이것은 RNA 이차 구조 형성에 중요한 사실이다. 틀린 이론을 내놓은 사람이 가모브만은 아니었다. 나 역시 그런 낭패를 겪어야 했다. 이중 나선을 발견하지 얼마 지나지 않아 나는 캘리포니아 공대로 자리를 옮겼다. 그곳에서 나는 RNA 구조를 발견하고 싶었다. 실망스럽게도 알렉산더 리치(A.. 더보기
Gibbs Sampling 모티프(Motif)란 DNA, RNA, Protein 어떤 것의 조각이든, 비교적 반복적으로 나타나는 아주 짧은 서열 조각을 말한다. Regulatory Motif의 특징으로, 작고(tiny), 변화가 심하며(highly variable), 서로 거의 비슷한 크기에(constant size) 아주 빈번하게 나타난다. 이 작은 서열 조각은, 다중 서열 정렬을 하는데 아주 중요한 역할을 한다. 일반적으로, 다중 서열 정렬에 관한 문제는 다이나믹 프로그래밍(Dynamic Programming)을 적용하더라도 매우 어려운 문제로 알려져 있다. 어느 정도의 시간이 필요한지, 이것을 효과적으로 계산할 수 있는 다항시간 내의 알고리즘이 존재하는지 여부조차 알 수 없는, NP 문제에 속한다. 그런데, 모티프를 이용하면.. 더보기