From: Noel O'B. <no...@ca...> - 2006-08-08 08:41:03
|
Hello Priyashree, I am copying this email to the openbabel-scripting mailing list so that other developers can help with this question. On Mon, 2006-08-07 at 15:08 -0700, pri...@ya... wrote: > I need to use pyopenbabel to obtain the outcome (i.e. similarity > measures) of tanimoto kernel, Minmax and Hybrid kernel on a SDF file > which contains a large number of molecules. Are these kernels already > implemented in this software or do I need to code them. Also in order > to implement the above kernels I will need to perform DFS on the > molecules, is this functionality provided in pyopenbabel. Also it > would be great if you could guide me to the installation process as i > am new to pyopenbabel. First of all, I am fairly sure that these methods are not present in OpenBabel. However, I know that Joerg Wegner has done a lot of work with graph kernels, and these features may be available in JOELIB2 (a Java cheminformatics library similar to OpenBabel). I have copied him into this reply. If you decide to code these yourself, either in C++ or Python, we would encourage you to donate your code to OpenBabel so that it will be available to others. We can discuss this further if you are interested. Regarding DFS specifically, I believe it is present but I am not sure where. I'm sure that Geoff can comment on this. Regarding installation, we should have an install page on the web site. At the moment we don't have one, but I will write one as soon as possible. What operating system do you use? If you are using Windows, I am afraid you will not be able to use Python to access OpenBabel, you can only use C++. Best regards, Noel |
From: S J. S. <swa...@gm...> - 2006-08-08 10:19:45
|
Priyashree, Openbabel is more of a molecule parsing program then a graph kernel program. Your best bet might be to use it just for SDF parsing, then write the DFS code (pretty simple) yourself, and the tanimoto/minmax yourself too. S Joshua Swamidass On 8/8/06, Noel O'Boyle <no...@ca...> wrote: > Hello Priyashree, > > I am copying this email to the openbabel-scripting mailing list so that > other developers can help with this question. > > On Mon, 2006-08-07 at 15:08 -0700, pri...@ya... wrote: > > I need to use pyopenbabel to obtain the outcome (i.e. similarity > > measures) of tanimoto kernel, Minmax and Hybrid kernel on a SDF file > > which contains a large number of molecules. Are these kernels already > > implemented in this software or do I need to code them. Also in order > > to implement the above kernels I will need to perform DFS on the > > molecules, is this functionality provided in pyopenbabel. Also it > > would be great if you could guide me to the installation process as i > > am new to pyopenbabel. > First of all, I am fairly sure that these methods are not present in > OpenBabel. However, I know that Joerg Wegner has done a lot of work with > graph kernels, and these features may be available in JOELIB2 (a Java > cheminformatics library similar to OpenBabel). I have copied him into > this reply. > > If you decide to code these yourself, either in C++ or Python, we would > encourage you to donate your code to OpenBabel so that it will be > available to others. We can discuss this further if you are interested. > > Regarding DFS specifically, I believe it is present but I am not sure > where. I'm sure that Geoff can comment on this. > > Regarding installation, we should have an install page on the web site. > At the moment we don't have one, but I will write one as soon as > possible. What operating system do you use? If you are using Windows, I > am afraid you will not be able to use Python to access OpenBabel, you > can only use C++. > > Best regards, > Noel > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > OpenBabel-scripting mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-scripting > |
From: Geoffrey H. <ge...@ge...> - 2006-08-08 14:57:45
|
> Openbabel is more of a molecule parsing program then a graph kernel > program. Not! >> Regarding DFS specifically, I believe it is present but I am not sure >> where. I'm sure that Geoff can comment on this. There are both DFS and BFS iterators in the 2.1 development code, which incidentally is the only version with PyOpenBabel. >> Regarding installation, we should have an install page on the web >> site. >> At the moment we don't have one, but I will write one as soon as >> possible. What operating system do you use? If you are using >> Windows, I >> am afraid you will not be able to use Python to access OpenBabel, you >> can only use C++. Well, that's not quite correct. In principle, you can use Windows to access Python -- however, since there aren't many currently active developers on Open Babel who use Windows, it's currently not available. There's absolutely nothing technically holding back the Python interface through SWIG -- I just don't have time to figure out what needs to be linked. I'm not particularly versed on "tanimoto" vs. "hybrid". There is already support for Tanimoto based on various fingerprint methods: http://openbabel.sourceforge.net/wiki/Tutorial:Fingerprints These should already be available via the Python SWIG interface -- I don't know if that's true of PyOpenBabel or not. Cheers, -Geoff |
From: Noel O'B. <no...@ca...> - 2006-08-09 15:23:16
|
The install procedure is as follows. Please let me know if this is confusing, if you have any problems, or if you do not have root access. (1) You should download OpenBabel 2.0.2 for Linux by clicking on "Download" under the picture of the fish on http://openbabel.sourceforge.net/wiki/Main_Page and choose openbabel-2.0.2.tar.gz. You should save this into a folder called 'openbabel' somewhere on your computer. (2) Open a command window, change directory into 'openbabel', and decompress the downloaded file with following command: tar zxvf openbabel-2.0.2.tar.gz This will create a folder called 'openbabel-2.0.2'. (3) You now need to configure and compile openbabel. To do this, change directory into 'openbabel-2.0.2'. Run the following commands, one after the other ./configure | tee configure.out make | tee make.out If there are any errors at this point, send an email to the openbabel-discuss mailing list (ope...@li...) and attach the files 'configure.out' and 'make.out'. (4) If you have root permissions, you should install openbabel globally. As root, run the following command: make install (5) You now need to compile the python extension. Change directory to 'openbabel-2.0.2/scripts/python' and run: python setup.py build (6) To install the python interface globally, as root type: python setup.py install (7) It's all done. Test out the 'openbabel' module by trying some of the Python code at: http://openbabel.sourceforge.net/wiki/Python#The_openbabel_module Hope this helps, Noel On Tue, 2006-08-08 at 10:57 -0400, Geoffrey Hutchison wrote: > > Openbabel is more of a molecule parsing program then a graph kernel > > program. > > Not! > > >> Regarding DFS specifically, I believe it is present but I am not sure > >> where. I'm sure that Geoff can comment on this. > > There are both DFS and BFS iterators in the 2.1 development code, > which incidentally is the only version with PyOpenBabel. > > >> Regarding installation, we should have an install page on the web > >> site. > >> At the moment we don't have one, but I will write one as soon as > >> possible. What operating system do you use? If you are using > >> Windows, I > >> am afraid you will not be able to use Python to access OpenBabel, you > >> can only use C++. > > Well, that's not quite correct. In principle, you can use Windows to > access Python -- however, since there aren't many currently active > developers on Open Babel who use Windows, it's currently not > available. There's absolutely nothing technically holding back the > Python interface through SWIG -- I just don't have time to figure out > what needs to be linked. > > I'm not particularly versed on "tanimoto" vs. "hybrid". There is > already support for Tanimoto based on various fingerprint methods: > http://openbabel.sourceforge.net/wiki/Tutorial:Fingerprints > > These should already be available via the Python SWIG interface -- I > don't know if that's true of PyOpenBabel or not. > > Cheers, > -Geoff > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > OpenBabel-scripting mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-scripting |
From: joerg.wegner <joe...@we...> - 2006-08-08 19:34:27
|
Hi all, > > Openbabel is more of a molecule parsing program then a graph kernel > > program. Well I would define that differently. 1. OpenBabel is a chemical expert system and has everything in place to transform stupid element graphs into chemical meaningful molecules. 2. A graph kernel is just a specific similarity measure working on graphs which has specific mathematical properties. In fact there is no strict separation, because just a direct graph transformation without chemical information is for sure the last thing we want! > >> Regarding DFS specifically, I believe it is present but I am not sure > >> where. I'm sure that Geoff can comment on this. > There are both DFS and BFS iterators in the 2.1 development code, > which incidentally is the only version with PyOpenBabel. A DFS is really primitive to implement, the only thing you nee is a queue, for e.g. using STL. Beside of that there might be more efficient solutions using graph algorithm libraries or machine learning algorithms. One thing is for sure ... nothing comes for free ... there is no free lunch ... also not for mining. > I'm not particularly versed on "tanimoto" vs. "hybrid". There is > already support for Tanimoto based on various fingerprint methods: > http://openbabel.sourceforge.net/wiki/Tutorial:Fingerprints Tanimoto similarity *ARRGH* usually most people think if they use "tanimoto similarity" all their problems will be solved, you can use it for curing any illness and save the world. To be very clear here, Tanimoto is just a metric like tons of other metrics. The similarity getting with it depends on the coding used, for tanimoto e.g. a vector coding based on any kind of features like complexity, substructures, etc. or on maximum common substructures (MCS). Yes, there is a tanimoto metric for MCS, check out one of the Willet/Gillet publications. If you are interested in publishing I heavily recommend comparing against existing kernels and graph mining methods. Since most algorithms in this area a freely available anyway this should not be a problem. Well this will also be the tough part, since you are really comparing algorithms. This is a big advantage to a huge number of QSAR papers where it is often not really clear what is compared ... the chemical expert system or the transformation rule followed by mining? Please ensure that your comparison is fair. You can not compare black-box algorithms with OpenBabel/JOELib since it is not clear if mining differences might come from the chemical expert system or from the following mining step, so any error up to ten percent is just in range of the standard deviation (just a rough guess of my experience). Exactly this is the reason why you should contribute any code to OpenBabel, also the algorithms you test against. Anyway, you have to dig into the code somehow, since you need the "raw" access to chemical graphs, only there you can create new, innovate, better and faster algorithms. If you will just use the usual stuff you will get what all the others have already ... the precious Tanimoto similarity. Joerg |
From: Geoffrey H. <ge...@ge...> - 2006-08-30 01:04:29
|
On Aug 29, 2006, at 12:31 PM, priyashree saxena wrote: > Could you please tell me how exactly I could use DFS thats there in > pyopenbabel. Or it would be great if you could direct me to the > part of documentation which shows the syntax or the parameters that > should be passed to DFS. Also could you also direct me to the > documentation of pyopenbabel so that I know the functionalities I > can make use in my code. Well, I didn't write pyopenbabel and the only documentation that I know is: http://openbabel.sourceforge.net/wiki/Python#The_pyopenbabel_module http://openbabel.sourceforge.net/pyopenbabel.html I don't know how recent this is, so I don't know if it includes DFS support. The openbabel python interface should. Cheers, -Geoff |
From: Noel O'B. <noe...@ma...> - 2006-08-30 08:41:16
|
I think you are getting your wires crossed. The Python interface to OpenBabel is simply called the openbabel module. The pyopenbabel module is a wrapper around this, which although described on the web site (see Geoff's links below) is not included with the current version of OpenBabel. So, I think your question is: how do I use the DFS in OpenBabel? Unfortunately, the answer appears to be the same, as shown in this quote from Geoff's earlier email: > There are both DFS and BFS iterators in the 2.1 development code, > which incidentally is the only version with PyOpenBabel. So, DFS is not currently in OpenBabel. However, this does not stop you from writing one yourself if you are familiar with recursion. Otherwise, I'm afraid that you will have to wait until OpenBabel 2.1 is released, or else install the development version. Regards, Noel On Tue, 2006-08-29 at 21:04 -0400, Geoffrey Hutchison wrote: > On Aug 29, 2006, at 12:31 PM, priyashree saxena wrote: > > > Could you please tell me how exactly I could use DFS thats there in > > pyopenbabel. Or it would be great if you could direct me to the > > part of documentation which shows the syntax or the parameters that > > should be passed to DFS. Also could you also direct me to the > > documentation of pyopenbabel so that I know the functionalities I > > can make use in my code. > > Well, I didn't write pyopenbabel and the only documentation that I > know is: > http://openbabel.sourceforge.net/wiki/Python#The_pyopenbabel_module > http://openbabel.sourceforge.net/pyopenbabel.html > > I don't know how recent this is, so I don't know if it includes DFS > support. The openbabel python interface should. > > Cheers, > -Geoff > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > OpenBabel-scripting mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-scripting |