생물정보용 프로그래밍 언어 :: 2008/07/27 00:24

사용자 삽입 이미지
Science blog에 실린 이야기 하나, Biology enters 'The Matrix' through new computer language.

하버드의대 연구원들이 Little b 라는 프로그래밍 언어를 만들고 있다고 한다. 좀 더, 생물학자적인 생각으로 동작 가능한 프로그래밍 언어를 통해, 복잡한 생명현상의 모델링을 좀 더 잘 할 수 있을 것으로 기대하고 있다고...

프로그래밍 언어를 아예 새로 만드는 것과, 기존의 언어를 이용해 좀 더 추상화 한 라이브러리를 만드는 것과는 어떤 차이가 있을까? 가령, BioPython같은 경우, 각종 생명현상의 주체들을 나름대로 객체지향화 하여 쓰기 쉽게 만들어져 있다. 얼마나 실제를 잘 반영하는 모델링을 해 냈느냐가 중요한 관건이긴 하지만, 일단 드는 느낌은 새로운 언어를 만드는 것과, 라이브러리를 만드는 것은 그리 차이나는 것 같지 않다. "성능"은 문제될 수 있겠다. 아무래도 파이썬의 객체인스턴스화는 리소스가 많이 필요하니깐. 유사한 생각으로, 예전에 BLAST를 많이 돌려야 할 문제의 경우, 서열정보를 ASCII 대신, A,G,T,C 4문자만 쓰는 다른 코드로 만들면 8비트 공간을 2비트로 줄여 4배의 성능개선이 있지 않을까란 상상을 하기도 했었다. (실제 BLAST는 단백질 서열에 대해 더욱 의미가 있으므로, 불필요해 보이긴 하다.)

하지만, 성능이 문제라면 하드웨어가 충분히 받쳐준다면 문제될 것이 없지 않을까? 그럼 왜 언어를 새로 만드려는 거지?

기사의 후반부를 보니 LISP으로 만들었다고.

일반적으로도, 문제해결 접근방법에 있어서 다양한 개발경험을 위해 LISP을 익힐 가치가 있다는 얘기를 들은 적이 있다. 기존의 방식과는 조금은 다른 접근방식을 취하는 모습일 듯 하다. 모델링이란 것이 단순하면서도 얼마나 실제를 잘 반영하느냐가 중요한 것인데 (또 한가지, 너무 디테일한 모델은 유연하기 힘들다) 어떤 마인드가 심겨 있을 지 궁금하다. LISP이라니까 기대되는 면도 없잖다.

(아마도, 다른 어딘가에서 이 언어 얘기를 또 접하게 되면, 그땐 꼭 들여다 봐야할듯... 지금은 그냥 넘어간단 이야기? ㅡ.ㅡ;)
Trackback Address :: http://yong27.biohackers.net/trackback/323
  • 케니 | 2008/07/27 11:24 | PERMALINK | EDIT/DEL | REPLY

    예전 생화학 전공을 할때 DNA가 생명의 모든 정보를 포함한다는 사실에,
    인간이 0 과 1을 이용해서 프로그래밍을 하듯,
    어느 발달된 외계인들이 A T C G를 이용해서 지구 생명체를 프로그래밍 한것이 아닐까
    생각해본적이 있었는데, 역시 누군가가 도전을 하는군요.
    도덕적으로 문제가 되는 실험들, 예를 들어 인간 복제등은 현재로써 거의 불가능한 실험이지만
    가령 A T C G를 이용한 프로그래밍으로 하나의 가상 생명체를 만들고,
    그 가상 생명체를 이용해서 가상 실험을 한다면 어떨까 하는 생각도 해봤습니다.
    프로그래밍쪽 지식은 없지만 언젠가 가능하지 않을까요?

    • BlogIcon yong27 | 2008/07/27 12:55 | PERMALINK | EDIT/DEL

      세포를 모델링하는 시도는 예전부터 많이 있어왔으나(E-cell 등), 그 모델의 영역이 매우 작은 부분(예를 들어, 일부 신호전달시스템 등)에 한정된 경우가 많습니다. 말씀해주신, 인간복제 같은것을 모델링하려면 적어도 "원자" 수준의 모델링은 되어야 가능하지 않을까 합니다. 아직 한참은 더 기다려야 될 것 같아요.

      유사한 재밌는 단편소설이 있어서 소개합니다. http://biohackers.net/wiki/SimulationSaturated

Name
Password
Homepage
Secret