[Rdkit-discuss] unistd.h missing on Windows
Dear all, I am trying to re-compile the RDKit on a new Windows machine, and I am hitting a problem when compiling the libSmilesParse library (and two others). The unistd.h library cannot be found. I compiled the RDKit successfully on Windows before, but it was an older release. Does someone know if this is a known issue with the latest release (Q22009), or is it a problem with my environment? Many thanks, George. _ Get the best of MSN on your mobile http://clk.atdmt.com/UKM/go/147991039/direct/01/
[Rdkit-discuss] Bookmarks
Hi all, I wonder if someone would so kind as to explain very briefly the concept of Bookmarks in the ROMol class. I am hoping this is something I can use to identify the location of substructure after a SubstructMatch, but maybe I'm completely off piste! Many thanks, George. _ With Windows Live, you can organise, edit, and share your photos. http://clk.atdmt.com/UKM/go/134665338/direct/01/
Re: [Rdkit-discuss] Bookmarks
Hi Greg, That sounds pretty straightforward - thanks a lot for that. If I wanted to bookmark atoms that match a particular substructure, how would I go about it? SubstructMatch returns the number of matches for a given substructure, but how can I extract information about the location of the matches? Hope this isn't a long question to answer... Thanks. From: greg.land...@gmail.com Date: Fri, 24 Jul 2009 19:28:21 +0200 Subject: Re: [Rdkit-discuss] Bookmarks To: oakm...@hotmail.com CC: rdkit-discuss@lists.sourceforge.net Hi George, On Fri, Jul 24, 2009 at 5:11 PM, George Oakmanoakm...@hotmail.com wrote: I wonder if someone would so kind as to explain very briefly the concept of Bookmarks in the ROMol class. I am hoping this is something I can use to identify the location of substructure after a SubstructMatch, but maybe I'm completely off piste! You certainly could use them to mark atoms that match substructures if you like -- bookmarks are a general purpose tool for associating atoms or bonds with integers. There's not a lot to explain beyond that. You can associate an atom with a bookmark by calling ROMol::setAtomBookmark with a pointer (or smart pointer) to the atom. The bookmark system takes no responsibility for memory allocation, so you don't need to worry about it deleteing atoms you might be using elsewhere (similarly, you should be careful not to delete an atom pointer that is bookmarked). Calling setAtomBookmark repeatedly with the same integer associates multiple atoms with the bookmark. getAtomWithBookmark() or getAllAtomsWithBookmark() returns the first atom (or all atoms) with the provided bookmark (or generates an error if no such bookmark exists, so be sure to call hasAtomBookmark() if you have any doubts). The various forms of clearAtomBookmark clear the bookmark for either a single atom or all associated atoms. All of the above also holds for bonds. That's all I can think of to say about the system... any questions left unanswered? -greg _ Share your memories online with anyone you want. http://clk.atdmt.com/UKM/go/134665338/direct/01/
Re: [Rdkit-discuss] GUI
Hi, Thank you all for the comments and information. I was just wondering as I saw the GUI being referred in various postings and couldn't see evidence of it in the distribution folder. All the best. From: greg.land...@gmail.com Date: Mon, 25 May 2009 07:01:26 +0200 Subject: Re: [Rdkit-discuss] GUI To: oakm...@hotmail.com CC: rdkit-discuss@lists.sourceforge.net Dear all, On Tue, May 19, 2009 at 5:25 PM, George Oakman oakm...@hotmail.com wrote: I was wondering if there is a GUI part of the RDKit. From the various documents it looks like there is, but I don't seem to be able to find it within the Code folder. Is this a commercial component or under a different licensing scheme? The answers provided so far have been correct. My summary: most of the GUI functionality distributed with the RDKit is pretty out of date. The components are built on Qt version 3, which is no longer supported and which was never available in a free version for Windows. If you have Qt3 (e.g. on Linux or if you have a licensed copy of PyQt3 for Windows), there is some useful stuff there. One addition I would make is that there is a prototype (mainly to show that it's possible) of an SD file viewer based on Qt4 in $RDBASE/Projects/SDView4. I'm slowly adding capabilities to this, but it's not a full-fledged application yet by any stretch of the imagination. -greg _ View your Twitter and Flickr updates from one place – Learn more! http://clk.atdmt.com/UKM/go/137984870/direct/01/
[Rdkit-discuss] GUI
Dear all, I was wondering if there is a GUI part of the RDKit. From the various documents it looks like there is, but I don't seem to be able to find it within the Code folder. Is this a commercial component or under a different licensing scheme? Many thanks, George. _ Share your photos with Windows Live Photos – Free. http://clk.atdmt.com/UKM/go/134665338/direct/01/
Re: [Rdkit-discuss] Compiling on Red Hat linux
Hi, Thanks. I guess the easiest would be to upgrade my Red Hat distribution, which would come with a more recent gcc and BLAS library. Unfortunately I can't do that as it is my current 'minimum requirement' build machine. I'm on Red Hat Enterprise Linux 4 (Nahant, 2005) with Linux 2.6.9 and gcc 3.4.6 Has anyone managed to compile the RDKit on a similar configuration? I am trying to compile the Q4-2008 release by the way. Many thanks, George. Date: Fri, 27 Mar 2009 05:45:05 +0100 Subject: Re: [Rdkit-discuss] Compiling on Red Hat linux From: greg.land...@gmail.com To: oakm...@hotmail.com CC: rdkit-discuss@lists.sourceforge.net On Thu, Mar 26, 2009 at 6:28 PM, George Oakman oakm...@hotmail.com wrote: Hi Greg, Thanks. Do you know which version is required? As long as it's compatible with your c++ compiler, I don't think it should make much difference. -greg From: oakm...@hotmail.com To: greg.land...@gmail.com Date: Thu, 26 Mar 2009 17:28:06 + CC: rdkit-discuss@lists.sourceforge.net Subject: Re: [Rdkit-discuss] Compiling on Red Hat linux Hi Greg, Thanks. Do you know which version is required? Date: Thu, 26 Mar 2009 18:12:27 +0100 Subject: Re: [Rdkit-discuss] Compiling on Red Hat linux From: greg.land...@gmail.com To: oakm...@hotmail.com CC: rdkit-discuss@lists.sourceforge.net Dear George, I'd suggest you find whatever package exists for Red Hat that includes a pre-built BLAS and LAPACK. I wouldn't recommend building them yourself. -greg On Thu, Mar 26, 2009 at 4:11 PM, George Oakman oakm...@hotmail.com wrote: Hi all, I decided to take a vacation from Windows for a while and I'm trying to install the RDKit on a Linux platform (Red Hat). I'm hitting a problem trying to complie libGraphMol.so This is the error coming out of bjam: /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../libblas.so when searching for -lblas /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../libblas.a when searching for -lblas /usr/bin/ld: skipping incompatible /usr/lib/libblas.so when searching for -lblas /usr/bin/ld: skipping incompatible /usr/lib/libblas.a when searching for -lblas It looks like my version of libblas is incompatible. How can I recompile a compatible version? Can I use the files in $RDKit/External? It looks like $RDKit/External/Lapack only has the win32 library. Any help would be greatly appreciated. Thank you. George. Beyond Hotmail — see what else you can do with Windows Live. Find out more! -- ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss _ 25GB of FREE Online Storage – Find out more http://clk.atdmt.com/UKM/go/134665320/direct/01/
Re: [Rdkit-discuss] Compiling on Red Hat linux
Thanks Greg, Actually, I forgot to mention that I'm trying to compile for 64-bit, which may well be part of the problem. If you can find a RPM for blas and lapack in 64-bit that'd be smashing! BTW - please can you confirm the bjam command I should use for compiling the RDKit in 64-bit: Is it $ bjam address-model=64 or $ bjam -address-model=64 Thank you. Date: Fri, 27 Mar 2009 18:56:37 +0100 Subject: Re: [Rdkit-discuss] Compiling on Red Hat linux From: greg.land...@gmail.com To: oakm...@hotmail.com CC: rdkit-discuss@lists.sourceforge.net Hi George, On Fri, Mar 27, 2009 at 6:52 PM, George Oakman oakm...@hotmail.com wrote: Thanks. I guess the easiest would be to upgrade my Red Hat distribution, which would come with a more recent gcc and BLAS library. Unfortunately I can't do that as it is my current 'minimum requirement' build machine. I'm on Red Hat Enterprise Linux 4 (Nahant, 2005) with Linux 2.6.9 and gcc 3.4.6 Has anyone managed to compile the RDKit on a similar configuration? I am trying to compile the Q4-2008 release by the way. One of the machines I use every day at work is running RHEL4 (in fact, it's where the nightly builds of the RDKit run); so it's definitely possible. I will look around a bit and see if I can find a reasonable rpm that has blas and lapack. -greg _ All your Twitter and other social updates in one place http://clk.atdmt.com/UKM/go/137984870/direct/01/
Re: [Rdkit-discuss] Compiling on Red Hat linux
Thanks Igor - I'll certainly look at the Yum utility. Won't I need to download a lapack package first though? Subject: Re: [Rdkit-discuss] Compiling on Red Hat linux From: i...@mps.ohio-state.edu To: oakm...@hotmail.com CC: greg.land...@gmail.com; rdkit-discuss@lists.sourceforge.net Date: Fri, 27 Mar 2009 14:05:40 -0400 I don't think it's a question of upgrade, it's a question of actually installing lapack libs. Simply running yum install lapack lapack-devel blas blas-devel should take care of things. I have compiled RDKit on Centos 4, CentOs 5 and Fedora 8 and 9. Cheers, Igor On Fri, 2009-03-27 at 17:52 +, George Oakman wrote: Hi, Thanks. I guess the easiest would be to upgrade my Red Hat distribution, which would come with a more recent gcc and BLAS library. Unfortunately I can't do that as it is my current 'minimum requirement' build machine. I'm on Red Hat Enterprise Linux 4 (Nahant, 2005) with Linux 2.6.9 and gcc 3.4.6 Has anyone managed to compile the RDKit on a similar configuration? I am trying to compile the Q4-2008 release by the way. Many thanks, George. Date: Fri, 27 Mar 2009 05:45:05 +0100 Subject: Re: [Rdkit-discuss] Compiling on Red Hat linux From: greg.land...@gmail.com To: oakm...@hotmail.com CC: rdkit-discuss@lists.sourceforge.net On Thu, Mar 26, 2009 at 6:28 PM, George Oakman oakm...@hotmail.com wrote: Hi Greg, Thanks. Do you know which version is required? As long as it's compatible with your c++ compiler, I don't think it should make much difference. -greg __ From: oakm...@hotmail.com To: greg.land...@gmail.com Date: Thu, 26 Mar 2009 17:28:06 + CC: rdkit-discuss@lists.sourceforge.net Subject: Re: [Rdkit-discuss] Compiling on Red Hat linux Hi Greg, Thanks. Do you know which version is required? Date: Thu, 26 Mar 2009 18:12:27 +0100 Subject: Re: [Rdkit-discuss] Compiling on Red Hat linux From: greg.land...@gmail.com To: oakm...@hotmail.com CC: rdkit-discuss@lists.sourceforge.net Dear George, I'd suggest you find whatever package exists for Red Hat that includes a pre-built BLAS and LAPACK. I wouldn't recommend building them yourself. -greg On Thu, Mar 26, 2009 at 4:11 PM, George Oakman oakm...@hotmail.com wrote: Hi all, I decided to take a vacation from Windows for a while and I'm trying to install the RDKit on a Linux platform (Red Hat). I'm hitting a problem trying to complie libGraphMol.so This is the error coming out of bjam: /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../libblas.so when searching for -lblas /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../libblas.a when searching for -lblas /usr/bin/ld: skipping incompatible /usr/lib/libblas.so when searching for -lblas /usr/bin/ld: skipping incompatible /usr/lib/libblas.a when searching for -lblas It looks like my version of libblas is incompatible. How can I recompile a compatible version? Can I use the files in $RDKit/External? It looks like $RDKit/External/Lapack only has the win32 library. Any help would be greatly appreciated. Thank you. George. Beyond Hotmail — see what else you can do with Windows Live. Find out more! -- ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss __ Share your photos with Windows Live Photos – Free. Try it Now! -- ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss _ View your Twitter and Flickr updates from one place – Learn more! http://clk.atdmt.com/UKM/go/137984870/direct/01/
[Rdkit-discuss] Compiling on Red Hat linux
Hi all, I decided to take a vacation from Windows for a while and I'm trying to install the RDKit on a Linux platform (Red Hat). I'm hitting a problem trying to complie libGraphMol.so This is the error coming out of bjam: /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../libblas.so when searching for -lblas /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../libblas.a when searching for -lblas /usr/bin/ld: skipping incompatible /usr/lib/libblas.so when searching for -lblas /usr/bin/ld: skipping incompatible /usr/lib/libblas.a when searching for -lblas It looks like my version of libblas is incompatible. How can I recompile a compatible version? Can I use the files in $RDKit/External? It looks like $RDKit/External/Lapack only has the win32 library. Any help would be greatly appreciated. Thank you. George. _ View your Twitter and Flickr updates from one place – Learn more! http://clk.atdmt.com/UKM/go/137984870/direct/01/
Re: [Rdkit-discuss] SmilesToMol problem with Estriol
Hi Kirk, Thanks - please jump in! You're right, something doesn't look quite right, I'll check this out. Thanks, George. Date: Mon, 16 Mar 2009 12:22:58 -0600 Subject: Re: [Rdkit-discuss] SmilesToMol problem with Estriol From: rkdeli...@gmail.com To: oakm...@hotmail.com CC: rdkit-discuss@lists.sourceforge.net George, Pardon me for jumping in here, but, yes, it seems that the SMILES is wrong. Attached is a picture of what your original SMILES generates in ChemDraw. Notice that the hydrogen of one hydroxyl is wrapped up in a cycle. -Kirk On Mon, Mar 16, 2009 at 11:40 AM, George Oakman oakm...@hotmail.com wrote: I've been given this SMILES for Estriol: o...@h]2([...@]3([...@h]([C@@H]4[C@@H](CC3)c3c(CC4)cc(O)cc3)C[C@@H]2O)C)[H]1 When I run it through SmilesToMol, an exception is raised. Example code: void testFunction(){ ROMol *mol=SmilesToMol(o...@h]2([...@]3([...@h]([C@@H]4[C@@H](CC3)c3c(CC4)cc(O)cc3)C[C@@H]2O)C)[H]1); delete mol; } Am I doing something wrong? Is my SMILES corrupt? Thanks, George. Windows Live just got better. Find out more! -- Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss _ 25GB of FREE Online Storage – Find out more http://clk.atdmt.com/UKM/go/134665320/direct/01/
[Rdkit-discuss] SmilesToMol problem with Estriol
I've been given this SMILES for Estriol: o...@h]2([...@]3([...@h]([C@@H]4[C@@H](CC3)c3c(CC4)cc(O)cc3)C[C@@H]2O)C)[H]1 When I run it through SmilesToMol, an exception is raised. Example code: void testFunction(){ ROMol *mol=SmilesToMol(o...@h]2([...@]3([...@h]([C@@H]4[C@@H](CC3)c3c(CC4)cc(O)cc3)C[C@@H]2O)C)[H]1); delete mol; } Am I doing something wrong? Is my SMILES corrupt? Thanks, George. _ All your Twitter and other social updates in one place http://clk.atdmt.com/UKM/go/137984870/direct/01/
Re: [Rdkit-discuss] Developing on Visual C++
Hi, Thank you Greg for posting the Jam compile options, and thank you Igor for the gcc ones. This confirmed that I was including the right libraries already, so I persisted and found what the problem was. I was compiling the option in 'Debug' mode, while my RDKit libraries were not. So, although it compiled and linked properly, the debugger was getting confused at runtime. I've now cleaned things up and can build Greg Landrum's GettingStarted C++ sample using the Visual Studio IDE - in both Debug and Release configurations. I thought this might be useful for others (if any!) using Visual Studio or Visual C++ Express, so here are all the steps I went through for setting up the VC++ solution: Being able to build in 'Debug' mode is not strictly necessary. If you're only interested in building in 'Release' mode, then ignore the [PREPARATION] section and the first pass through steps 9 to 14. [PREPARATION] * Boost Build (boost_1_37_0, installed in C:\boost) Compile boost twice to populate the C:\boost\lib directory with both release and debug libraries: 1. Go to c:\boost\boost_1_37_0 and execute .\bjam.exe --toolset=msvc --with-thread --with-python release install 2. Go to c:\boost\boost_1_37_0 and execute .\bjam.exe --toolset=msvc --with-thread --with-python debug install 3. Check that C:\boost\lib contains both release and debug libraries ('*-gd-*.lib' for debug libraries) * RDKit Build (RDKit Q42008, installed in C:\RDKit) Compile RDKit twice to build relase and debug libraries: 1. Go to C:\RDKit\Code and execute c:\boost\boost_1_37_0\bjam.exe --toolset=msvc debug 2. Copy C:\RDKit\bin to C:\RDKit\bin_debug 3. Copy C:\RDKit\External\vflib-2.0\lib to C:\RDKit\External\vflib-2.0\lib_debug 4. Go to C:\RDKit\Code and build release version by executing c:\boost\boost_1_37_0\bjam.exe --toolset=msvc release [VC++ PROJECT] * Build Greg Landrum's GettingStarted sample program from the Visual Studio IDE 1. Open Visual C++ 2008 Express edition 2. Create a new project with File/New/Project 3. Select Project type 'Win32/Win32 Console Application' 4. In the 'Win32 Application Wizard', select 'Application Settings' and un-tick 'Precompiled header' 5. Removed auto-generated files 'stdafx.h', 'targetver.h', 'stdafx.cpp', 'Readme.txt' 6. Open GettingStartedVCpp.cpp and replace with content of C:\RDKit\Code\Demos\RDKit\GettingStarted\sample.cpp 7. Alt+F7 to open the Project Properties Pages 8. Open the Configuration dropdown list ans select 'Debug' 9. Open 'Configuration Properties/C/C++/General' 10. Set 'Additional Include Directories' to C:\boost\include\boost1_37;C:\RDKit\Code;C:\RDKit\External\vflib-2.0\include 11. Open 'Configuration Properties/Linker/General' 12. Set 'Additional Library Dependencies' to C:\boost\lib;C:\RDKit\bin_debug;C:\RDKit\External\vflib-2.0\lib_debug 13. Open Linker/Input 14. Set 'Additional Dependencies' to libRDGeneral.lib libRDGeometry.lib libGraphMol.lib libSmilesParse.lib libSubstruct.lib libDepictor.lib libDataStructs.lib libFileParsers.lib libvf.lib 15. Open the Configuration dropdown list and select 'Release' 16. Repeat above steps 9 to 14, but use C:\boost\lib;C:\RDKit\bin;C:\RDKit\External\vflib-2.0\lib in step 12 17. Exit the Project Property Pages 18. Build the solution The ZIP file for the whole Visual C++ 2008 project implementing Greg's sample.cpp is ~800KB and is too large for a standard post to the mailing list so I have sent it to the mailing list's moderator who will try to make it available separately. Thank you all for the help on this thread. George. Date: Tue, 24 Feb 2009 05:56:04 +0100 Subject: Re: [Rdkit-discuss] Developing on Visual C++ From: greg.land...@gmail.com To: oakm...@hotmail.com CC: rdkit-discuss@lists.sourceforge.net George, On Sat, Feb 21, 2009 at 10:17 AM, George Oakman oakm...@hotmail.com wrote: Thanks for looking into that. Yes, my piece of code is so simple that it must be a problem with the way I compile and link. I just built your sample code by saving it to $RDBASE/Code/Demos/RDKit/GettingStarted/oakman.cpp and adding the following to the Jamfile in that directory: exe oakman : oakman.cpp ../../../GraphMol//GraphMol ../../../DataStructs//DataStructs ../../../RDGeneral//RDGeneral ../../../Geometry//RDGeometry ../../..//lapacklibs ; This compiles with MSVC++ and runs without error in both debug and release modes. The libraries I link against (GraphMol, DataStructs, RDGeneral, RDGeometry, and lapack) may help you figure out which projects you should add as dependencies in Visual Studio. -greg _ View your Twitter and Flickr updates from one place – Learn more! http
Re: [Rdkit-discuss] Developing on Visual C++
Hi, Thanks for trying with gcc. When I compile and link with bjam and toolset=msvc it works for me too, but it is when I try to complie using the build process integrated with Visual C++ Express that I get the runtime error. It would be very kind if you could let me have your command line for compiling and linking with gcc, this might help me turn the right options on on Visual C++. Thanks a lot. George. Subject: Re: [Rdkit-discuss] Developing on Visual C++ From: ig...@helix.nih.gov To: oakm...@hotmail.com CC: rdkit-discuss@lists.sourceforge.net Date: Fri, 20 Feb 2009 12:07:17 -0500 George, I compiled your example with gcc, everything works fine there. Igor On Fri, 2009-02-20 at 16:25 +, George Oakman wrote: Hi all, I am trying to write a piece of C++ code with the RDKit C++ library (I'm using Visual C++ Express edition as the development environment). Thank you very much for the GettingStarted example in C++, that works fine. I can compile the GettingStarted example using bjam very well, so I guess this is good news. I am now trying to create a proper Visual C++ project (WIN32 console app) and compile via the Build process on Visual C++. So far so good, I have a mini program that compiles and outputs a Hello RDKit using BOOST_LOG: #include stdio.h #include GraphMol/RDKitBase.h #include RDGeneral/RDLog.h using namespace RDKit; int main(int argc, char *argv[]) { RDLog::InitLogs(); BOOST_LOG(rdInfoLog) Hello RDKit std::endl; return 0; } This is a Win32 Console Application, that I link with libRDGeneral.lib libGraphMol.lib libRDGeometry.lib The piece of code above executes fine (although I receive the following warning at link time: warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library). Things start breaking when I try to create a molecule object with RWMol *mol=new RWMol(); #include stdio.h #include GraphMol/RDKitBase.h #include RDGeneral/RDLog.h using namespace RDKit; int main(int argc, char *argv[]) { RDLog::InitLogs(); RWMol *mol=new RWMol(); BOOST_LOG(rdInfoLog) Hello RDKit std::endl; return 0; } This piece of code compiles and links well (same warning as before) but, at runtime, I receive a 'buffer overflow' on line 28 in RWMol.h: RWMol() { d_partialBonds.clear(); } Am I missing something obvious? Sorry, I know you are not really supporting VC++ and prefer the boost.build/bjam framework, but maybe someone else is developing using Visual C++ projects and could help me. Thanks for your help, George. __ Beyond Hotmail - see what else you can do with Windows Live Find out more! -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss _ Twice the fun—Share photos while you chat with Windows Live Messenger. Learn more. http://www.microsoft.com/uk/windows/windowslive/products/messenger.aspx
[Rdkit-discuss] Developing on Visual C++
Hi all, I am trying to write a piece of C++ code with the RDKit C++ library (I'm using Visual C++ Express edition as the development environment). Thank you very much for the GettingStarted example in C++, that works fine. I can compile the GettingStarted example using bjam very well, so I guess this is good news. I am now trying to create a proper Visual C++ project (WIN32 console app) and compile via the Build process on Visual C++. So far so good, I have a mini program that compiles and outputs a Hello RDKit using BOOST_LOG: #include stdio.h #include GraphMol/RDKitBase.h #include RDGeneral/RDLog.h using namespace RDKit; int main(int argc, char *argv[]) { RDLog::InitLogs(); BOOST_LOG(rdInfoLog) Hello RDKit std::endl; return 0; } This is a Win32 Console Application, that I link with libRDGeneral.lib libGraphMol.lib libRDGeometry.lib The piece of code above executes fine (although I receive the following warning at link time: warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library). Things start breaking when I try to create a molecule object with RWMol *mol=new RWMol(); #include stdio.h #include GraphMol/RDKitBase.h #include RDGeneral/RDLog.h using namespace RDKit; int main(int argc, char *argv[]) { RDLog::InitLogs(); RWMol *mol=new RWMol(); BOOST_LOG(rdInfoLog) Hello RDKit std::endl; return 0; } This piece of code compiles and links well (same warning as before) but, at runtime, I receive a 'buffer overflow' on line 28 in RWMol.h: RWMol() { d_partialBonds.clear(); } Am I missing something obvious? Sorry, I know you are not really supporting VC++ and prefer the boost.build/bjam framework, but maybe someone else is developing using Visual C++ projects and could help me. Thanks for your help, George. _ Check out the new and improved services from Windows Live. Learn more! http://clk.atdmt.com/UKM/go/132630768/direct/01/
Re: [Rdkit-discuss] Canonical SMILES
Hi, Thank you all very much for all the detailed information, the link to the Dr. Dobb's article might become very useful. Does someone know if I can assume that the canonical SMILES of RDKit are the same as the Open Babel ones? Am I doing something wrong in responding to the mailing list, it looks like all my answers are logged as a separate message as oposed to being logged in the same thread - please let me know, I don't want to make it all untidy! Thanks. From: da...@dalkescientific.com Date: Fri, 13 Feb 2009 23:21:01 +0100 To: rdkit-discuss@lists.sourceforge.net Subject: Re: [Rdkit-discuss] Canonical SMILES On Feb 13, 2009, at 9:14 PM, TJ O'Donnell wrote: Yes, INnChI is unique across different packages. This is because there is one definitive source for the code and algorithm. This was a design goal of InChI. Or to twist TJ's words around .. it's exactly the same as with canonical SMILES - every implementation of InChI does it a different way. It's just that there's only one InChI implementation. The book I was referring to is An Introduction to Chemoinformatics from A.R. Leach and V.J. Gillet. Yes, they refer to the CANGEN algorithm and to the Weininger paper you mentioned. It doesn't matter, as long as I'm aware of the scope of 'uniqueness'. Then it's an eerie coincidence that Schneider and Baringhaus use exactly the same example, with exactly the same SMILES. ;) http://books.google.com/books?id=feNn- JcC1KgCpg=PA25lpg=PA25dq=canonical +SMILESsource=webots=CeTadvKPxAsig=46za2byYVjkOtYM1cs5- xs6Bch0hl=enei=ia2VSbf1FMyL- gbbguWQCQsa=Xoi=book_resultresnum=6ct=result in this case probably to do with which branch to deal with first) As I recall when trying to implement the algorithm, the ambiguity is in dealing with ties. The algorithm assigns a unique ordering to the atoms, up to symmetry, but it's defined at the atom level. Given an atom A bonded to atoms B1 and B2, it's possible for B1 and B2 to be in the same symmetry class, but with different bond types going to B1 and B2. I asked Weininger about it and he said choose the highest order bond first, which mostly works but I think can be ambiguous for a few rare cases. There may be other under-specified aspects. I haven't looked at the paper in 10 years. Brian Kelley wrote an article about canonicalization, with code, for Dr. Dobb's magazine. It's online at http://www.ddj.com/architect/184405341 The algorithm isn't that hard to implement, and it can be useful (at very rare times) for doing things like canonicalizing SMARTS. Andrew da...@dalkescientific.com -- Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H ___ Rdkit-discuss mailing list Rdkit-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rdkit-discuss _ Make a mini you and download it into Windows Live Messenger http://clk.atdmt.com/UKM/go/111354029/direct/01/
[Rdkit-discuss] Canonical SMILES
Hi all, I am very new to the RDKit and am in the process of running a few test to understand how things are working. One of the first example I have been playing with is the canonical SMILES for Aspirin. This is the piece of code I put together: RWMol *mol=new RWMol(); //Atoms for Aspirin mol-addAtom(new Atom(6)); mol-addAtom(new Atom(6)); mol-addAtom(new Atom(6)); mol-addAtom(new Atom(6)); mol-addAtom(new Atom(6)); mol-addAtom(new Atom(6)); mol-addAtom(new Atom(6)); mol-addAtom(new Atom(8)); mol-addAtom(new Atom(8)); mol-addAtom(new Atom(8)); mol-addAtom(new Atom(6)); mol-addAtom(new Atom(8)); mol-addAtom(new Atom(6)); //Bonds for Aspirin mol-addBond(0,1,Bond::DOUBLE); mol-addBond(1,2,Bond::SINGLE); mol-addBond(2,3,Bond::DOUBLE); mol-addBond(3,4,Bond::SINGLE); mol-addBond(4,5,Bond::DOUBLE); mol-addBond(5,0,Bond::SINGLE); mol-addBond(5,6,Bond::SINGLE); mol-addBond(6,7,Bond::SINGLE); mol-addBond(6,8,Bond::DOUBLE); mol-addBond(4,9,Bond::SINGLE); mol-addBond(9,10,Bond::SINGLE); mol-addBond(10,11,Bond::DOUBLE); mol-addBond(10,12,Bond::SINGLE); RDKit::MolOps::sanitizeMol(*mol); std::string smiles; smiles = MolToSmiles(*(static_castROMol *(mol)),true); BOOST_LOG(rdInfoLog) CANONICAL SMILES FOR ASPIRIN: smilesstd::endl; This gave me the following result: CC(Oc1c1C(O)=O)=O But I was expecting CC(=O)Oc1c1C(=O)O) In addition to being new to the RDKit, I'm also new to Cheminformatics in general, so my question may be silly, but I assumed the canonical SMILES for a given molecule is unique and was surprised to get a different SMILES to the one given in my textbook. I would be very grateful if someone could help me understand why, as I am sure there's a very good explanation for this. Many thanks for your help, George. _ Twice the fun—Share photos while you chat with Windows Live Messenger. Learn more. http://www.microsoft.com/uk/windows/windowslive/products/messenger.aspx