UFS는 'Unsupervised Forward Selection'의 약자로서 relevance, redundancy, 그리고 multicollinearity 등을 고려하여 분자표현자(일반적인 통계용어로는 independent variable)을 선택하는 프로그램이다. 지난 2000년에 논문에 발표되었으며, 해당 기능을 하는 프로그램도 홈페이지에 공개되어 있다.
(사)분자설계연구소에서 개발한 PreADMET와 같은 프로그램을 사용해서 많은 수의 분자표현자를 계산한 후에 이를 활용하여 QSAR 연구를 진행하고자 할 때 가장 문제가 되는 것은 너무나 많은 분자표현자가 있다는 점이다. 어떤 분자표현자를 선택해야 하는가의 문제가 매우 복잡하다는 것이다. 특히 분자의 물리화학적인 성질을 직접 나타내는 분자표현자가 아닌 topological descriptor나 여러 종류의 3D descriptor의 경우에는, 눈으로 봐서는 그 중요도를 알기가 거의 어렵기 때문에 적절한 분자표현자를 골라내는 것이 더욱 어려운 문제가 아닐 수 없다.
(사실 생각해보면, 분자의 어떤 성질을 결정하는 요소가 수백가지일리는 없으니, PreADMET가 계산하는 2000개 이상의 분자표현자 중에서 실제로 의미를 갖는 것은 몇 퍼센트에 불과할 것이다.)
이런 경우에 사용할 수 있는 테크닉이 물론 여러 가지 있다. 가장 쉽게는 유전 알고리즘을 사용할 수 있을 것이고, 이 외에도 몇 가지 방법들이 있다. 그렇지만 여전히 수천개의 분자표현자로부터 이런 방법을 쓰는 것은, 굉장히 큰 컴퓨터 자원을 사용해야만 가능할 것이기 때문에, 이런 방법들을 사용하기 이전에 의미있는 분자표현자의 개수를 줄여놓는 것은 실용적으로 매우 중요한 일이다. 그리고 이런 일을 위해서 UFS가 만들어졌다고 볼 수 있다.
문제는 이 프로그램이 자체적인 형식의 input 파일을 요구한다는 점이다. 이 형식이라는게 아주 간단하기는 하지만, 매번 그에 맞춰서 input 파일을 만드는 것도 귀찮은 일이 아닐 수 없다. 얼마 후에 있을 분자설계 교육에서 QSAR 강의를 맡았고, 실습 내용을 구성하는데 있어서 UFS를 사용하기로 했는데, 이 부분에서 막혀버렸다. 어쩔 수 없이 csv 파일을 ufs input 파일로 변경해주는 간단한 프로그램을 만들었다. 프로그램의 이름은 당연히 CSV2UFS가 될 수 밖에.
대충 만든 코드지만 잘 동작을 했다. Rubyscript2exe를 사용해서 도스용 프로그램을 만들어 봤는데 동작을 잘 했다. 결국, 실습 시간에는 이 도스용 프로그램을 사용하기로 했다.
가만 생각해보니, 이렇게 가끔씩 만드는 코드들을 쓸데없이 버리지 말고 잘 관리해봐야겠다는 생각이 들었다. 개인적으로 subversion을 사용하기는 하는데, 굳이 혼자만 봐야 할 필요는 없는거고 해서 구글 코드에 cheminformatics-snippets라는 이름의 프로젝트를 만들고 거기에 넣어두기로 했다. 라이센스 때문에 0.5초 정도 고민을 했는데, 처음에는 BSD license로 하려다가 별 이유없이 GPL로 하기로 했다. 0.12 버전에서도 필요한만큼은 동작을 한다. 물론 테스트도 제대로 되어 있지 않고, 에러 처리 부분이라는게 거의 없어서 내놓기 민망하기는 하지만, 악의없는(!) 정상적인 환경에서라면 해야 할 일은 제대로 할 것이다.
문헌 정리를 잘 하는 것은 모든 연구자에게 있어서 매우 중요한 일이다. 연구 결과는 오직 논문으로서만 말할 수 있기 때문이다.
내가 처음 대학원에 들어간 90년대 후반에만 해도 문헌 검색을 인터넷으로 하는 것은 생각도 하지 못했고, 거의 Chemical Abstract 책을 뒤져야만 했다. 학부 때 배웠던 논문 검색법 수업에서도 도서관에서 어떻게 Chemical Abstract 책을 봐야 하는지에 대해 배웠던 것 같다. 이 책이 한 주에 나오는 분량만 해도 웬만한 백과사전 몇 권 분량이었기 때문에 나에게 이 책을 뒤지는 것이 힘든 일이었지만, 도서관으로서도 이런 분량의 책을 매주 배달받아서 분류하는 작업을 한다는 것이 매우 어려운 일이었을 것이다.
그러다가 어느 때였는지부터 이게 시디롬으로 바뀌기 시작했다. 시디롬을 빌려줄 수는 없는만큼, 도서관 컴퓨터에 시디롬들을 삽입해 놓고 인터넷으로 이 컴퓨터에 접속해서 검색을 하는 방식이었다. 아무래도 두꺼운 책을 직접 찾는 것보다는 훨씬 효율적인 일이었지만, 한 컴퓨터에 기껏해야 24장의 시디롬을 넣을 수 밖에 없는 일이니 (지금이야 파일을 마운트하는 것이 가능하지만 그 때만 해도 시디롬을 사용하는 방법은 D부터 Z까지 실제 물리적인 드라이브에 시디를 넣는 방법 뿐이었다), 시디롬이 늘어나면 컴퓨터를 늘려야 했고 (일년에 시디가 몇 장 나온다고 생각해도 문헌 검색은 몇십년을 해야 하니...), 시디롬을 직접 읽으면서 검색을 해야 하니 속도 면에서도 그리 좋지 않을 수 밖에 없었다. (2배속 시디롬... -_-)
더 문제는 이렇게 검색을 하고 나면 반드시 해당 문헌을 도서관에서 직접 찾아야 한다는 점이었다. 논문을 책으로부터 직접 찾으려면 저널이 제자리에 잘 꽂혀 있는 것 자체가 엄청나게 중요한 문제일 뿐더러, 모든 정보들을 복사지에 의존해서 종이 내에 관리를 해야 했기 때문에, 그야말로 부지런하게 검색하고 복사하고, 복사한 논문을 제본하고 하는 사람이 유리할 수 밖에 없는 상황이었다. 이렇게 논문 제본한 책들이 늘어날수록 정보 검색의 효율성이 떨어지는 것은 어쩔 수 없는 일이었고, 어떻게든 검색에 유리하게 이 자료들을 관리하는 것이 하나의 중요한 노하우였다.
그러던것이 Web of Science와 같은 서비스가 가능해지면서 어느덧 아득한 과거의 추억이 되고 말았다. 이제 어느 누구도 저널의 논문을 찾기 위해 도서관을 찾아가지는 않는다. 다만 웹 브라우저를 열고 검색 사이트에 접속하여 검색을 할 뿐이다. 검색 결과가 나오면 해당 저널 페이지로 이동해서 html이나 pdf로 된 원문을 읽으면 된다. 이제 Google Scholar 같은 서비스까지 나왔으니 검색이 그 어느때보다 쉬운 일이 된 것이다.
그러나 문헌 정보를 검색하기가 너무 쉬워진 요즘이라고 해도 검색한 정보들을 효율적으로 정리하는 것은 또다른 문제가 아닐 수 없다. 문헌 정보를 이용하는 것은 논문을 읽기 위한 목적도 있지만 궁극적으로는 내가 논문을 쓸 때 제대로 인용하기 위해서라고 볼 수 있는데, 이렇게 논문을 쓸 때 인용을 제대로 하기 위해서는 내가 수집한 문헌 정보들을 찾기 쉽게 잘 정리해 두어야 하기 때문이다. 게다가 저널마다 다른 인용 방식을 자동으로 관리해준다면 더이상 바랄 것이 없을 것이다. 인용 방식이 다른 저널에 투고를 하게 되어서 Reference의 인용 방식을 바꿔본 일이 있는가? 특히 Review 논문처럼 인용문헌이 수백개에 달하는 경우라면, 이렇게 인용 방식을 바꾸는 일은 그야말로 세상에서 가장 멍청하고 지루한 일이다. 그리고 이런 지루한 일을 줄여 주었던 혁신적인 소프트웨어가 바로 Endnote였다.
이제 웬만한 대학 도서관에서는 Endnote를 학생과 교직원들에게 무료로 제공하고 있고, 많은 사용자들이 이 프로그램을 사용해서 논문을 쓰고 있다.
그러나 어디든 영원한 승자는 없는 법. Endnote의 단점인 무거움, pdf 관리의 어려움 등을 개선한 많은 소프트웨어들이 출현을 하고 있다. 내 경우에는 BibDesk라는 프로그램을 가장 먼저 사용하다가, 이제는 Papers라는 프로그램을 쓰고 있고, 얼마 전에는 Bookends라는 프로그램을 더 추가하여 사용하고 있다. BibDesk는 인용 문헌 관리는 물론이고 pdf 파일 관리에 있어서도 많은 자유도를 부여해 주는 소프트웨어이다. Papers는 주로 논문을 검색해서 읽는 작업 흐름에 최적화되어 있는 프로그램이고, Bookends는 문헌을 내 논문에 인용하고 싶을 때 강력한 힘을 발휘한다. 물론 이런 모든 일들을 TeX으로 작업하는 것도 좋은 방법 중의 하나이다.
그런데, 최근에 웹 브라우저인 Firefox의 플러그인으로 작동하는 Zotero라는 프로그램이 나오면서 이러한 혁신의 가장 진보된 모습을 보게 되었다. Zotero는 문헌을 검색해서 읽고 관리하는 모든 일들이 대부분 웹 브라우저 안에서 이루어진다는 사실에 착안하여, 웹 브라우저 안에서 이 모든 일을 할 수 있도록 해 준다. 브라우저와 플러그인만 있으면 문헌 관리와 관련된 모든 것을 다 할 수 있는 것이다. 원하는 논문을 담고 있는 웹 페이지에 가면 자동 추가 버튼이 생기고, 이것을 누르면 모든 문헌 정보가 저장되는 것이다. 여기에 첨부 파일들도 제한없이 관리할 수 있고, 자체 플러그인 기능을 이용해서 주요한 워드 프로세서 프로그램들과도 연동이 되어, 서로 다른 문헌 인용 방식을 자유롭게 쓸 수 있게 해 준다.
최근에 Endnote를 만들고 있는 Thomson Reuters사에서 Zotero 제작자인 조지메이슨 대학의 Center for History and New Media에 천만달러짜리 소송을 제기했다는 뉴스를 들을 수 있었다. 이게 웬일인가 하는 생각이 절로 들 수 밖에 없어서, 내용을 봤더니 Endnote의 독점적 파일 포맷을 침해했다는 이유라고 한다. 이제 마이크로소프트마저 오피스 파일 포맷을 공개하고 있는 상황에서, 게다가 위에서 언급한 수많은 대안들이 존재하는 상황에서 이런 소송의 이유라는건 참 납득하기 힘든 일이 아닐 수 없다.
어찌되었건간에, 나와 같은 사용자들에게는 이런 소송 뉴스가 도리어 Zotero에 대한 선전이 되어서 다운로드받고 실행을 해 보게 되었다. 아직 논문 안에 문헌 인용을 해 본 것은 아니지만 이 정도의 완성도와 직관적인 사용 흐름이라면 충분히 기존의 문헌 정리 프로그램들을 대치할 수 있을거라는 생각이 들었다. 게다가 이 프로그램은 오픈소스이다. 도서관에서 Endnote를 무료로 받아서 사용하는 학생들이라면 Endnote도 무료라고 생각할 수 있지만, 사실 도서관이 지불하고 있을 어마어마한 돈을 생각하면 그렇지도 않다. 게다가 개인 사용자용의 경우에는 꽤 비싼 비용을 지불해야 한다. 왜? 나로서는 비싸고 느리고 기능도 그리 좋지 않으면서 독점적인 파일 형식을 사용하는 프로그램을 굳이 써야 할 이유를 찾을 수가 없다. 아직은 Papers + Bookends 조합에 만족하고 있지만, 플랫폼 비의존적인 방법을 찾아야 하는 상황이라면 당연히 Zotero가 첫번째 선택이 될 것이다.
독점적인 데이터 포맷을 법적으로 보호할 수 있을지는 몰라도, 열린 표준은 혁신을 위해 더 나은 자극이 될 수 있다.
Proprietary data formats may be legally defensible but open standards can be a better spur for innovation.
아직은 어색하지만 연구실에서 자료를 모으면 PDF로 된 논문 자료들이 대부분이다. 이런 자료를 효과적으로 정리할려면 어떻게 해야할까? 학교에서 제공하는 Endnote란 프로그램을 쓰고 있다. Endnote는 서지 관리 프로그램으로 뛰어난 성능을 보인다. 특히 구글 학술 검색에서 Endnote로 바로 인용정보를 가져올 수 있어 편리하다. Endnote의 장점으로 각 학술지에 맞는 참고문헌 양식에 맞게 알아서 지정해준다는 점이 있다. 하지만 나에게 있어..
Devonthink를 생각해 본 적도 많이 있습니다. 상관없어 보이는 레코드들을 연결시켜주는 능력은 참 대단하더군요. 저는 devonthink를 대체하는 용도로 EagleFiler라는 프로그램을 쓰고 있습니다. 이 프로그램에 대한 설명은 http://lordmiss.com/journal/archives/183 에서 보실 수 있습니다.
저널 출판계에는 크게 두 가지의 방식이 있다. 하나는 Springer, ACS, Elsevier 등의 전통적인 출판업자들이 지금까지 사용해온 모델로서, 저자가 자신의 논문을 해당 저널에 싣기 위해서는 자신의 저작권을 출판사로 이전해 주는 권리 이전에 합의를 해야만 하는 상황이다. 이런 상황에서 논문의 실제 저자는 논문에 대한 저작권 일체를 출판사에 주게 되기 때문에 자신의 홈페이지에 자신이 쓴 논문의 원문 파일을 올리는 것도 저작권 위반이 된다. 이런 상황을 피하기 위해서는 출판사에 저작권 이전을 하지 않으면 되는데, Springer 같은 경우에는 저작권을 출판사에 넘기지 않고 Open access로 공개하기 위해서는 논문 한 편당 $3,000, 그러니까 우리 돈으로 300만원 이상을 내야 한다.
이에 반해서 Open access를 처음부터 채택하고 있는 저널 출판사들도 있는데, 바로 BioMed Central이 가장 대표적인 예라고 할 수 있다. 이런 저널에 논문을 싣게 되면 저자가 자신의 논문을 공개할 수 있게 되는데 보통은 Creative Commons와 같은 라이센스 하에 논문을 출판하게 된다. 이런 저널들은 대부분 온라인으로만 출판이 되며, 모든 사람들이 비용 없이 논문에 접근할 수 있다.
사실, 학문의 발전에 있어서 논문이 차지하고 있는 비중이 너무나 크기 때문에 필요한 논문에 접근하는데 있어서 많은 돈이 요구되는 지금과 같은 상황은 많은 사람들에게 비판을 받고 있는 상황이다. 최근에는 분자 모델링 분야의 논문들에 있어서도 이런 종류의 논의들이 많이 이루어지고 있다. 심지어는, 논문의 저자가 사용한 프로그램이 유료 프로그램, 혹은 구할 수 없는 프로그램인 경우에는 재현 불가능성 때문에 논문 심사를 제대로 할 수 없고 독자도 그 논문의 가치를 평가할 수 없는만큼, 연구를 위해 사용하는 프로그램은 모두 무료로 접근 가능한 것이어야 한다는 주장도 있다. 나 역시 이런 주장에 상당 부분 (전적으로는 아니지만) 동의하고 있다.
최근에 Springer가 BioMed Central을 인수했다는 뉴스가 있었다. 이 뉴스는 보통 사람들에게는 별 관심거리가 아닐 수 있지만, 논문을 많이 쓰고 저널에 투고하는 사람들에게는 꽤 흥미로운 뉴스가 아닐 수 없다. 왜냐하면, Springer가 BioMed Central을 별도의 독립 조직으로 두고 동일한 방식으로 계속 진행을 해 나가기로 했기 때문이다. 한 출판사에서 나오는 저널 중에 어떤 것은 Open access이고, 어떤 것은 Open access가 되기 위해 $3,000을 내야 하는 상황이 되기 때문이다. 미국의 NIH가 '연방정부의 연구비 지원을 받아 출판되는 모든 논문은 PubMed Central에 공개해야 한다'는 의무 조항 때문에 많은 논란이 있어 왔는데, 이번에 Springer의 BioMed Central 인수 뉴스는 이런 복잡한 흐름에 어떤 영향을 미칠지 매우 재미있게 지켜볼 수 밖에 없는 일이다.
출판사의 이익을 보장함으로서 계속해서 저널 출판 사업을 할 수 있도록 하는 동력을 마련해 주는 것이 좋을지, 아니면 연구 결과를 제한없이 공개함으로서 더욱 과학의 발전에 이바지할 수 있도록 하는 것이 좋을지는 매우 미묘하고 어려운 문제가 아닐 수 없다.
내 생각은 다음과 같다.
음악의 포맷이 LP, Tape에서 CD로, 그리고 온라인으로 이동하면서 전에 볼 수 없었던 다양한 흐름이 생겨난 것과 마찬가지로, 저널 출판계에서도 이런 종류의 새로운 흐름이 생겨날 것 같다. 즉, 대부분의 저널들이 실제 프린트되어 나오는 하드 카피 인쇄를 포기하게 될 것이고 오직 온라인으로만 배포되는 비율이 높아질 것이다. 특히, 신속하게 오류를 수정하고 독자들간의 활발한 토론을 유발할 수 있는 시스템을 갖춘 논문들이 높은 인용지수를 받게 될 것이다. (너무 과격한 예측일지 몰라도 어쩌면 인용지수보다 구글랭크가 높은 논문을 좋은 논문으로 받아들이게 될지도 모른다.) 저널의 온라인 출판이 늘어날수록 저널 출판에 대한 진입 장벽은 낮아지게 되고, 저널 시장에서도 롱테일 효과라는 것이 나타나게 될 것이다. 원하는 논문 1편만을 다운로드 받는데 드는 비용이 지금과는 비교도 할 수 없을만큼 낮아질 것이고 (지금은 보통 한 편에 $50 정도) 이런 논문들을 모아서 서비스하는 저널계의 iTunes store 같은 존재가 나타나지 않는다고 누가 보장할 수 있을까!
댓글을 달아 주세요
만우절도 아닌데, 이런 프로그램을 올리시면 곤란하지 않을까요?? ^^;; 농담입니다.