본문 바로가기

Concepts

그래프의 생물정보학에서의 응용

그래프(graph)

점과 이들을 연결하는 곡선(?)의 집합 이라고 참고한 자료[1] 에서는 서술되어 있는데, 곡선이라고 할 필요는 없는 것 같고, node (점)와 edge (node 간의 연결)의 집합 정도로 설명하면 좋을 것 같다. 수식으로 나타내면 다음과 같다. 

G  = (V, E)

위에서는 node, edge라고 표현했지만, 수학 이론에서는 주로 Vertex, Edge라고 사용되는 것 같다.. 

Edge는 방향성을 가지거나, 방향성을 가지지 않을 수 있다. 방향성을 가지지 않는 경우, edge에 의해 연결된 두 node 사이의 구별이 없다는 것을 의미하고, edge가 방향성을 가지는 경우, edge가 연결하고 있는 두 node중에 어느 한 꼭지점에서 다른 꼭지점으로의 방향성이 존재한다고 이해할 수 있다. (유향 - 무향 그래프)


위키나 다른 블로그들을 둘러보니 다양한 이론, 개념 들이 잘 설명되어 있는데, 특정 연구에서 그래프라는 구조를 사용했다면, 만드는 데 사용된 데이터의 종류, 해당 데이터의 특성에 따라 그래프 구조를 차용하게 된 이유나 근거도 다양하고, 사용된 그래프이론의 개념들도 상이할 것이므로 그래프의 일반에 대해서는 이상으로 스킵하고 bioinformatics 분야 내에서, 혹은 생물학 분야 전반에서? 어떤 데이터를 이용한 어떤 종류의 연구들이 이루어지고 있는지를 알아보려고 한다.


Genome assembly

완성된 유전체 assembly를 만드는 것은 인간의 유전물질이 A, T, G, C 염기들로 이루어져 있다는 것이 밝혀진 이후로 지금까지도 계속되고 있는 연구이자 과제이다. 생물종의 유전체 염기 서열을 어느 한 쪽 끝에서부터 다른 한 쪽 끝 까지 전부를 한 번에 오류 없이 시퀀싱 할 수 없는 기술적 한계로 기존의 염기서열 분석 방법은 유전체를 조각낸 뒤 -> 조각들의 염기 서열을 밝히고 -> 조각난 염기 서열을 퍼즐 맞추듯 처음부터 끝까지 잘 배열해서 하나로 합치는 과정으로 이루어져 있다. 이 과정 중 조각난 염기서열을 배열 조합해서 염색체 수준으로 만들어 내는 과정을 통틀어 Genome assembly 라고 한다. 

이 과정에서 오롯이 sequencing 한 데이터만을 이용하는지, 기존에 만들어져 있던 데이터를 활용하는지 등에 따라 그냥 assembly 와 de novo assembly가 구분되기도 하고, 최근에는 보다 긴 길이의 read data 를 생성할 수 있는 시퀀싱 기술들도 추가로 개발되고 있긴 하나, 전통적으로 short-read를 활용한 de novo assembly에서 주로 활용되는 방식이 그래프 알고리즘 이다.

Genome assembly에 활용되는  graph algorithm은 크게 세 가지로 다음과 같다.

  • Overlap/Layout/Consensus (OLC) method
  • de Bruijn Graph (DBG) method
  • Greedy graph algorithm

우선 k-mer는 read 로부터 추출한 k만큼의 길이를 가지는 read fragement 라고 할 수 있고, DBG 방법에서의 node로 활용된다. 이 방법을 통해 OLC 방식에 비해 프로그램을 실행하느 데 필요한 리소스를 대폭 감소시킬 수 있었는데, OLC에서는 Read 자체가 하나의 node로 활용되어 node로 만들어질 수 있는 시퀀스의 가짓수가 무한대로 많았다면(4^(read length)) DBG 방식에서는 k-mer graph를 사용함으로써 node의 총 갯수를 (4^k)개로 제한했다.

아래 슬라이드에서 de brujin graph assembly를 자세히 설명하고 있고

training.galaxyproject.org/training-material/topics/assembly/tutorials/debruijn-graph-assembly/

 

Galaxy Training: De Bruijn Graph Assembly

DNA sequence data has become an indispensable tool for Mo...

training.galaxyproject.org

