Windows 환경에서 RDKit 구축
7370 단어 RDKit
배경.
RDKit 설치 사례와 관련해서는 거의 아나콘다 사례만 있었다.이 방법은 결국 Anaconda의 Python에서만 사용할 수 있습니다.일부 경우 C++와 Anaconda 이외의 Python 환경에서 사용할 수 있도록 응용 프로그램에 결합할 수 있습니다.이를 위해 Anaconda 이외의 설치 방법은 자체적으로 구축해야 한다는 것입니다.그러나 예를 들어 Windows에서 사용하려는 경우 본가의 웹사이트에 구축 절차가 적혀 있지만 정보가 오래돼 2019년 현재 이대로는 구축이 잘 안 된다.
이번에 아래의 환경에서 구축에 성공했기 때문에 기억해야 한다.
컨디션
절차.
1. Visual Studio 2017 설치
이 점에 관해서는 일반적으로 많은 정보가 있다고 생각하기 때문에 절차를 생략한다.
나는 어떻게 설치하는지 잊어버렸다.물론 C++가 필요합니다.
2. CMake 설치
CMake 3.12.0-rc12를 설치합니다.
이것도 정보가 많아서 생략합니다.
3. Boost 설치
Boost는 C++의 편리한 기능을 수집하는 라이브러리입니다.
라이센스는 Boost 라이센스입니다.
https://dl.bintray.com/boostorg/release/1.65.1/source/
보다65_다운로드
최신 버전이 아니라 Miso예요.
만약 boost의 버전과 RDKit의 버전 조합이 다르면 많은 버전이 잘 구축되지 못할 것이다.
다운로드한 후 확장은 C:\boost 1 65 1로 복사됩니다.
용량이 350MB이기 때문에 펼치기에도 상당한 시간이 걸린다.
참고로 복사 후 boost의 목록은 다음과 같습니다.
구축 후 폴더가 편해지기 때문에 실패한 후에 다시 할 때 어떤 것을 삭제해야 하는지 기억하기 위해 남긴다.
4. Pytnon3.6 설치
https://www.python.org/downloads/release/python-368/
많이.6.8 Windows x86-64executable installer 다운로드
설치 프로그램이 C:\Python 36에 설치합니다.
설치 후 아래 명령줄에 따라numby를 설치합니다.cd c:\Pytyon36
.\Scripts\pip.exe install numpy
5. RDKit 다운로드 및 구성
https://github.com/rdkit/rdkit/releases/tag/Release_2018_09_2
2010년부터.09_다운로드
다운로드한 후 확장하여 C:\rdkit-release 2018 09 2로 복사합니다.
6. 환경 변수 설정
다음과 같이 환경 변수를 설정합니다.
C:\Python36
C:\rdkit-Release_2018_09_2\lib
7.Boost의 구축
메뉴에서 "Visual Studio 2017"-> "개발자 명령 프롬프트 for VS 2017"을 선택하여 열린 프롬프트에서 다음 순서로 실행합니다.
cd c:\boost_1_65_1
bootstrap.bat
b2 architecture=x86 address-model=64 threading=multi runtime-link=shared --build-type=minimal link=static --stagedir=stage/x86_x64 stage
b2 architecture=x86 address-model=64 threading=multi runtime-link=shared --build-type=minimal link=shared --stagedir=stage/x86_x64 stage - install
C:\Boost\lib에서 다음을 생성했는지 확인합니다.
- libboost_python3-vc141-mt-1_65_1.lib
- libboost_numpy3-vc141-mt-1_65_1.lib
- libboost_random-vc141-mt-1_65_1.lib
- libboost_serialization-vc141-mt-1_65_1
이것들은 Python 3에 대한 라이브러리입니다. 이 라이브러리를 생성하면
이것은 보스와python3이 잘 협력할 수 있다는 증거다.
단도직입적으로 이런 것들이 만들어질 수 있을지 없을지는 성패를 장악하는 가장 큰 관건이라고 할 수 있다.
만약 버전의 조합이 좋지 않다면, 이것을 생성할 수 없다.
8. CMake를 통한 RDKit용 솔루션 생성
명령 프롬프트에서 다음 작업을 수행합니다.cd C:\rdkit-Release_2018_09_2
mkdir build
cd build
cmake -DRDK_BUILD_PYTHON_WRAPPERS=ON -DBOOST_ROOT=C:\Boost\ -DRDK_BUILD_INCHI_SUPPORT=ON -DRDK_BUILD_AVALON_SUPPORT=ON -G"Visual Studio 15 2017 Win64" ..
9. RDKit의 구축
C:\rdkit-Release_2018_09_2\build 의 RDKit 입니다.Visual Studio 2017에서 sln 시작
Visual Studio에 솔루션 구축
가슴이 뛰는 순간이야.잘 된 줄 알았는데 MMPA가 생각지도 못했어요.cpp의 100번째 줄 근처에서 오류가 발생했습니다.다음은 DEBUG에서 코드를 사용하는 곳입니다.#ifdef _DEBUG
{
std::string symbol =
em.getAtomWithIdx(bonds_selected[bi].first)->getSymbol();
int label = 0;
em.getAtomWithIdx(bonds_selected[bi].first)
->getPropIfPresent(common_properties::molAtomMapNumber, label);
char a1[32];
if (0 == label)
sprintf(a1, "\'%s\'", symbol.c_str(), label);
else
sprintf(a1, "\'%s:%u\'", symbol.c_str(), label);
symbol = em.getAtomWithIdx(bonds_selected[bi].second)->getSymbol();
label = 0;
em.getAtomWithIdx(bonds_selected[bi].second)
->getPropIfPresent(common_properties::molAtomMapNumber, label);
char a2[32];
if (0 == label)
sprintf(a2, "\'%s\'", symbol.c_str(), label);
else
sprintf(a2, "\'%s:%u\'", symbol.c_str(), label);
std::cout << "(" << bonds_selected[bi].first << a1 << ","
<< bonds_selected[bi].second << a2 << ") ";
}
#endif
따라서 목표를 "Release"로 설정하여 구축을 다시 실시합니다.
예뻐요, 구축 성공!
10. 구축 후 조정
C:\rdkit-Release_2018_09_2\build\아래의 각 Release 폴더에pyd 파일 생성
각 C:\rdkit-release2018_09_2\rdkit 아래로 복사합니다.(다른 좋은 방법이 있을지도 몰라)
Anaconda가 설치한 RDKit 폴더를 복사하는 방법
<가상 환경 경로>\Lib\site-packages\rdkit
등을 참고로 한다.(쓰기가 귀찮아서 생략함).
11. 환경 변수 재설정
다음 설정
- RDBASE C:\rdkit-Release2018_09_설정 2
- PYTH NPATH에 C:\rdkit-Release 보내기2018_09_추가 2
-PPath에 C:\Boost\lib 추가
확인
C:\Pythhon36에 설치된 Python을 확인합니다.c:\Python36>python
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from rdkit import rdBase, Chem
>>> from rdkit.Chem import AllChem, Draw
>>> print('rdkit version: {}'.format(rdBase.rdkitVersion))
rdkit version: 2018.09.2
>>> Chem.MolToSmiles(Chem.MolFromSmiles('C1=CC=CN=C1'))
'c1ccncc1'
움직이는 것 같아.이렇게 하면 암화합물 시스템을 개발할 수 있다!
참고 자료
cd c:\Pytyon36
.\Scripts\pip.exe install numpy
cd c:\boost_1_65_1
bootstrap.bat
b2 architecture=x86 address-model=64 threading=multi runtime-link=shared --build-type=minimal link=static --stagedir=stage/x86_x64 stage
b2 architecture=x86 address-model=64 threading=multi runtime-link=shared --build-type=minimal link=shared --stagedir=stage/x86_x64 stage - install
cd C:\rdkit-Release_2018_09_2
mkdir build
cd build
cmake -DRDK_BUILD_PYTHON_WRAPPERS=ON -DBOOST_ROOT=C:\Boost\ -DRDK_BUILD_INCHI_SUPPORT=ON -DRDK_BUILD_AVALON_SUPPORT=ON -G"Visual Studio 15 2017 Win64" ..
#ifdef _DEBUG
{
std::string symbol =
em.getAtomWithIdx(bonds_selected[bi].first)->getSymbol();
int label = 0;
em.getAtomWithIdx(bonds_selected[bi].first)
->getPropIfPresent(common_properties::molAtomMapNumber, label);
char a1[32];
if (0 == label)
sprintf(a1, "\'%s\'", symbol.c_str(), label);
else
sprintf(a1, "\'%s:%u\'", symbol.c_str(), label);
symbol = em.getAtomWithIdx(bonds_selected[bi].second)->getSymbol();
label = 0;
em.getAtomWithIdx(bonds_selected[bi].second)
->getPropIfPresent(common_properties::molAtomMapNumber, label);
char a2[32];
if (0 == label)
sprintf(a2, "\'%s\'", symbol.c_str(), label);
else
sprintf(a2, "\'%s:%u\'", symbol.c_str(), label);
std::cout << "(" << bonds_selected[bi].first << a1 << ","
<< bonds_selected[bi].second << a2 << ") ";
}
#endif
c:\Python36>python
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from rdkit import rdBase, Chem
>>> from rdkit.Chem import AllChem, Draw
>>> print('rdkit version: {}'.format(rdBase.rdkitVersion))
rdkit version: 2018.09.2
>>> Chem.MolToSmiles(Chem.MolFromSmiles('C1=CC=CN=C1'))
'c1ccncc1'
( http://ms-cheminfo.com/?q=node/24 )
( https://qiita.com/yanagi3150/items/0866abfd629cce7fec12 )
( http://tadaoyamaoka.hatenablog.com/entry/2017/05/25/234934 )
메모지
본손순 201803_2판도 성공을 확인했다.
Reference
이 문제에 관하여(Windows 환경에서 RDKit 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kimisyo/items/5a651eb84c5111ab5bdc
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Windows 환경에서 RDKit 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kimisyo/items/5a651eb84c5111ab5bdc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)