화학 구조를 담고 있는 파일을 이용하여 화학 구조식을 그리는 방법을 알아 보자.
화학 구조식을 담고 있는 파일 형식은 *.mol, *.sdf, *.mol2 등이 있다. 이러한 파일들을 이용하여 실제 화학 구조식을 그리고자 할 때는 공개 API를 사용하거나 프로그램을 사용할 수 있다. 나는 3 가지를 사용해 보았는데, 가장 좋았던 것은 Marvin View에 같이 오는 molconvert 라는 것이었다.
1. RDKit
2. OpenBabel
3. Marvin View의 molconvert
1. RDKit
RDKit 은 library 형태로 C++과 python binding 이 존재한다. 문서화가 약간 빈약하지만 가장 요긴할만한 기능들이 잘 설명이 되어 있고 파이썬 자체의 help 를 바로 사용할 수 있기 때문에 사용에 큰 무리는 없다. 설치시 만약 파이썬만 사용한다면 그냥 모듈 파일들을 복사해다 놓으면 되고, C++을 사용할 경우 리눅스는 컴파일을 해줘야 한다.
2. OpenBabel
OpenBabel 은 C++로 작성된, 기본적으로는 여러 화학구조 파일 형식 간의 상호 변환을 해주는 공개 프로그램이다. 기능 중의 하나가 화학 구조를 그림으로 그려 주는 것이 있다. 이것 역시 사용 설명서가 잘 되어 있으니 보고 따라하기 쉽다. 만약 대량의 파일들을 변환하고자 할 경우 command line 으로 하는 것이 편하다, 간단한 script 언어를 사용해서, 예를 들면, 파이썬, ㅋ.
3. Marvin View의 molconvert
Marvin View 는 자바로 만들어진 상용 프로그램인데 특정 기능만이 상용이고 viewer 자체는 무료인 듯 싶다. 또한 학생용이나 연구용 라이센스가 있으니 이것을 이용해도 된다. 어쨌든 홈페이지에서는 .NET 용 API, 자바용 API를 모두 제공해 주고, 프로그램도 받을 수 있다. 프로그램을 받으면 그 중에 molconvert (윈도우즈의 경우 molconvert.bat) 파일이 있는데 이것으로 화학 구조식을 그림으로 변경할 수 있다. 이것 역시 설명서가 잘 나와 있으니 보고 따라하면 된다.
RDKit과 OpenBabel 은 그리지 못하는 경우 molconvert 로 그릴 수 있는 경우가 많고, 그려지는 그림 역시 molconvert 가 가장 깔끔하다. 그 한 예를 보자면 다음과 같다. 모두 같은 파일을 그린 것이다.
보다시피 molconvert 가 가장 깔끔하고, 우리에게 익숙한 형태로 그려 준다. 그렇다고 OpenBabel 이 전부 이상하게 그리는 것은 아니고, 일반적으로는 잘 작동한다.
'연구관련 > Bioinfo류' 카테고리의 다른 글
기계학습 관련 글 예고(?), ㅋ (0) | 2013.09.29 |
---|---|
chemical database 인 Chembl DB의 ERD (0) | 2012.07.23 |
dense subgraph 찾기 구현 (MCODE) (2) | 2010.12.03 |
R로 q-value 구하기 (1) | 2010.10.20 |
dense subgraph 찾아내기(MCODE) (5) | 2010.07.25 |