아래 슬라이드에서 Overlap Layout Consensus assembly를 자세히 설명하고 있다.

www.slideshare.net/ZhuyiXue/overlap-layout-consensus-assembly

 

Overlap Layout Consensus assembly

Overlap Layout Consensus assembly

www.slideshare.net

Genome alignment

Genome alignment 에도 graph algorithm이 활용된다! 

Synteny Building

Synteny는 두 유전체 간 보존된 지역을 의미하는 용어로 진화 연구를 하는 데 주로 사용되는 개념이자, 예측의 대상이다. 현재 존재하는 유전체 염기서열 데이터는 현재 종으로부터 만들어진 데이터이므로 실제로 공통 조상에서 "어떤 염기서열이 어떤 방식으로 존재하고 있을지"에 대해서는 예측의 영역이고, 이를 밝히는 다양한 프로그램, 알고리즘이 연구되고 있다. 그걸 알아서  뭐해? 싶으면, synteny data는 공통 조상으로부터 어떤 유전적 변화를 거쳐 현재 종에서 어떤 특성이 나타나고, 어떤 공통 조상의 유전체 정보를 공유하기에 현재 종 사이에 어떤 공통점이 존재하는지 등을 연구할 수 있게 하는 재료라고 말할 수 있을 것 같다.

Syntey지역을 찾으면, A 유전체 내에서 <---> 지역, 그리고 B 유전체 내의 <===> 지역이 공통 조상에서 유래한, 보존된 지역이다. 정도로 표현하게 되는데. 유전체 간 alignment 데이터를 활용해 sequence 정보만을 활용하는 방식과 orthologous gene을 활용하는 방식으로 분류된다. 두 가지 방식 모두에서 Orthologous gene이나, alignment segment 레벨에서 synteny 레벨의 데이터를 만들기 위해서 그래프 알고리즘을 활용하는 예시가 존재한다.

Orthologous gene은 공통 조상에서 물려받은 것으로 여겨지는 유전자이고, alignment segment는 genome alignment를 수행했을 때 얻어지는 공통 조상으로부터 물려받아 유사한 염기서열을 가지는 유전체 염기서열의 배열을 의미한다. Synteny라는 개념의 의미 만으로는  orthologous gene 이나, alignmment segment모두 synteny라고 취급할 수 있고, 정확도도 더 높다고 할 수 있다. 그러나 공통 조상에서 물려 받은 지역이라면 해당 지역만 쏙 뽑아서 물려주는 것 보다는 인접한 보다 넓은 지역이 공통조상에서 공유되는 편이 생물학적으로 더 타당하다고 할 수 있고, 이를 포함한 다양한 이유로 synteny 레벨로 지역을 확장하는 시도들이 이루어지고 있고, 그 방법으로 그래프 알고리즘이 다양하게 활용되고 있다. 

alignemnt -> synteny block 만드는 A-Bruijn graph

Genome alignment에서 graph를 사용하는 방법을 차용해서 synteny block을 만드는 데 활용이 되고 있는 것으로 보이고, 아래는 A-bruijn graph를 이용해서 genome alignment 로부터 synteny block을 만드는 예시이다. 자세한 내용은 요 논문을 참고하는 것으로..

Synteny building이 좀 더 익숙한 주제라 먼저 이야기를 꺼내게 되었는데, 위 예시에 든 것처럼, Genome alignment 를 표현하는 방식으로 이미 graph가 활용되었는데, 표현할 수 있는 요소가 하나씩 추가 / 제거 (..) 되면서 변형을 거듭했다. 그래프를 활용한 genome alignment의 표현이 어떻게 발달했는지..! 에 관한 자세한 내용은 요 논문을 보면 됩니다. 

 

Overview of transformations among four graph representations for genome alignments

데이터 저장 및 표현 방식 

유전자의 기능을 표현하는 Gene Ontology 라는 개념이 있다. 유전자의 기능을 Biological process, Cellular components, Molecular function 세 가지 범주로 구분하고, 각 범주 내 세부 기능들로 구분 및 그래프 형태로 조직화 한 것이다. "유전자의 기능"이라는 것이 어떤 유전자는 콧물을 생성한다. 이런 식으로 1유전자 - 1표현형  식으로 매칭되어 있는 것이 아니고, 생물체의 어떤 표현형을 나타내는 데에 여러 종류의 유전자 산물들이 결합하여 작동하므로, 개별 유전자 산물의 기능은 매우 작은 수준으로 세분화 되어 있다. 이러한 유전자들의 기능을 계층을 나누어 세분화하고 정리해 둔 것이 Gene Ontology이고, machine-readable하도록 id를 부여하여 그래프 형태로 정리되어있다. 

