You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
(3) |
Oct
(1) |
Nov
|
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
|
Feb
(10) |
Mar
|
Apr
(2) |
May
(4) |
Jun
(1) |
Jul
(1) |
Aug
(13) |
Sep
(1) |
Oct
|
Nov
(4) |
Dec
|
2004 |
Jan
(5) |
Feb
(9) |
Mar
(13) |
Apr
(25) |
May
(10) |
Jun
(21) |
Jul
(13) |
Aug
(8) |
Sep
(6) |
Oct
(1) |
Nov
(5) |
Dec
(16) |
2005 |
Jan
(9) |
Feb
(15) |
Mar
(8) |
Apr
(8) |
May
(3) |
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2006 |
Jan
(2) |
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2007 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Joerg K. W. <we...@in...> - 2003-08-14 09:31:55
|
Hi Gert, > But shouldn't you better add the modified weka.jar to the lib-directory in > that case? Or mention the necessary modifications to weka in the build.xml > file? I think these things can already be freely discussed in the developer mailing list. I hope this will not to much 'developer stuff' for the subscribers of the helping mailing list. On the other side JOELib has (in my opinion) a 70% developer focus, so the division into help-, and developer-mailing list is not really clear. Please write a comment if you want to tell us your thoughts ... > Anyway, my opinion would be to try to subclass the classes of the used > packages in case of a protected modifier or to write new classes in the > same package as the 'stubborn' class in case of a package modifier. In my > eyes this is more elegant, since you leave the other peoples code intact. > How does it look in the eyes of a more skilled coder? I don't care, because that's only one single entry. Because this functionality has it's focus on developers, i think they will be easily able to change 'protected' to 'public' and recompile the sources. If not i can offer a source code patch and/or the ant target for doing such things. Furthermore i do not find the weka design decision for this class not really good. Protected is to restricted for such an important class, that like making atoms protected. Another possibility is to add a simple Mol2Instance class in the weka source package to fullfill the protected case. Adding the weka.jar is definitely possible, but will increment the joelib distribution. And last but not least you can write a wrapper if you like and pick the required functionalites from the InstancesHelper from JOELib. So i think adding somewere a note in the tutorial would be fine, because i've an internal CVS version also. That's my way, when developing 'machine learning' tools and hacking them. > Regards, > Gert Regards, Joerg -- Dipl. Chem. Joerg K. Wegner Center of Bioinformatics Tuebingen (ZBIT) Department of Computer Architecture Univ. Tuebingen, Sand 1, D-72076 Tuebingen, Germany Phone: (+49/0) 7071 29 78970 Fax: (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de -- Never mistake motion for action. E. Hemingway |
From: Gert S. <Ger...@re...> - 2003-08-14 09:31:29
|
> Another possibility is to add a simple Mol2Instance class in the weka > source package to fullfill the protected case. This would be the elegant way indeed. > Adding the weka.jar is definitely possible, but will increment the > joelib distribution. This still will be necessary once the weka interface makes it into the stable release. > And last but not least you can write a wrapper if you like and pick the > required functionalites from the InstancesHelper from JOELib. I don't really understand this. You mean a wrapper for Attribute in the weka.core package? > So i think adding somewere a note in the tutorial would be fine, because > i've an internal CVS version also. That's my way, when developing > 'machine learning' tools and hacking them. This would indeed be the least we should do. And in the build.xml file. Greetings, Gert |
From: Gert S. <Ger...@re...> - 2003-08-14 09:14:02
|
> > But shouldn't you better add the modified weka.jar to the lib-directory in > > that case? Or mention the necessary modifications to weka in the build.xml > > file? > I think these things can already be freely discussed in the developer > mailing list. I hope this will not to much 'developer stuff' for the > subscribers of the helping mailing list. On the other side JOELib has > (in my opinion) a 70% developer focus, so the division into help-, and > developer-mailing list is not really clear. Please write a comment if > you want to tell us your thoughts ... I still think it is a good thing to have this division between help and developer list. The help list would be for problems when using the program or when installing the program. The developer list for problems concerning analysis and design and for problems when compiling the source code. Just as long as developers are not to proud to post something in the help list, there will not be a lot of confusion. |
From: Joerg K. W. <we...@in...> - 2003-08-06 12:55:19
|
Hi all, this is just a reminder, that nearly all classes contains a specific Logger with a debugging functionality. If we take the aromatic typer for example you can switch on this functionality by changing log4j.category.joelib.data.JOEAromaticTyper=INFO in the file joelib/src/log4j.properties to log4j.category.joelib.data.JOEAromaticTyper=DEBUG and recompile the project, which copies the resource files to the joelib/build directory. This will show you the assigned SMARTS pattern with the number of electrons and the typer process, when calling any method which requires this functionality. This can be *VERY* helpfull when trying to resolve, why e.g. some atoms are not recognized as aromatic (see my last bug fix mail !;-) It's recommended to use one one or two molecule for such tasks, or you will have a lot of console filling messages, e.g. for testing a SMILES/SMARTS match i used and you can use: SMILESTest to generate a molecule file SMARTTest for substructure search in the generated file and MoleculeLoadTest for showing the atom properties, e.g. aromaticity flags Regards, Joerg -- Dipl. Chem. Joerg K. Wegner Center of Bioinformatics Tuebingen (ZBIT) Department of Computer Architecture Univ. Tuebingen, Sand 1, D-72076 Tuebingen, Germany Phone: (+49/0) 7071 29 78970 Fax: (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de -- Never mistake motion for action. E. Hemingway |
From: Joerg K. W. <we...@in...> - 2003-08-06 12:08:54
|
Hi all, Hi Geoff, Hi Hou, i've found a serious bug in the SMARTS matcher. This is caused when picking bridging closure ring atoms (root atoms) by the aromatic typer. This will cause the false negative detection of aromatic atoms in this special ring. E.g. when treating: Oc1c(O)c2cccc3ccc4cccc1c4c23, Pyrene-4,5-diol Atoms 2,3 should be aromatic also ! I've implemented a bug fix, i would recommend to add these things to OpenBabel, also. For JOELib users it's recommended to get the latest version from the CVS or download only the changed JOEAromaticTyper.java under (with one day delay, because of SF server strategy, sorry !) http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/joelib/joelib/src/joelib/data/ Regards, Joerg JOELib Administrator -- Dipl. Chem. Joerg K. Wegner Center of Bioinformatics Tuebingen (ZBIT) Department of Computer Architecture Univ. Tuebingen, Sand 1, D-72076 Tuebingen, Germany Phone: (+49/0) 7071 29 78970 Fax: (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de -- Never mistake motion for action. E. Hemingway |
From: Joerg K. W. <we...@in...> - 2003-08-04 14:17:47
|
Hi all, the tutorial was extended with examples and source code snippets (26 pages). Regards, Joerg -- Dipl. Chem. Joerg K. Wegner Center of Bioinformatics Tuebingen (ZBIT) Department of Computer Architecture Univ. Tuebingen, Sand 1, D-72076 Tuebingen, Germany Phone: (+49/0) 7071 29 78970 Fax: (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de -- Never mistake motion for action. E. Hemingway |
From: Joerg K. W. <we...@in...> - 2003-08-04 12:56:37
|
Hi all, a new code cleanup release is available: Two important changes, if you've implemented your own descriptors: 1. method 'void testDescriptor()' in the Descriptor interfaces has changed to 'boolean testDescriptor()'. Please change the return value, or your compiler will fail at your own implementations. 2. The initialization for descriptors has changed slightly, but please refer to the API docu, the old constructor for DescInfo is deprecated, but still at work. That's not serious only a design decision, because the previous version caused inhomogenities. 3. The rest is AddOn to facilitate tasks: SimpleReaderWriterPipe AtomDynamicDesc AtomDoubleDesc Regards, Joerg -- Dipl. Chem. Joerg K. Wegner Center of Bioinformatics Tuebingen (ZBIT) Department of Computer Architecture Univ. Tuebingen, Sand 1, D-72076 Tuebingen, Germany Phone: (+49/0) 7071 29 78970 Fax: (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de -- Never mistake motion for action. E. Hemingway |
From: Joerg K. W. <we...@in...> - 2003-07-21 07:17:23
|
Hi all, a new JOELib release with new features is available ! !!! This is developer release, because there are no standard applications available for using the new features !!! And i will be happy to arrange duties for such applications, but have no time to implement them. Here is the Change Log: ------------------------------------ - interface to the Weka data mining library (http://www.cs.waikato.ac.nz/ml/weka/) - JavaNativeInterface (JNI) to (Lib)Ghemical for calculating Molecular Mechanics (MM) and rotate bonds (http://bioinformatics.org/project/?group_id=41). - fragmentation methods for molecules - generation method for molecules using a scaffold and R-groups - JDBC data base interface - bug fixes: --- corrected ant build file for missing CDK libraries which is also available under: https://sourceforge.net/project/shownotes.php?group_id=39708&release_id=172841 Be aware that the LibGhemical connection works *ONLY* under Cygwin/Windows and Linux/IBM-JRE-1.4 ... this interface is still beta and depends on a bug free JDK/JRE (so Linux SUN-JRE will definitely not work and the Windows version could be much more stable ... in my opinion ... unfortunately the Windows-IBM-JRE is only 1.3 and not 1.4 which will be required here). ... feel free to modify the interface for your requirements ... i'm still interested in a method for calculateing molecular surfaces (using Ghemical) and would be happy about some helping hands Regards, Joerg -- Dipl. Chem. Joerg K. Wegner Center of Bioinformatics Tuebingen (ZBIT) Department of Computer Architecture Univ. Tuebingen, Sand 1, D-72076 Tuebingen, Germany Phone: (+49/0) 7071 29 78970 Fax: (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: Joerg K. W. <we...@in...> - 2003-06-25 07:31:22
|
Hello, > how can use 3D viewer in JOELib? > regards two ways: 1. call simple application joelib-dir> sh viewer.sh yourMoleculeFile.extension JOElib will load the given yourMoleculeFile and detects the file format from the given extension. To get an overview over the implementation have a look at: joelib.gui.molviewer.java3d.ViewerFrame 2. create your own application (embed 3D viewer in your JFrame) the relevant class is: joelib.gui.molviewer.java3d.graphics3D.JPanel3D and joelib.gui.molviewer.java3d.util.MolViewerEventAdapter when you want to catch clicked atoms and bonds. private JPanel3D molPanel; //a private global variable private CentralLookup lookup; //a private global variable ... lookup = CentralLookup.getLookup(); molPanel = new JPanel3D(); CentralDisplayAdapter c = new CentralDisplayAdapter(molPanel); lookup.addObject("CentralDisplay", c); molPanel.addMolViewerEventListener(new MolViewerEventAdapter()); // now you can add the molPanel to your frame, e.g. // this.add(molPanel, BorderLayout.CENTER); ... // how to change molecules and options ??? molPanel.setRenderStyle(RenderStyle.BALL_AND_STICK); molPanel.setRenderStyle(RenderStyle.STICK); molPanel.setRenderStyle(RenderStyle.WIRE); // when changing atoms or delete bonds or something you should use molPanel.clear(); molPanel.addMolecule(changedMolecule); ... // for more examples have a look at //joelib.gui.molviewer.java3d.ViewerFrame // e.g. adding H's, delete H's, change atomPropertyColoring, .... the event adapter class catches the events and prints them to the standard output. If you want your own methods you can simply create your class cp MolViewerEventAdapter MyMolViewerEventAdapter with a replaced functionality in the methods: atomPicked and bondPicked ! and use instead molPanel.addMolViewerEventListener(new MyMolViewerEventAdapter()); > M.Karthikeyan Regards, Joerg P.S.: I've found a bug in stripSalts and more serious in deleteBond in the JOEMol class, because i've changed some time ago the return value of getContigousFragments(), so be aware that i've fixed it, but it's not checked in until now. P.P.S.: I've activated the JNI interface to Ghemical to calculate Tripos5.2 MM and minimize molecule energy (rotatable bonds). Unfortunately this works only under Windows/Cygwin and Linux/IBM-SDK, because SUN's JDK causes some internal JNI exceptions (JDK BUG!!!). Let's see if this will be stable enough to make it available with JOELib. -- Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: Joerg K. W. <we...@in...> - 2003-05-19 08:18:50
|
Hi all, now there is a simple (!!!) Web Start application for JOELib available. http://www-ra.informatik.uni-tuebingen.de/software/joelib/download.html So, please don't complain the basic functionalities of the GUI version, the extended GUI version will be available in a few months !;-) Regards, Joerg -- Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: Joerg W. <we...@in...> - 2003-05-17 11:47:59
|
Hi Robin, thank's for your support !!!! > I recently tried to set up JOELib to run on my windows 2000 machine. Everything compiled alright, but none of the examples would run correctly. I thought you might like to know about the problem and how I fixed it. > > I traced the problem back to the wsi.ra.tool.ResourceLoader class. It turns out that it was storing the file location as a URL, which converted the spaces in my file path into "%20"s. Since I installed JOELib in the Program Files directory, it tried to load files from Program%20Files, and failed. > > There are many ways to solve this problem, but I used the regex package and made the following changes: > > Line 33 - import java.util.regex.*; > Line 115 - > String locationString = location.getFile(); //must use getFile(), not toString() for windows > // Replace every %20 with a space > Pattern p = Pattern.compile("%20"); // searching pattern > Matcher m = p.matcher(locationString); > locationString = m.replaceAll(" "); // replacement string > Line 156 - > logger.debug("Loading from file " + locationString + "."); > return getBytesFromFile(locationString); // changed from location.getFile() Look's perfect ! For i've just added the regex-replacement directly before line 156, because these changes are only necessary for files and not for resources files in a zip or jar archive. > This solved the problem. I don't, however, know if these changes cause any problems with other configurations or situations. Let's see !;-) > In case you want to incorporate these changes, I attached the modified ResourceLoader.java file. I've added the changes locally and will add these things to CVS and release a new version with further bug fixes in the next days, e.g. in the number formatter when occuring NaN and some little parameter extensions for the SMARTS parser and SMILES generator ... ... i've found also bugs in the .bat files, these will do nothing because there is a useless goto statement directly to the end of .bat files, but i would recommend Cygwin+.sh-scripts also ... > Thanks, > Robin Friedman I've to thank you ... Friendly regards, Joerg > > <<ResourceLoader.java>> > Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: Joerg K. W. <we...@in...> - 2003-05-08 08:00:16
|
Hello, > Let me explain my environment: > > Windows 2000 > Java : jdk1.3.1 and jdk1.4 > JRE: j2re1.4.1_02 and j2re1.4.0 > Ant: 1.5.3 > > Fortunately jchem from chemaxon is working perfect for database > management and viewing the molecules > in JOELib viewer I could not load the molecule (SDF) > is it because of missing parameters other than molecule > connection table and co-ordinate information. Marvin is really great, you're right. > pl write step by step instruction for the above environment > I can reinstall the program or configure / setup the environment > as per the direction. O.k., let's go: set the required environment variables: set JOELIBDIR=D:\workingAt\joelib (in MS-DOS-Shell) or setenv JOELIBDIR /cygdrive/d/workingAt/joelib (Cygwin, with tcsh) or export JOELIBDIR=/cygdrive/d/workingAt/joelib (Cygwin, with bash) check this path with echo %JOELIBDIR% (in MS-DOS-Shell) or echo $JOELIBDIR (in Cygwin) Mainly there are three ways: 1. For things like compiling, building distributions and so i recommend ANT, that's the only usefull way ! A long time ago i used scripts, too, but that's really cryptic for complex tasks. build.bat (MS-DOS Shell) sh build.sh (Cygwin) should work. 2. Using Cygwin for windows and work with the .sh shell scripts, that's the recommended way, because you can use well known shell scripts functions like 'find'. sh viewer.sh sh convert.sh ... all required libraries will be added automatically. 3. Using plain .bat batch scripts. A problem is, that all library and classpath's must be coded explicitely, because there is no 'find' analogue tool. If you will not code all required path's JOELib will not be able to resolve the required property files, like 3.1. joelib.properties: if this can not be found, it will return 0 input/output types found (12 would be expected) This file must be available in the base CLASSPATH or in a .jar file. I recommend the plain file in a directory structure, for enabling simple property extensions or changes, e.g. choosing another pH value correction model or something else. 3.2. chemical definition files for the atomType-, aromaticity-, and phValueCorrection-models. Please ensure that you've added all required path's to the classpath: set CLASSPATH=%CLASSPATH%;lib\ant.jar; set CLASSPATH=%CLASSPATH%;lib\crimson.jar; set CLASSPATH=%CLASSPATH%;lib\jaxp.jar; set CLASSPATH=%CLASSPATH%;lib\junit-3.2.jar; set CLASSPATH=%CLASSPATH%;lib\log4j.jar; set CLASSPATH=%CLASSPATH%;lib\xerces.jar; set CLASSPATH=%CLASSPATH%;lib\xalan-2.0.1.jar; > Objectives: calculate or read already calculated descriptors for the molecules and also for comparison. > (MOLCONZZ / PETRA / MOE etc.,) That's all fine and possible. Don't forget to add all kind of external descriptors to extKnownResults.txt in joelib/data/plain or JOELib will not recognize them as integer, double or fingerprint, when calculating a statistic or doing a fingerprint comparison or an euclidian distance based comparison. > sincerely yours > M.karthikeyan Regards, Joerg K. Wegner > > > > we...@in... wrote > Hello, > > can i forward this message to the help mailing list. > This facilitate other users using JOELib, when occuring analogous problems > ? > > Regards, Joerg > > On Wed, 9 Apr 2003, Joerg Wegner wrote: > > >>Hello, >> >> >>>I got the message: >>>C:\JOELib>java -cp . joelib.test.Convert +d example.smi example.sdf >>>12:13:44 [INFO ] joelib.io.IOTypeHolder -0 input/output types loaded. >>>Input type of example.smi could not be estimated.. >> >>That's not what i suggested. I suggested sh convert.sh. >>You command line 'java -cp .' is not able to locate the joelib.properties >>file in the classpath or directory structure. >>IOTypes are defined in the joelib.properties file so the occuring error is >>clear. >>sh convert.sh sets all libraries on it's own, which faciliates the usage. >>Under windows the classpath-extensions are hard coded in the convert.bat >>file. >> >> >>>in the second attempt I tried on one halogen molecule in SDF format >>>wondering whether I am making any mistake? >> >>Same mistake. >>0 IOType definitions. >>0 descriptor informations. >> >>The biggest advantage of JOELib id the dynamic definition of IO-types and >>descriptor calculation methods. All other required files like >>aromatic.txt, atomtypes.txt are also required, so the correct classpath >>and the correct files are really important. >>By the way you can use JOELib with programs like Corina and Petra which is >>a little bit more difficult, but every flexibility and transparency >>requires more parameters !;-) >> >>I recommend always the source code distribution, because modifications >>and bug fixing is really easy with the 'apache ant' makefile mechanism. >> >>Please have a look in the tutorial. I you use sh convert.sh (Cygwin under >>Windows!?) don't forget to set the JOElib base path. >>setenv JOELIBDIR /cygdrive/d/workingAt/joelib >>also (for ant) >>setenv JAVA_HOME c:/Programme/j2sdk1.4.1 >>setenv ANTHOME c:/Programme/Java/lib/ant1.5.1 >>(or was it ANT_HOME !?:-) >> >> >> >>>Sincerely >>>M.Karthikeyan >>>--- >>> >>> >>>java joelib.test.Convert -iSDF halogen.sdf >>> >>> >>>halogen.sdf >>>C11H20 >>>DAtclserve04070319043D 0 0.00000 0.00000 >>> >>> 31 32 0 0 0 0 0 0 0 0999 V2000 >>> -2.6432 -0.0309 0.6774 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> -2.2036 -1.1790 -0.2172 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> -0.7991 -1.6331 0.1160 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> 0.3241 -0.7775 -0.4343 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> 1.6331 -1.4058 0.0509 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> 2.8306 -0.5087 -0.2363 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> 2.6352 0.7988 0.5418 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> 1.3912 1.4864 -0.0064 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> 0.1356 0.6360 0.1919 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> -0.9531 1.3045 -0.6792 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> -2.3079 1.3025 -0.0163 C 0 0 0 0 0 0 0 0 0 0 0 0 >>> -3.7179 -0.0927 0.8485 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> -2.1170 -0.0887 1.6301 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> -2.8894 -2.0160 -0.0857 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> -2.2357 -0.8533 -1.2569 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> -0.7009 -1.6662 1.2011 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> -0.6708 -2.6472 -0.2626 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> 0.2900 -0.7412 -1.5232 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> 1.5678 -1.5781 1.1252 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> 1.7765 -2.3618 -0.4528 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> 3.7467 -0.9999 0.0916 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> 2.8860 -0.2978 -1.3043 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> 2.5000 0.5811 1.6012 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> 3.5037 1.4431 0.4047 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> 1.2584 2.4399 0.5048 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> 1.5290 1.6728 -1.0715 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> -0.1504 0.5775 1.2421 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> -0.6604 2.3351 -0.8794 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> -1.0237 0.7700 -1.6265 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> -3.0673 1.5048 -0.7716 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> -2.3353 2.1000 0.7263 H 0 0 0 0 0 0 0 0 0 0 0 0 >>> 1 2 1 0 0 0 0 >>> 2 3 1 0 0 0 0 >>> 3 4 1 0 0 0 0 >>> 4 5 1 0 0 0 0 >>> 5 6 1 0 0 0 0 >>> 6 7 1 0 0 0 0 >>> 7 8 1 0 0 0 0 >>> 8 9 1 0 0 0 0 >>> 4 9 1 0 0 0 0 >>> 9 10 1 0 0 0 0 >>> 10 11 1 0 0 0 0 >>> 1 11 1 0 0 0 0 >>> 1 12 1 0 0 0 0 >>> 1 13 1 0 0 0 0 >>> 2 14 1 0 0 0 0 >>> 2 15 1 0 0 0 0 >>> 3 16 1 0 0 0 0 >>> 3 17 1 0 0 0 0 >>> 4 18 1 0 0 0 0 >>> 5 19 1 0 0 0 0 >>> 5 20 1 0 0 0 0 >>> 6 21 1 0 0 0 0 >>> 6 22 1 0 0 0 0 >>> 7 23 1 0 0 0 0 >>> 7 24 1 0 0 0 0 >>> 8 25 1 0 0 0 0 >>> 8 26 1 0 0 0 0 >>> 9 27 1 0 0 0 0 >>> 10 28 1 0 0 0 0 >>> 10 29 1 0 0 0 0 >>> 11 30 1 0 0 0 0 >>> 11 31 1 0 0 0 0 >>>M END >>>$$$$ >>>============= >>>Output: >>> >>> >>> >>>12:08:35 [INFO ] joelib.io.IOTypeHolder - 0 input/output types loaded. >>>12:08:35 [ERROR] joelib.test.Convert - Input type 'SDF' not defined. >>>12:08:35 [INFO ] joelib.desc.DescriptorHelper - 0 descriptor informations loaded. >>>Usage is : >>>java -cp . joelib.test.Convert [options] <input file> [<output file>] >>> >>>Options: >>> [-i<inputFormat>] - Format of the input file >>> [-o<outputFormat>] - Format of the output file >>> [-h] - Removes all hydrogens from molecule >>> [+h] - Adds hydrogens to molecule >>> [+p] - Adds only polar hydrogens (+h implicit) >>> [-e] - Converts only non-empty molecules >>> [-d] - Removes all descriptors from the molecule >>> [+d] - Adds all available descriptors to the molecule >>> [+v] - Switch verbosity ON >>> [+snd] - Shows all available native value descriptors >>> [+sad] - Shows all available atom property descriptors >>> [+sall] - Shows all available descriptors >>> [+x<descriptor name>] - Converts only molecules where <descriptor name> exists >>> [-r<skip desc. rule>] - Skips molecules, if rule fits >>> [+r<conv. desc. rule>] - Converts only molecules where rule fits >>> [+f<lineStructure>] - Required if you use FLAT output format which other input format >>> [+s<lineStructure>] - Can be used for an alternate SMILES entry line structure >>> [-m<SMARTS rule>] - Skips molecules, if SMARTS rule fits >>> [+m<SMARTS rule>] - Converts only molecules where SMARTS rule fits >>> [-um<SMARTS rule>] - Skips molecules, if unique SMARTS rule fits >>> [+um<SMARTS rule>] - Converts only molecules where unique SMARTS rule fits >>> [-?][--help] - Shows this message >>> >>>If no output file is defined, all molecules will be written to stdout. >>> >>>Filter rules have the form: >>><native value descriptor><relation><value> >>>where <relation> is <, <=, ==, >, >= or != >>>Example: >>>"+rNumber_of_halogen_atoms==2" >>> >>>SMARTS filter rules have the form: >>><SMARTS pattern><relation><value> >>>where <relation> is <, <=, ==, >, >= or != >>>Example: >>>"+umaNC=O==1" >>>Converts all molecules, where the molecule contains ONE NC=O group connected to an aromatic atom (aNC=O). >>> >>>Supported molecule types: >>> Name Readable Writeable Description >>>---------------------------------------------------------- >>> 0 UNDEFINED false false Undefined >>> >>>Native value descriptors: >>> >>>---------------------- >>>we...@in... wrote >>>Hello, >>> >>>SMILES file: example.smi >>> >>>c1ccccc1 benzene >>>CCC propane >>> >>>then try >>>sh convert.sh +d example.smi example.sdf >>> >>> >>>Regards, Joerg >>> >>> >> >>Dipl. Chem. Joerg K. Wegner >>Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany >>Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 >>E-Mail: mailto:we...@in... >>WWW: http://www-ra.informatik.uni-tuebingen.de >> >> >> > > > Dipl. Chem. Joerg K. Wegner > Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany > Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 > E-Mail: mailto:we...@in... > WWW: http://www-ra.informatik.uni-tuebingen.de > > -- Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: Joerg K. W. <we...@in...> - 2003-05-07 06:22:32
|
Hello, > But now there is another problem: I can't find org.openscience.cdk package. > Search in Google gave a few dead links and a few pages with documentation > but not the package itself... Download from SourceForge: http://sourceforge.net/project/showfiles.php?group_id=20024 http://sourceforge.net/projects/cdk/ They use the ant build tool, also. For further request it would be nice to use the JOELib-devel (recommended, and cc adress) or JOELib-help mailing list. Download CDK and call: cdk>ant dist This generates a patch Exception and complains missing jmol classes, but don't care about such things. Please contact for further CDK question Egon Willighagen (CDK Admin). Copy the generated .jar files in the cdk/dist/jar directory to joelib/lib. Copy additionally the JSX.jar from cdk/jar to joelib/lib. Then recompile JOELib. joelib/ant> ant compile or joelib> sh build.sh compile Now the CDK classes should be recognized and the CDKTools should be compiled also. Then try: joelib/ant> ant LayoutTest or joelib> sh build.sh LayoutTest > Sorry for inconvenience... Was me a pleasure ... Regards, Joerg > > Andrei Douglas > > >>Hello Mr. Douglas, >> >> >>>Class CDKTools, declared to be in joelib.util package, doesn't exist > > there > >>>(in joelib.jar). >>>What would be a reason for that? >> >>The sources are definitely available in the CVS: >> > > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/joelib/joelib/src/joelib/util > / > >>Eventually i've made a mistake in the source distribution, i don't >>believe that, but i will check it. >>If JOELib doesn't find the required CDK classes the CDKTool class will not >>be build !!! >> >> >>>Sincerely Yours, >>>Andrei Douglas >> >>CDK is really optional and can be used for 2D layout, but you can also use >>ChemAxon marvin classes for such a task ! >> >>Regards, Joerg K. Wegner >> >>--- >>Dipl. Chem. Joerg K. Wegner >>Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany >>Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 >>E-Mail: mailto:we...@in... >>WWW: http://www-ra.informatik.uni-tuebingen.de >> >> >> > > > -- Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: Joerg K. W. <we...@in...> - 2003-04-25 12:46:42
|
Hello Anil, first of all: 'Urgent' is not a really descriptive subject and has good chances to get catched by my SPAM filter. Please don't do that again (your friendly JOELib administrator). > i am using JOElib to calculate the distance matrix by passing a SDF file.but it > gives me an error saying cannot read molecule when using TestDescriptor to > read the SDF file. and gives a null pointer exception when using code from > Molecule Veiwer to read the sdf file and then calculate distance matrix using > function DistanceMatrix.calculate(JMol). mmmh ... i can not be really helpfull, when being so less descriptive. Mainly there could be two problems. 1. Problems with reading the molecule (incorrect structure ?). Can be catched (MoleculeIOException). Empty molecule (mol.empty()). Last molecule readed (read method returns: false). 2. Problems in your code. Please have a look at the code of Convert and ConvertSkip to calculate descriptors. This is not the fastest way, because for every molecule new descriptor instances will be made, but it's really simple to get the descriptors. For a fast calculation you should have a look in the TestDescriptor Example, especially the Breadth_First_Descriptor. > please advise accordingly > Anil Regards, Joerg > SciNova Informatics > Development Centre > 528 Narayan Peth, 43 VishwaShobha, > Pune, Maharashtra, > India 411030 > Telefax:91-20-4450282 > http://www.scinovaindia.com > > Corporate Headquarters > Euresian Group of Companies > 101, Marine Chambers, > 11 New Marine Lines, > Mumbai-400 020, INDIA > Phone #- 91-22-56332437 > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Joelib-devel mailing list > Joe...@li... > https://lists.sourceforge.net/lists/listinfo/joelib-devel > -- Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: Anil S. <ani...@sc...> - 2003-04-25 10:29:48
|
hi, i am using JOElib to calculate the distance matrix by passing a SDF file.but it gives me an error saying cannot read molecule when using TestDescriptor to read the SDF file. and gives a null pointer exception when using code from Molecule Veiwer to read the sdf file and then calculate distance matrix using function DistanceMatrix.calculate(JMol). please advise accordingly Anil SciNova Informatics Development Centre 528 Narayan Peth, 43 VishwaShobha, Pune, Maharashtra, India 411030 Telefax:91-20-4450282 http://www.scinovaindia.com Corporate Headquarters Euresian Group of Companies 101, Marine Chambers, 11 New Marine Lines, Mumbai-400 020, INDIA Phone #- 91-22-56332437 |
From: Joerg K. W. <we...@in...> - 2003-02-18 12:53:50
|
Hello, > IMO it is essential that the community all uses the same approach to > atom type definition. (This doesn't necessarily mean a single monolithic > approach, but an agreement on how to make sure that all systems behave > in the same way. There should be operational definitions of atoms types > where possible based on chemical and/or geometrical environment whose > interpretation should be reproducible on all of the systems that adopt > this approach. To ensure uniformity I believe that all algorithms should > - as far as possible - come from external files and be independently of > programming language. I've added the atom type assigning process workflow to the XML-DocBook-Tutorial: http://www-ra.informatik.uni-tuebingen.de/software/joelib/tutorial/atomtyper.html It can be also usefull for OpenBabel-users, only the class names are different. I hope this will be interesting for all users and developers. > SMARTS is a useful approach here, and I would > also suggest XML and a representational language. (If readers are keen, > I'd be happy to see how CML can be extended to support this). As already discussed, i would recommend SMARTS expressions, because they are short and established. The generic CML query language can be also used, if all the basic substructure functionalities can be established as defined in the text files linked above (aromatic.txt, atomtype.txt). The query language should have a converter, like: SMARTS <-> CML query Or everybody must redefine SMARTS patterns found in the literature to CML queries. > There are many fuzzy concepts such as "trigonal N" and "aromatic". These > can be determined by different criteria (neighbouring atoms, geometry, > MO calculation, etc.). Where possible the name should suggest the > method, e.g. "planar three-coordinate nitrogen", "nitrogen with aromatic > ligand", etc. Unless there is clear nomenclature and algorithmic > definition of concepts, the program systems won't be implemented in the > same way and we are limited to "CDKaromatic", "BabelHydrogen", etc. 1. I think the basic atom type assignments are more or less the same, by the way: Thank's Geoff for collecting and checking in the test data sets. The transparency is given by using SMARTS with comments. 2. Specialized chirality- or Z/E-descriptors must always be implemented, but that's no transparency problem if these descriptors are well documented (e.g. using XML-DocBook) or known in the literature. And altough i'm no CML expert, it think using something like chirality.descriptor.definition="Golbraikh_Tropsha_JCICS_2003" should work. The descriptor calculation facility is not directly available under OpenBabel, eventually there could be some dynamic factory design patterns implemented to establish such things, but i'm not totally convinced, if the Java-Reflection-analogue mechanism can be totally supported in a C++ environment. > The first step could be to coordinate the current approaches > independently of program system. This is a sizeable task, but it's the > sort of thing that IUPAC is doing for graphic representation of chemical > structures, See http://www.angelfire.com/sc3/iupacstructure for very > impressive discussion coordinated by Jonathan Brecher. I think that atom > types is outwith the scope of this particular activity (I am sure there > is cross-readership) but ultimately it would be valuable for IUPAC to > have a view on atom types. The link doesn't work for me. Who will organize such things ? > P. Regards, Joerg -- Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: Peter Murray-R. <pm...@ca...> - 2003-02-17 12:36:54
|
This is an extremely important area and one which the OpenChemistry movement should encourage. [I have crossposted to the three lists mentioned above, but suggest that the listowners should comment if they don't like this. Crossposting often becomes undirected in later stages.] IMO it is essential that the community all uses the same approach to atom type definition. (This doesn't necessarily mean a single monolithic approach, but an agreement on how to make sure that all systems behave in the same way. There should be operational definitions of atoms types where possible based on chemical and/or geometrical environment whose interpretation should be reproducible on all of the systems that adopt this approach. To ensure uniformity I believe that all algorithms should - as far as possible - come from external files and be independently of programming language. SMARTS is a useful approach here, and I would also suggest XML and a representational language. (If readers are keen, I'd be happy to see how CML can be extended to support this). There are many fuzzy concepts such as "trigonal N" and "aromatic". These can be determined by different criteria (neighbouring atoms, geometry, MO calculation, etc.). Where possible the name should suggest the method, e.g. "planar three-coordinate nitrogen", "nitrogen with aromatic ligand", etc. Unless there is clear nomenclature and algorithmic definition of concepts, the program systems won't be implemented in the same way and we are limited to "CDKaromatic", "BabelHydrogen", etc. The first step could be to coordinate the current approaches independently of program system. This is a sizeable task, but it's the sort of thing that IUPAC is doing for graphic representation of chemical structures, See http://www.angelfire.com/sc3/iupacstructure for very impressive discussion coordinated by Jonathan Brecher. I think that atom types is outwith the scope of this particular activity (I am sure there is cross-readership) but ultimately it would be valuable for IUPAC to have a view on atom types. P. |
From: Joerg K. W. <we...@in...> - 2003-02-17 11:52:04
|
Hello, >>>Open Babel loads most of these from text files, which has enabled >>>workarounds for some bugs. They're all under the GPL and I'd be glad to >>>set aside a separate CVS repository for just these data files. >> >>Perfect, that's what i thought !!! > > > I am not totally convinced that thoses text-files are appropriate for a > library. You are expected to be able to install different versions of a > library next to the other. Two thoughts on this: > > 1. Install the text-files in a per-version directory like > ${sharedir}/openbabel/${version}, expanding to > /usr/share/openbabel/2.00 on GNU systems or something. > > 2. Have a library function to override all or specific files with a > locally provided one by the calling program, e.g. > /usr/share/xdrawchem/openbabel/extable.txt. Most programs don't need all > the extensions babel provides and their users might get confused at all > the options. > > I didn't check the code, perhaps 2. is already there... C++: I would agree. If i'm reminding this correctly OpenBabel(OELib) has a default binary representation of the definitions and loads alternatively the text file definitions if they are available. JAVA: I would agree. Loading scheme in JOELib: default: 1. load text definition file from resource (jar, zip) library 2. load text definition from file in classpath. user specific (for experts, which will not be confused): define other text definition files in joelib.properties For both task there exist the class wsi/ra/tool/ResourceLoader Is you want to change your definitions you must simply actualize the text file defnitions and be sure that they are available in the actual classpath. Regards, Joerg -- Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: - 2003-02-17 11:09:39
|
On Mon, Feb 17, 2003 at 08:38:55AM +0100, Joerg K. Wegner wrote: > Have a nice exam !:-) Yeah! > >There's also the FSAtom project: http://www.fsatom.org/ which looks > >similar to what we're talking about. > I will have a look ... i know that Ghemical uses OElib(OpenBabel) also. xdrawchem/chemtool do, too. While chemtool calls the obabel-executable via a pipe or something, xdrawchem includes the whole source-tree. It sure would be nice to have a stable libopenbabel for 3rd parties to use, but with the current rate of development, we're still far from that, *kickmyself* > >Open Babel loads most of these from text files, which has enabled > >workarounds for some bugs. They're all under the GPL and I'd be glad to > >set aside a separate CVS repository for just these data files. > Perfect, that's what i thought !!! I am not totally convinced that thoses text-files are appropriate for a library. You are expected to be able to install different versions of a library next to the other. Two thoughts on this: 1. Install the text-files in a per-version directory like ${sharedir}/openbabel/${version}, expanding to /usr/share/openbabel/2.00 on GNU systems or something. 2. Have a library function to override all or specific files with a locally provided one by the calling program, e.g. /usr/share/xdrawchem/openbabel/extable.txt. Most programs don't need all the extensions babel provides and their users might get confused at all the options. I didn't check the code, perhaps 2. is already there... Michael |
From: Joerg K. W. <we...@in...> - 2003-02-17 07:37:01
|
Hello Geoff, thanks ! Have a nice exam !:-) > There's also the FSAtom project: http://www.fsatom.org/ which looks > similar to what we're talking about. I will have a look ... i know that Ghemical uses OElib(OpenBabel) also. > Open Babel loads most of these from text files, which has enabled > workarounds for some bugs. They're all under the GPL and I'd be glad to > set aside a separate CVS repository for just these data files. Perfect, that's what i thought !!! >> 2. The assignemts should be defined in a transparent >> and reproducable way. Any suggestion? Which >> are practical ? Technical docu ? > > > At least in Open Babel, the typing is either done by the program that > generated the file, or by a SMARTS pattern. Certainly the latter seems > pretty transparent and reproducible to me, assuming that everyone has > bug-free SMARTS code, of course. :-) > > Now I can't say that external type assignments are necessarily > reproducible or transparent, but we can't easily solve that. (Until > everyone uses open file formats...) OTOH, Open Babel has a pretty > complete type translation table. It's not bug free, but it's getting > much better with continued testing (and roundtripping). I agree, i think SMARTS will be transparent enough !!! Thanks, for your efforts ! Regards, Joerg -- Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: Geoff H. <hut...@ch...> - 2003-02-17 05:21:44
|
Apologies that I haven't responded to you sooner, Joerg! I have an oral exam on Thursday and until a few days ago, I was working on the manuscript portion of it. > different forums, i would recommend the Openbabel > discussion list for a response (if this is o.k. !), I agree that we probably need a list for discussing such inter-program "standards," but I certainly don't mind the Open Babel list used if other people follow it. Or, if you like, I'd be glad to start a new list. It would probably be worthwhile to talk about pseudo-code and algorithm development as well. Java and C++ are not so different and it would be silly to duplicate efforts! There's also the FSAtom project: http://www.fsatom.org/ which looks similar to what we're talking about. There's really a lot more than just atom typing that should be "hammered out," as there are some truly basic chemical concepts that are duplicated! * periodic table * isotopes (and masses--or else these are ignored completely) * atom types - type translations from one program's syntax to another's - type rules * test molecules (or other test sets?) * residue info * chemical MIME types, extensions, etc. ... Open Babel loads most of these from text files, which has enabled workarounds for some bugs. They're all under the GPL and I'd be glad to set aside a separate CVS repository for just these data files. > 2. The assignemts should be defined in a transparent > and reproducable way. Any suggestion? Which > are practical ? Technical docu ? At least in Open Babel, the typing is either done by the program that generated the file, or by a SMARTS pattern. Certainly the latter seems pretty transparent and reproducible to me, assuming that everyone has bug-free SMARTS code, of course. :-) Now I can't say that external type assignments are necessarily reproducible or transparent, but we can't easily solve that. (Until everyone uses open file formats...) OTOH, Open Babel has a pretty complete type translation table. It's not bug free, but it's getting much better with continued testing (and roundtripping). -- -Geoff Hutchison <hut...@ch...> Marks/Ratner Groups (847) 491-3295 Northwestern Chemistry <http://www.chem.northwestern.edu> |
From: Joerg W. <we...@in...> - 2003-02-10 23:08:03
|
Hi all, i was adressed recently with the following question: Is there any standard for atom types and a protonation model available? Or from a more practical standpoint of view. Is there any multiple molecule file available with a standard definition of atom types AND protonation models for one (or different pH) value(s) ? I did'nt know a real good forum for this question, so i wanna adress this problem to your community of developers. Because this is a posting to different forums, i would recommend the Openbabel discussion list for a response (if this is o.k. !), otherwise you can send responses to the JOELib or CDK (if this is o.k. !) developer mailing list. If you aren't interested in this problem, you can stop reading here, because i will explain the problem in more detail, from my standpoint of view. ------------------------------------------------------ Atom types are required for the following tasks: - file conversion, e.g. SDF->Sybyl mol2 - protonation models which are BASED on this previous atom type assignments - descriptor calculation methods which BASED on this previous atom type assignments There are a lot of descriptor calculation programs available and i think that every program uses it's own atom typer facility. Additionaly this causes different results for different programs ! From the computer scientist point of view that's absolutely awful !!! 1. An algorithm produces always the same result ! That's o.k. 2. Models, like atom typer models and protonation models are based on expert knowledge, BUT it would be more efficient AND transparent if there will be a set of molecules available WITH assigned atom types. Any hypothetically 'new' atom typer can be cross-checked against this multiple definition file. If it fails on single atoms, the atom type assigning process (e.g. based on SMARTS, as in Openbabel/JOELib) can be corrected and any side effects changing this definition can be double checked again and so on. I used the Openbabel definitions and corrected one or two entries, but i didn't check all definitions. That will be hard work, and all previous developers of Babel, OELib, Openbabel have invested a lot of time to develop these atom types and definitions. I'm busy with other main task, but nonetheless it would be really usefull: 1. to have a standard or some standard files. 2. if any wrongly assigned atom type will be send to a mailing list, where these files should be stored in a transparent and usefull way. Now the problem: I think this problem is to big for a handfull of developers: - without knowing the standard - without knowing how to represent the standard - without knowing who will be able to collect the definition files - without having a transparent method to debug the atom type assigning process Solution suggestions: 1. I would suggest a special mailing list in the OpenBabel or JOElib project to adress only atom type and protonation model assignments. 2. The assignemts should be defined in a transparent and reproducable way. Any suggestion? Which are practical ? Technical docu ? 3. I think it will be definitely possible to extend Openbabel and JOELib to have a transparent debugging mode for the atom type assignments. That's an open discussion: Feel free for some constructive comments and fruitful suggestions. Regards, Joerg Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |
From: Geoff H. <hut...@ch...> - 2003-02-06 19:41:52
|
There's really no reason it can't add atoms, IMHO. The class itself is exposed mostly through adding hydrogens. I do have some ideas about how that would be implemented in Open Babel, but things are a bit busy here with an oral exam coming up soon. And I'd certainly be interested to know about LISP uses of Open Babel! -- -Geoff Hutchison=09=09<hut...@ch...> Marks/Ratner Groups=09=09(847) 491-3295 Northwestern Chemistry=09=09<http://www.chem.northwestern.edu> On 6 Feb 2003, Daniel Charles McShan wrote: > Hmm, it does seem that while the ChemTransformation class was perhaps > unintended as a general transformation mechanism we could us it as such. > > Consider: > > sh-2.05a$ ./transform CO [C:1][O:2] [C:1]=3D[O:2] > CO - [C:1][O:2] + [C:1]=3D[O:2] =3D> C=3DO > > (This is using openbabel - I just exposed their transformation class to > the command line - the first argument is the smiles for the starting > molecule, the second is the "search" and the third is the "replace") > > So the example above works great. But, as we've noted, you can't just > add atoms. But I wonder if we can add this capability to the transform > class? The other solutions you offer might work if I was working in > java, but I program in lisp, so I'm really looking for a general API > that I can either access from the command line or a library call... > > Ultimately, though, I suppose all I'm really looking for is regular > expression search/replace for graphs (in particular chemical graphs). > > I'll give this some more thought and keep you posted on what I come up > with... > > Thanks! > > Dan > > On Thu, 2003-02-06 at 04:42, "J=F6rg K. Wegner" wrote: > > Hello Daniel, > > > > > [C:1]=3D[O:2]>>[C:1](O)=3D[O:2] > > no, adding atoms isn't implemented. Additionally this looks weird !;-) > > because the transformation is based on two SMARTS substructure > > searches > > and the second pattern implies already the product which you want to > > generate ! > > > > Have a look at the examples at > > http://www-ra.informatik.uni-tuebingen.de/software/joelib/tutorial/func= tionalities/mol-smarts.html > > > > For what is this facility used --> (de)protonation model ! > > joelib/src/joelib/data/JOEChemTransformation > > loading transformations:lines 161-180 > > doing transformations:lines 330-344 > > the problem is, that the transformation informations (vector bindings) > > must be stored in joelib/src/joelib/smarts/JOESmartsPattern > > It's not designed to apply all kind of chemical transformations ! > > > > If you want to do that, i would recommend a Patty search: > > 1. see example joelib/src/joelib/test/TestPatty > > 2. i would recommend the pattern (only BO=3D2): > > [CQ2(=3DO)C] carbonylC > > see > > http://www-ra.informatik.uni-tuebingen.de/software/joelib/tutorial/func= tionalities/mol-smarts.html > > 3. now you can add the following things in > > joelib/src/joelib/test/TestPatty:line 144 > > if(typeString.equals("carbonylC")) > > { > > JOEAtom add2atom =3D mol.getAtom(i1); > > JOEAtom addAtom =3D new JOEAtom(); > > addAtom.setAtomicNum(JOEElementTable.instance().getAtomicNum("O")); > > addAtom.setType("O"); > > if (!mol.addAtom(addAtom)) > > { > > > > throw new MoleculeIOException("Atom could not be added."); > > } > > if (!mol.addBond(add2atom.getIdx(), addAtom.getIdx(), 1, 0)) > > { > > throw new MoleculeIOException("Bond could not be added."); > > } > > } > > > > or alternative (better) solution, because it's no good idea to use > > a hard coding of such tasks. One error and you can invest a lot of > > time > > to search such errors. A flexible and transparent text based soulution > > would be recommended (as in OpenBabel and JOELib shown for simpler > > tasks). > > > > If you want to do this for a lot of different patterns you could also > > use SMILES patterns which could be added automatically (if you have a > > method for that !;-), e.g. > > BO1 SMILES1 B2 S2 ...||reaction ||transformation t2 t3 ... > > 1 O ||ox_acetobacter|| > > 1 H ||reduction ||C:1]=3D[O:2]>>[C:1]-[H:2] > > ... > > The first number gives the bond order for the new connection and the > > SMILES pattern the pattern to be added starting at the first atom of > > this pattern. > > The JOEChemTransformation (or a modified version) class can be used > > with > > another input file to take standard atom,charge and bond modifications > > into account. > > It's possible to add your own ReactTransformation class to > > joelib/data and > > the data for this task to > > joelib/data/plain > > > > By the way, do you known the atom property descriptors in JOELib ? > > Eventually you can use these descriptors for reactivity prediction. > > Additionally you can use the Petra descriptors (Prof. Gasteiger, > > Erlangen, Germany) with more atom/bond properties in JOELib > > (CTX import) ! They used these descriptors also for this task > > (CACTVS program). > > > > I hope that will help you ! > > I would be pleased if you will adapt JOELib for your needs. I would > > help you to join your classes into JOELib (if you're interested), but > > i > > can not implement AND test them, because i've other main tasks in my > > project. > > > > Best regards, Joerg > > > > > > > Hello, I'm currently an OpenBabel user, but am interested in > > > "converting" > > > > > > I'm mostly interested in SMILES/SMARTS transformations capabilities. > > > > > > In particular, Can I represent the following transformation: > > > > > > CC=3DO =3D> CC(O)=3DO > > > > > > I tried this (in OpenBabel) > > > > > > [C:1]=3D[O:2]>>[C:1](O)=3D[O:2] > > > > > > But it didn't work. > > > > > > I'd actually hoped it could be as simple as C=3DO>>C(O)=3DO, but this > > was > > > not to be, so I'm looking around for other options. > > > > > > Can JOElib do this sort of thing? > > > > > > Of course, t is quite likely this is due to my lack of SMARTS > > knowledge > > > rather than the software ;) > > > > > > > > > -- > > Dipl. Chem. Joerg K. Wegner > > Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, > > Germany > > Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 > > E-Mail: mailto:we...@in... > > WWW: http://www-ra.informatik.uni-tuebingen.de > -- > Daniel Charles McShan <Dan...@uc...> > University of Colorado Health Science Center > > > ------------------------------------------------------- > This SF.NET email is sponsored by: > SourceForge Enterprise Edition + IBM + LinuxWorld http://www.vasoftware.c= om > _______________________________________________ > OpenBabel-discuss mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/openbabel-discuss > |
From: Daniel C. M. <Dan...@uc...> - 2003-02-06 18:30:50
|
Hmm, it does seem that while the ChemTransformation class was perhaps unintended as a general transformation mechanism we could us it as such. Consider: sh-2.05a$ ./transform CO [C:1][O:2] [C:1]=3D[O:2] CO - [C:1][O:2] + [C:1]=3D[O:2] =3D> C=3DO=20 (This is using openbabel - I just exposed their transformation class to the command line - the first argument is the smiles for the starting molecule, the second is the "search" and the third is the "replace") So the example above works great. But, as we've noted, you can't just add atoms. But I wonder if we can add this capability to the transform class? The other solutions you offer might work if I was working in java, but I program in lisp, so I'm really looking for a general API that I can either access from the command line or a library call... Ultimately, though, I suppose all I'm really looking for is regular expression search/replace for graphs (in particular chemical graphs). I'll give this some more thought and keep you posted on what I come up with... Thanks! Dan On Thu, 2003-02-06 at 04:42, "J=F6rg K. Wegner" wrote: > Hello Daniel, >=20 > > [C:1]=3D[O:2]>>[C:1](O)=3D[O:2] > no, adding atoms isn't implemented. Additionally this looks weird !;-) > because the transformation is based on two SMARTS substructure > searches > and the second pattern implies already the product which you want to=20 > generate ! >=20 > Have a look at the examples at > http://www-ra.informatik.uni-tuebingen.de/software/joelib/tutorial/functi= onalities/mol-smarts.html >=20 > For what is this facility used --> (de)protonation model ! > joelib/src/joelib/data/JOEChemTransformation > loading transformations:lines 161-180 > doing transformations:lines 330-344 > the problem is, that the transformation informations (vector bindings) > must be stored in joelib/src/joelib/smarts/JOESmartsPattern > It's not designed to apply all kind of chemical transformations ! >=20 > If you want to do that, i would recommend a Patty search: > 1. see example joelib/src/joelib/test/TestPatty > 2. i would recommend the pattern (only BO=3D2): > [CQ2(=3DO)C] carbonylC > see > http://www-ra.informatik.uni-tuebingen.de/software/joelib/tutorial/functi= onalities/mol-smarts.html > 3. now you can add the following things in > joelib/src/joelib/test/TestPatty:line 144 > if(typeString.equals("carbonylC")) > { > JOEAtom add2atom =3D mol.getAtom(i1); > JOEAtom addAtom =3D new JOEAtom(); > addAtom.setAtomicNum(JOEElementTable.instance().getAtomicNum("O")); > addAtom.setType("O"); > if (!mol.addAtom(addAtom)) > { >=20 > throw new MoleculeIOException("Atom could not be added."); > } > if (!mol.addBond(add2atom.getIdx(), addAtom.getIdx(), 1, 0)) > { > throw new MoleculeIOException("Bond could not be added."); > } > } >=20 > or alternative (better) solution, because it's no good idea to use > a hard coding of such tasks. One error and you can invest a lot of > time=20 > to search such errors. A flexible and transparent text based soulution > would be recommended (as in OpenBabel and JOELib shown for simpler > tasks). >=20 > If you want to do this for a lot of different patterns you could also=20 > use SMILES patterns which could be added automatically (if you have a=20 > method for that !;-), e.g. > BO1 SMILES1 B2 S2 ...||reaction ||transformation t2 t3 ... > 1 O ||ox_acetobacter|| > 1 H ||reduction ||C:1]=3D[O:2]>>[C:1]-[H:2] > ... > The first number gives the bond order for the new connection and the > SMILES pattern the pattern to be added starting at the first atom of=20 > this pattern. > The JOEChemTransformation (or a modified version) class can be used > with=20 > another input file to take standard atom,charge and bond modifications > into account. > It's possible to add your own ReactTransformation class to > joelib/data and > the data for this task to > joelib/data/plain >=20 > By the way, do you known the atom property descriptors in JOELib ? > Eventually you can use these descriptors for reactivity prediction. > Additionally you can use the Petra descriptors (Prof. Gasteiger,=20 > Erlangen, Germany) with more atom/bond properties in JOELib > (CTX import) ! They used these descriptors also for this task > (CACTVS program). >=20 > I hope that will help you ! > I would be pleased if you will adapt JOELib for your needs. I would > help you to join your classes into JOELib (if you're interested), but > i=20 > can not implement AND test them, because i've other main tasks in my=20 > project. >=20 > Best regards, Joerg >=20 >=20 > > Hello, I'm currently an OpenBabel user, but am interested in > > "converting" > >=20 > > I'm mostly interested in SMILES/SMARTS transformations capabilities. > >=20 > > In particular, Can I represent the following transformation: > >=20 > > CC=3DO =3D> CC(O)=3DO > >=20 > > I tried this (in OpenBabel) > >=20 > > [C:1]=3D[O:2]>>[C:1](O)=3D[O:2] > >=20 > > But it didn't work. > >=20 > > I'd actually hoped it could be as simple as C=3DO>>C(O)=3DO, but this > was > > not to be, so I'm looking around for other options. > >=20 > > Can JOElib do this sort of thing? > >=20 > > Of course, t is quite likely this is due to my lack of SMARTS > knowledge > > rather than the software ;) > >=20 >=20 >=20 > --=20 > Dipl. Chem. Joerg K. Wegner > Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, > Germany > Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 > E-Mail: mailto:we...@in... > WWW: http://www-ra.informatik.uni-tuebingen.de --=20 Daniel Charles McShan <Dan...@uc...> University of Colorado Health Science Center |
From: <we...@in...> - 2003-02-06 11:40:41
|
Hello Daniel, > [C:1]=[O:2]>>[C:1](O)=[O:2] no, adding atoms isn't implemented. Additionally this looks weird !;-) because the transformation is based on two SMARTS substructure searches and the second pattern implies already the product which you want to generate ! Have a look at the examples at http://www-ra.informatik.uni-tuebingen.de/software/joelib/tutorial/functionalities/mol-smarts.html For what is this facility used --> (de)protonation model ! joelib/src/joelib/data/JOEChemTransformation loading transformations:lines 161-180 doing transformations:lines 330-344 the problem is, that the transformation informations (vector bindings) must be stored in joelib/src/joelib/smarts/JOESmartsPattern It's not designed to apply all kind of chemical transformations ! If you want to do that, i would recommend a Patty search: 1. see example joelib/src/joelib/test/TestPatty 2. i would recommend the pattern (only BO=2): [CQ2(=O)C] carbonylC see http://www-ra.informatik.uni-tuebingen.de/software/joelib/tutorial/functionalities/mol-smarts.html 3. now you can add the following things in joelib/src/joelib/test/TestPatty:line 144 if(typeString.equals("carbonylC")) { JOEAtom add2atom = mol.getAtom(i1); JOEAtom addAtom = new JOEAtom(); addAtom.setAtomicNum(JOEElementTable.instance().getAtomicNum("O")); addAtom.setType("O"); if (!mol.addAtom(addAtom)) { throw new MoleculeIOException("Atom could not be added."); } if (!mol.addBond(add2atom.getIdx(), addAtom.getIdx(), 1, 0)) { throw new MoleculeIOException("Bond could not be added."); } } or alternative (better) solution, because it's no good idea to use a hard coding of such tasks. One error and you can invest a lot of time to search such errors. A flexible and transparent text based soulution would be recommended (as in OpenBabel and JOELib shown for simpler tasks). If you want to do this for a lot of different patterns you could also use SMILES patterns which could be added automatically (if you have a method for that !;-), e.g. BO1 SMILES1 B2 S2 ...||reaction ||transformation t2 t3 ... 1 O ||ox_acetobacter|| 1 H ||reduction ||C:1]=[O:2]>>[C:1]-[H:2] ... The first number gives the bond order for the new connection and the SMILES pattern the pattern to be added starting at the first atom of this pattern. The JOEChemTransformation (or a modified version) class can be used with another input file to take standard atom,charge and bond modifications into account. It's possible to add your own ReactTransformation class to joelib/data and the data for this task to joelib/data/plain By the way, do you known the atom property descriptors in JOELib ? Eventually you can use these descriptors for reactivity prediction. Additionally you can use the Petra descriptors (Prof. Gasteiger, Erlangen, Germany) with more atom/bond properties in JOELib (CTX import) ! They used these descriptors also for this task (CACTVS program). I hope that will help you ! I would be pleased if you will adapt JOELib for your needs. I would help you to join your classes into JOELib (if you're interested), but i can not implement AND test them, because i've other main tasks in my project. Best regards, Joerg > Hello, I'm currently an OpenBabel user, but am interested in > "converting" > > I'm mostly interested in SMILES/SMARTS transformations capabilities. > > In particular, Can I represent the following transformation: > > CC=O => CC(O)=O > > I tried this (in OpenBabel) > > [C:1]=[O:2]>>[C:1](O)=[O:2] > > But it didn't work. > > I'd actually hoped it could be as simple as C=O>>C(O)=O, but this was > not to be, so I'm looking around for other options. > > Can JOElib do this sort of thing? > > Of course, t is quite likely this is due to my lack of SMARTS knowledge > rather than the software ;) > -- Dipl. Chem. Joerg K. Wegner Univ. Tuebingen, Computer Architecture, Sand 1, D-72076 Tuebingen, Germany Tel. (+49/0) 7071 29 78970, Fax (+49/0) 7071 29 5091 E-Mail: mailto:we...@in... WWW: http://www-ra.informatik.uni-tuebingen.de |