본문 바로가기
약물

[약물관련 tool] python3.8에서 RDKit 설치하기!

by 인포메틱스 2021. 2. 3.
반응형

참고 블로그는 다음과 같습니다.

 

hallora.tistory.com/entry/RDKit-library-%EC%84%A4%EC%B9%98

 

최신 버전 RDKit library 설치

최신 버전 활용 1. Python 3.8 설치 출처: https://codechacha.com/ko/install-python37-in-ubuntu1804/ > wget www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz > tar -zxvf Python-3.8.2.tgz > cd Python-3.8..

hallora.tistory.com

RDkit을 설치하는 이유는 바로 약물을 다룰때 파이썬에서 주로 사용하는 package 중 하나이기 때문입니다.

 

R에서나, python에서나 약물관련 분석을 위한 tool을 설치하기가 조금 까다로운 것이 있는 것 같습니다. (제가 우분투를 사용해서 그런것일수 있습니다.)

 

R에서는 rcdk, Rcpi, ChemmineR를 이용하면 약물 관련 분석을 할 수가 있습니다.

python에서는 RDkit을 주로 사용하는 것 같습니다. (약물관련 찾아보면 대부분 RDkit이더군요)

 

오늘은 RDkit을 설치하려고 하는데 RDkit을 설치하기 위해서는 Conda를 이용한 설치가 있었는데

 

솔직히 Conda는 프로그램끼리 꼬이기가 쉽기 때문에 비추.. (제가 Conda를 잘 못하는걸수도...)

 

그래서 conda없이 설치를 하려고 합니다.

 

conda이외에도 sudo apt install python3-rdkit 을 이용해서 설치를 했지만 안되는 경우입니다.

(ImportError: No module named 'rdkit.rdBase'류의 오류가 뜨는 경우입니다.)

 

제 컴퓨터는 ubuntu 20.04 LTS이고, python3.8에 Rdkit을 설치하려고 합니다.

 

1. python3.8 설치

Ubuntu에서는 python3.8을 sudo apt get install을 통해서 설치가 가능합니다.

 

2.boost 1.71설치

https://dl.bintray.com/boostorg/release

 

https://dl.bintray.com/boostorg/release/

 

dl.bintray.com

여기에 가면 boost 를 version별 설치가 가능합니다.

 

위에 참고용 블로그에서는 1.73을 이용하였지만, 저는 그냥 1.71을 설치했습니다. (많은 시도를 하다가 저 블로그를 보게 되었고, 그냥 1.73말고 1.71로도 가능할것 같아서 시도해보았습니다, 너무 낮은 버전만 아니면 될 것 같습니다.)

 

- python root path확인

which python3를 치면 나오는 것이 root path입니다. (나중에 사용됩니다.)

(저같은 경우는 /usr/bin/python3입니다.)

 

- boost 1.71 을 압축을 풀고 해당 폴더에 들어가게되면 boostrap.sh라는 것이 보입니다. 그 파일을 이용하여 다음과 같이 해줍니다. (boost1.71의 경우 저는 /usr/local/src/에다 압축을 풀었습니다.)

 

 sudo ./bootstrap.sh --with-python=/usr/bin/python3 --with-python-version=3.8 --with-python-root=/usr/bin/python3.8

 

- b2를 설치해야합니다. 

sudo ./b2 --enable-unicode=ucs4 install 


3. cmake 3.17.2설치하기

(cmake 3.16버전을 사용하고 있었으나 아마 3.16도 가능할 것입니다.)

wget https://cmake.org/files/v3.17/cmake-3.17.2.tar.gz
tar -zxvf cmake-3.17.2.tar.gz
cd cmake-3.17.2/
./bootstrap
make
sudo make install

 

4. RDkit설치하기!

github.com/rdkit/rdkit

위에서 RDkit을 다운받고 압축을 푼다음에

 

bashrc에 다음과 같이 추가합니다.

vi ~/.bashrc # bachrc들어가서 아래와 같이 추가해주기 (맨 아랫줄에)
export RDBASE=RDkit압축푼 폴더의 path # 저같은 경우 /usr/local/src/boost_1_71_0
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${RDBASE}/lib:/usr/lib/x86_64-linux-gnu
export PYTHONPATH=${PYTHONPATH}:${RDBASE}

# 뭔가 오류가 뜬다면 source를 이용해서 적용시켜보세요~!

 

그리고 RDkit 압축 푼 폴더에 들어가서 bulid라는 디렉토리를 생성하고 (build라는 새폴더 생성)

 

build로 들어가서 다음과 같이 진행해주시면 됩니다.

 

# RDkit 압축푼 폴더에 들어가기
mkdir build
cd build
# 아래부터는 길어서 중간에 잘랐습니다.
cmake -D Boost_NO_BOOST_CMAKE=ON\
-D BOOST_ROOT=boost압축풀었던폴더의 path\ #저 같은 경우 /usr/local/src/boost_1_71_0
-D PYTHON_LIBRARY=python_libaray_path\
-D PYTHON_INCLUDE_DIR=/usr/local/include/python3.8/\
-D PYTHON_EXECUTABLE=파이썬위치(rootpath) .. # 저같은 경우 /usr/bin/python3.8 뒤에 ..도 해주셔야합니다.
# 여기까지 자른곳입니다.
make
sudo make install

# cmake ..의 경우 RDkit 공식사이트에서는 cmake ..라고 되어있습니다. 그 사이에 옵션을 집어넣으신것 같네요.

 

위와 같이 하면 되더라구요.... 영어로 찾아 보았을때는 python3.8에서 설치가 안될거다 뭐다 말이 많아서 포기하려했는데 되드라구요.. 후후후후후

 

참고사항은 RDkit cmake할 때가 시간이 좀 걸렸습니다. (한 30분이상 걸린듯?!) 아무튼 성공!!

 


 

만약에 마지막 단계에서 RDkit/build/에서 cmake에서 freetype 관련 뭐시기 에러가 떳다!!

 

다음을 설치해주면 됩니다.

아마 셋중 하나가 범인일겁니다.
sudo apt install libfreetype6
sudo apt install libfreetype6-dev
sudo apt install libfreetype-dev

 

728x90
반응형

댓글