Molecular Representation

화학정보학(Cheminformatics)은 말 그대로 화합물(chemical)의 정보(information)를 다루는 학문이다. 화합물에 있어서 가장 중요한 정보는 역시 화합물의 구조이다. 왜냐하면 물질의 구조가 물질의 성질을 결정하기 때문이다. 화합물의 정보를 저장하고 관리하는 가장 중요한 이유는 화합물의 성질을 결정하는 것이 어떤 요소인지를 정확하게 파악하는 지식(knowledge)을 얻는 것이므로, 물질의 구조를 정확하게 표시하고 이해하는 것이 화학정보학의 가장 중요한 첫 걸음이 된다. 그래서 Handbook of Chemoinformatics: From Data to Knowledge (Representation of Molecular Structures)라는 책에서 가장 먼저 분자의 구조를 어떻게 표시할 것인가(molecular representation)를 다루고 있다. 화합물(특히 유기 화합물)의 구조를 표현하는 포맷에는 다음과 같은 것들이 있다.
  1. Daylight사의 SMILES code는 가장 일반적으로 사용되는 표현 방법이라고 할 수 있다. 이 표현법의 좋은 점은 저장 공간이 매우 적게 든다는 점이다. 한 구조가 여러 개의 SMILES로 표현될 수 있다는 단점은 Canonical SMILES를 사용하여 해결할 수 있다. 분자의 패턴과 특별한 부분구조(substructure)를 표현하기 위한 SMARTS라는 확장도 존재한다.

  2. IUPAC에서 개발한 InCHI code는 SMILES의 여러 단점 (tautomer 문제 등)을 해결하기 위해 만들어진 프로그램으로서 소스 코드 및 모든 필요한 API가 공개되어 있다. 이 소프트웨어는 sourceforge에 등록되어 있기 때문에 여러 오픈소스 프로그램에서 사용되고 있으며, 최근에는 거의 모든 주요한 화학 프로그램에서 지원하고 있다.

  3. mol 및 sdf 파일은 MDL사의 고유 포맷으로서 connection table을 기반으로 한 포맷이다. 포맷은 공개되어 있으며, MDL 홈페이지에서 회원 가입 후 다운로드받을 수 있다. sdf는 구조 정보와 이와 관련된 기타 텍스트 데이터를 저장할 수 있는 포맷으로서, 많은 필드를 가지고 있을 경우에는 용량 대비 비효율적인 문제가 있지만 파싱이 쉽고 많은 데이터를 한 파일에 저장할 수 있으므로 많은 화학정보학 관련 소프트웨어에서 기본적으로 지원하고 있다.

  4. Tripos사의 mol2 포맷은 Sybyl에서 사용되는 기본 포맷으로서 mol 파일과 유사한 기능을 하지만, 일반적으로 이보다 더 많은 정보를 담고 있다. 하나의 mol2 파일 안에 여러 개의 분자 정보를 저장할 수 있다.

이외에도 대부분의 화학 프로그램들은 나름대로 고유의 포맷을 지원하는 경우가 많이 있다. 그러나 어떤 프로그램도 위의 네 포맷 중 하나도 지원하지 않는 프로그램은 없을 것이다. 물론 각 포맷은 장단점이 있으며, 사용시 주의해야 하는 점도 많이 있다. 대량의 화합물 정보를 다루는 화학정보학의 특성상 이러한 포맷들을 잘 이해하고 다룰 수 있는 능력은 매우 중요하며, 모든 화학정보학에서 하게 되는 작업들의 기반이 된다.