모듈(module)을 한국어로 옮기고 싶은데 마땅한 낱말이 없네요. 일단 '모듈'이라는 말 그대로 익숙하기도 하고 그렇다고 이 개념에 대해 잘 아는 것도 아니어서 그렇습니다. 적절한 말이 있으면 소개해주세요.

미국 라이스 대학의 마이클 딤(Michael Deem) 교수팀이 최근 PRL, PRE 등에 낸 논문들에서는 모듈이 자연스럽게 나타나는 모형을 제시하는데요, 이 분야를 잘 모르기는 해도 모듈이 자발적으로 나타난다는 걸 모형화했다니 기본적인 흥미를 끌었습니다. 일단 참고문헌은 다음과 같습니다.

J. Sun and M.W. Deem, Phys. Rev. Lett. 99, 228107 (2007).
J. He, J. Sun and M.W. Deem, Phys. Rev. E 79, 031907 (2009).

이들이 제시한 모형은 좀더 복잡하지만 제 생각에 중요한 부분만 얘기하려고 합니다. 우선 유전자들로 이루어진 유전자 가닥들이 있고요, 이 유전자들은 변이를 하거나 일정한 길이의 유전자가 다른 가닥으로 전달/복제되기도 합니다. 이걸 수평 유전자 전달(horizontal gene transfer; HGT)이라 부릅니다. HGT가 실제로 많이 있다고 하네요. 이걸 전제로 해야 모듈이 나타납니다.

유전자가 발현되어 환경과 상호작용하면 각 유전자의 적합도(fitness)가 얻어지겠죠. 그런데 실제로 여러 유전자가 함께 발현되어 그 개체의 적합도에 영향을 미치므로 유전자 사이의 상호작용에 대한 적합도를 정의할 수 있고, 이게 바로 환경의 영향이라 할 수 있습니다. 그런데 구체적으로 어떤 유전자들의 어떤 상호작용이 환경과 어떻게 상호작용하여 적합도를 만들어내는지 모르므로, 가장 단순한 가정을 합니다.

즉 임의의 두 유전자 사이의 상호작용에 대한 적합도를 평균이 0이고 분산이 1인 정규분포 함수로부터 랜덤하게 뽑아서 부여합니다. 그러면 각 유전자 가닥의 적합도는 그 가닥에 있는 가능한 모든 유전자 쌍의 적합도의 합으로 구할 수 있겠죠.

그런데 각 유전자가 같은 가닥 위의 다른 모든 유전자와 상호작용하지는 않을 것이므로 유전자 사이의 상호작용 구조가 필요하고 이걸 연결망의 이웃행렬(adjacency matrix)로 모형화합니다. 즉 유전자의 상호작용 구조가 있고, 이 상호작용에 대한 환경의 반응인 적합도가 있고 이 적합도를 최적화하는 과정에서 유전자 서열, 환경의 변화, 상호작용 구조의 변화가 동시에 (하지만 서로 다른 시간규모로) 일어나는데 그러다보면 상호작용 구조에서 모듈이 생긴다는 게 이들의 결론입니다.

이제 이 내용을 수식으로 써볼까요.


i는 유전자 가닥 위의 유전자의 위치입니다. s_i는 그 위치에 있는 유전자의 아미노산 종류를 나타내고요, σ는 i번째 유전자와 j번째 유전자의 상호작용에 의한 적합도이며 말했듯이 랜덤하게 선택됩니다. Δ는 이웃행렬입니다. 즉 i와 j가 연결되어 있으면 1, 아니면 0입니다. N_D는 링크의 개수입니다. 이 모형에서 링크 개수는 고정시키고 연결구조만 변화시킵니다. H는 이 유전자 가닥의 적합도가 됩니다.

유전자 서열의 변화 속도가 가장 빠르며 s_i들이 랜덤하게 변하거나(변이) HGT로 변합니다. 다음으로 일정한 시간이 지날 때마다 각 σ가 일정한 확률로 새로운 값(역시 정규분포로부터 랜덤하게 선택된)으로 대체됩니다. 이는 곧 '환경의 변화'를 의미합니다. 가장 변화 속도가 느린 건 연결망 구조이고 이 구조 역시 링크 개수가 보존되는 한에서 일정한 비율로 랜덤하게 변합니다.

그런데 한 가지 이해가 안되는 건 σ가 s의 함수라고 해놓고 실제로는 랜덤한 값을 뽑아 준다는 겁니다. 그러면 그게 s의 함수이기는 한건지;;; 아니면 그래도 상관없는 건지 모르겠습니다.

상호작용의 세기가 평균이 0인 정규분포를 따른다는 면에서 이 모형은 스핀유리(spin glass) 모형이기도 합니다. 스핀유리 모형을 이용한 건 두 가지 이유가 있다고 하는데요, 하나는 생명체의 진화는 매우 느리므로 스핀유리의 느리게 변하는 성질을 이용할 수 있다는 거고, 다른 하나는 수많은 한곳 최적점(local optimum)들이 존재한다는 겁니다.

쨌든 열심히 위 모형을 돌리면 연결구조에서 모듈, 즉 덩어리들이 생기며 그럴 경우에 전체적인 적합도가 높아진다고 하네요. 모듈이 있으면 변이에 대해 견고해지며(robust) 적합도가 높으므로 더 잘 진화할 수 있다는 주장을 펼칩니다.

이 부분에서 생기는 의문은, 모듈로 인해 견고해지는 건 맞는데, 그게 진화에 더 이로운지는 모르겠습니다. 컴퓨터 부품(모듈)을 갈아끼움으로써 성능을 쉽게 개선할 수 있는 건 맞지만, 생명체의 기관이 변이에 의해서만 다른 기관으로 대체되지는 않을 것 같거든요. 그래서 HGT가 필요한 것 같습니다. 유전자 덩어리가 통째로 대체될 수 있다면 앞의 컴퓨터의 비유가 성립할 수도 있으니까요.

실은 오늘 딤 교수의 세미나에 참석하여 얘기를 듣고 논문을 찾아본 거였는데요, 청중의 질문 중에 HGT와 모듈이 닭과 달걀 관계 아니냐, 뭐가 먼져냐는 게 있었습니다. 모형에서는 HGT를 전제로 하고 또 그럴 때에만 모듈이 나타난다고 합니다. 그래서 여전히 이 질문에 대한 답은 만족스럽지 못하네요.

사실 이건 연결망의 공진화에 관한 모형으로 보이고요, 의견동역학의 용어를 쓰자면, 같은 의견을 가진 사람들끼리 연결되고 다른 의견을 가지면 연결이 끊기는 효과에 다름 아닙니다. 그러니까 모듈(같은 의견으로 이루어진 덩어리/클러스터)이 생기는 건 너무도 당연한 결과일 수 있습니다.

쓰다 보니 또 길어졌네요. 암튼 모듈이라는 거 재미있는 주제입니다.