èæ¯
RDKitã®ã€ã³ã¹ããŒã«äºäŸã«ã€ããŠã¯ãã»ãšãã©Anacondaããã®äŸãããªãããã®æ¹æ³ã ãšæçµçã«Anacondaã®Pythonãããã䜿ããªããå Žåã«ãã£ãŠã¯ãã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒãã§ãC++ãAnaconda以å€ã®Pythonç°å¢ã§äœ¿ãããããšãããããã®ããã«ã¯ãAnaconda以å€ã®ã€ã³ã¹ããŒã«æ¹æ³ã€ãŸãèªåã§ã®ãã«ããå¿ èŠã§ãããããããªãããäŸãã°Windowsã§å©çšããããšæã£ãå Žåãæ¬å®¶ã®ãµã€ãã«ãã«ãããæé ãæžãããŠããããæ å ±ãå€ãããã2019幎çŸåšã§ã¯ãã®ãŸãŸã§ã¯ããŸããã«ãã§ããªãã®ã§ããã
ä»å以äžã®ç°å¢ã«ãããŠãã«ãã«æåãããããã¡ã¢ã£ãŠããã
ç°å¢
- Windows 10
- VisualStudio 2017
- CMake 3.12.0
- boost 1.65.1
- python3.6.8
- RDKit 2018_09_2
æé
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/
ããã1_65_1ãããŠã³ããŒãããã
ã
ææ°ããŒãžã§ã³ã§ãªããšãããããœã§ããã
boostã®ããŒãžã§ã³ãšRDKitã®ããŒãžã§ã³ã®çµã¿åãããç°ãªããšããŸããã«ãã§ããªãããšãå€ãã
ãã
ããŠã³ããŒãåŸãå±éããC:\boost_1_65_1ãã«ã³ããŒããã
容éã¯350MBãšããªã倧ããã®ã§å±éããã ãã§ãçµæ§æéããããã
ãã
ã¡ãªã¿ã«ã³ããŒçŽåŸã®boostã®ãã£ã¬ã¯ããªã®äžã¯ä»¥äžã®ãšããã§ããã
ãã«ããããšãã©ã«ããåæã«ã§ããããã倱æããåŸãå床ããçŽããããéã«ã©ããåé€ããã°ãããèŠããŠãããããæ®ããŠããã
ã

4. Pytnon3.6ã®ã€ã³ã¹ããŒã«
https://www.python.org/downloads/release/python-368/
ããPython3.6.8ã®Windows x86-64 executable installerãããŠã³ããŒããã
ã€ã³ã¹ããŒã©ããããC:\Python36ãã«ã€ã³ã¹ããŒã«ããã
ã€ã³ã¹ããŒã«åŸãã³ãã³ãã©ã€ã³ãã以äžã®ãšããnumpyãã€ã³ã¹ããŒã«ããã
cd c:\Pytyon36
.\Scripts\pip.exe install numpy
5. RDKitã®ããŠã³ããŒããšé å
https://github.com/rdkit/rdkit/releases/tag/Release_2018_09_2
ãã 2010_09_2ãããŠã³ããŒãããã
ã
ããŠã³ããŒãåŸãå±éããã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
ãããã¯ãPython3ã«é¢ããã©ã€ãã©ãªã§ããããããçæãããŠããã°
boostãš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.slnãVisualStudio2017ã§èµ·åã
VisualStudioäžã§ãœãªã¥ãŒã·ã§ã³ããã«ãã
ããããã®ç¬éã§ãããããŸããã£ãããšæãããã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-Release_2018_09_2\rdkitã®äžã«ã³ããŒããŠãããïŒä»ã«è¯ãããæ¹ãããããïŒ
ã©ããã©ãã³ããŒããã°ãããã¯ãAnacondaã«ããã€ã³ã¹ããŒã«ãããRDKitã®ãã©ã«ã
<ä»®æ³ç°å¢ã®ãã¹>\Lib\site-packages\rdkit
çãåèã«ãããïŒæžãã®ãé¢åãªããçç¥ïŒã
11. ç°å¢å€æ°ã®èšå®åã³
以äžãèšå®
- RDBASEã«C:\rdkit-Release_2018_09_2ãèšå®
- PYTHONPATHã«C:\rdkit-Release_2018_09_2ã远å
- Pathã«C:\Boost\libã远å
12. 確èª
C:\Python36ã«ã€ã³ã¹ããŒã«ãã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'
åããŠãã£ãœããããã§ã¬ã³ã¬ã³ååç©ã·ã¹ãã ãéçºã§ãããïŒ
åè
- http://www.rdkit.org/docs/Install.html
- https://codeyarns.com/2013/11/14/how-to-build-rdkit-on-windows/
- Install RDKit on Windows
(http://ms-cheminfo.com/?q=node/24) - http://blog.livedoor.jp/ag_plusplus/archives/68661201.html
- RDKitãc++ã§åãã ïœgit cloneããHello methaneãŸã§ïœ
(https://qiita.com/yanagi3150/items/0866abfd629cce7fec12) - PythonããC++ãåŒã³åºããŠnumpyã䜿ã
(http://tadaoyamaoka.hatenablog.com/entry/2017/05/25/234934)
ã¡ã¢
æ¬æé ã¯ã2018_03_2çã§ãæåãç¢ºèªæžã
