본문 바로가기
연구관련/Bioinfo류

화학구조식 파일을 그림으로 바꾸는 방법

by adnoctum 2012. 7. 9.



   화학 구조를 담고 있는 파일을 이용하여 화학 구조식을 그리는 방법을 알아 보자. 



화학 구조식을 담고 있는 파일 형식은 *.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