Pathway, Gene network, protein network

위에서 잠깐 언급한 것 처럼, 생물체가 어떤 기능을 하는데에는 다양한 단백질들의 복합적인 작용이 수반되어야 하는데, 이러한 일련의 작용들을 표현해 둔 것을 pathway 라고 한다 (가장 보편적인 생물체 pathway database). Pathway자체는 연구된 특정 과정에 포함되는 일련의 물질들, 물질들의 작용을 표현하는 방식으로 (..) 그래프를 사용했다고도 이야기할 수 있고, 엄밀하게 수학적으로 저건 그래프라고 볼 수 없어! 라고 할 수 도 있 을 것 같긴 하다.

p53 signaling pathway

왜냐면 이렇게 생겼으니까..! 

하지만 이런 pathway를 연구하는 데에는 그래프의 개념 등이 활발하게 사용되고 있다. 그것이 제목에 pathway 뒤로 연달아 붙어있는 gene network, protein network 인데, 실험적으로 얻은 정보들이 축적되어서  위와 같은 그림을 그리라면 그릴텐데, 실제로 많은 유전자의 기능들이 여전히 밝혀지고 있는 중이고, 질병이나 표현형 등이 발현되는 분자수준에서의 모든 과정이 명확하게 밝혀진 경우가 드물다. 이런 과정을 연구하는 데에 network 가 사용되는데, 그것의 기본 가정은 이런 것이다. 

"일련의 분자들이 참여한 과정에 의해 어떤 표현형이 정의된다면, 그 표현형을 만드는 데 관여한 분자들은 유사한 정도로 발현되었을 것이다."

(..) 따라서 유전자의 발현량을 데이터화 한 뒤, 유사한 발현 패턴을 가지는 유전자들을  module로 묶는 것이다. 그렇게 모인 module의 유전자들이 저 예시의 pathway에 포함되는 유전자들 처럼 특정 pathway를 구성하는 유전자들의 후보가 되는 것이지!.... 라고 설명한 것만 들으면 clustering만을 한 것 처럼 들릴 수 있지만, 내부적으로는 co-expression similarity를 바탕으로 인접도를 계산, 그래프 내에서의 edge weight를 결정해 network reconstruction을 진행하고, 그 결과에 대해서 clustering을 통해 한 module 로 묶일 수 있는 유전자들을 추리게 된다. 모든 gene network  분석이 이렇다는 것은 아니고, gene expression으로부터 network reconstruction을 이용해  module, hub gene 등을 예측하는 프로그램 WGCNA의 경우에는 그렇다. 

그리고 protein의 레벨에서도 네트워크 분석이 다양하게 이루어지고 있다. 

 

질병 연구 및 신약 개발

위에서는 pathway를 연구하는 관점에서의 gene network에 대해 다뤘는데, gene-protein network를 토대로 질병을 연구하거나, 암 유발 유전자를 밝히거나, 신약 개발 연구에 활용하기도 한다. 연구 목적에 따라 gene network를 만드는 데이터를 어느 소스에서 추출하는지 등에 따라 다를 것 같다. 

그리고 한 가지 흥미로웠던 연구 중 하나는, 네트워크로 유명한 연구실에서 나온 논문이었는데, 기존 문헌들에서 충분히 검증된 데이터들로부터 protein-protein, drug-target 등의 다층의 네트워크를 구성한 뒤 이 네트워크의 정보들을 기반으로 효과가 있음직한 drug-pair을 제시하는 논문이다. 한 가지 더 흥미로운 점은 저 연구실이 drug-pair를 연구하는 연구실이 아니라는 것..? 수학적으로(?) 네트워크를 연구하는 연구실인 것 같은데 그 기반을 바탕으로, 밝혀져 있는 데이터 간의 네트워크만을 재구성함으로써 새로운 의미있는 정보를 추출해 낼 수 있다는 지점이다.


그래프의 간단한 개념과, 생물학 분야에서 그래프가 활용되는 연구들에 대해서 간단히 알아보았다.

 

 

 

참고

반응형