Talk:Open Babel

Expert system or not?
User Itub removed the term expert system from the introduction with the following comment: come on, converting file formats does not an "expert system" make

The article expert system says clearly: An "expert system", also known as a knowledge based system, is a computer program that contains some of the subject-specific knowledge, and contains the knowledge and analytical skills of one or more human experts.

This is clearly the case here and converting file formats does not mean converting AtomTypeX to AtomTypeY, this is easily done by a Lookup table. The difficult part is identifying a superset of all atom types out there. This is the job of the expert system. For more details about some references, code, and data I hope it is clear that we have still problems with standards. This can be easily seen by the variety of different atom type implementations. A good overview is collected at the Blue Obelisk Wiki. Especially the AlgorithmDictionary makes this clear.

So, in my opinion OpenBabel is an expert system and comes, as any other expert system, with all the problems of it. This is for example a difficult cooperation between software projects.

JKW 19:01, 12 July 2007 (UTC)


 * An expert system normally consists of an inference engine plus a rule base. Where are those in OpenBabel? Are you saying that a list of SMARTS (or PATTY, or whatever language) patterns plus the substructure search engine is the expert system? In that case, any spell checker is an expert system, which I think devalues the definition a bit. Identifying a superset of all atom types out there is not the job of the expert system, it is the job of the programmers. I'm not saying that converting atom types is trivial (or even always possible), but that's not a good example of the domain of an expert system IMO.
 * The expert system article also says "once some of the mystique had worn off, most programmers realized that simple expert systems were essentially just slightly more elaborate versions of the decision logic they had already been using." That is an opinion, but it is one I agree with. I have the impression that the term "expert system" itself is largely out of fashion; I have hardly heard it applied to anything developed after the 80s. Saying that OpenBabel (and most other things) is an expert system is just hype. By the way, OpenBabel does not describe itself as an expert system on its own website. --Itub 07:45, 13 July 2007 (UTC)


 * Inference is the act or process of deriving a conclusion based solely on what one already knows.. This are in the OpenBabel case the underlying algorithms and PATTY is just a cleaner form of accessing the hard coded hypothesis about aromaticity, smallest ring sets, and other chemical expert knowledge. Many other systems are not even using PATTY, so I would not downgrade SMARTS rules, just because people are able to exchange them. I personally would even go a step further in the direction of a Molecular Query Language.
 * A spell checker ? Are you really comparing molecular graphs against text? If yes, then please note that text and graphs are both areas of Structured data mining. As already said, please do not get confused by mixing Lookup tables with Data Mining and especially Molecule mining systems.
 * Decision logic is also a form of mining and I like this term even more than the term expert system. Anyway, both things are making clear that "converting files" is not an easy task!
 * I personally also think that expert systems are outdated, but this is not a reason for removing the term.
 * And that OpenBabel is not mentioning it is also not a reason. I can talk to Geoff and Noel for seeing what they say. Again, I would rather like to discuss this then just removing it.
 * JKW 10:30, 13 July 2007 (UTC)


 * Please ask them. I think that if one takes the idea of "a program encoding expert knowledge" too far, one could make a case that almost any program is an expert system, which is why I think the term is so useless, except when applied to programs that are historically or conventionally called expert systems. GAUSSIAN contains the knowledge of many experts in quantum mechanics. Is it an expert system? The sort program contains the knowledge of experts in sorting algorithms. Is it an expert system?
 * I am really comparing molecular graphs against text. A string of text is just a graph, after all, but with the restriction that all the nodes have two edges except the first and the last. This makes the search algorithms simpler, of course, but just having a complicated algorithm does not make anything into an expert system. Specifically, I was thinking about spell checkers that use "rules" (such as for declension, conjugation, or hyphenation), rather than a simple string search in a dictionary. --Itub 12:13, 13 July 2007 (UTC)
 * Again: An expert system, also known as a knowledge based system, is a computer program that contains some of the subject-specific knowledge, and contains the knowledge and analytical skills of one or more human experts.
 * The question if GAUSSIAN is an expert system should be asked on the expert system talk page? My feeling is that the key is the subject-specific knowledge. You can sort all kinds of data and identify the correctness of text, but is this subject-specific? No! How many people really need GAUSSIAN or proper atom typing? Are not only experts needing this? I can find sorting and text corrections in office, but no atom typing and GAUSSIAN connection. At the moment we have that, then I would give up my standpoint.
 * JKW 15:12, 13 July 2007 (UTC)

I've undone my edit as a token of good will since this is just a difference of opinion that we'll probably never settle between the two of us. I look forward to hearing from third parties and from Geoff and Noel too. --Itub 06:52, 14 July 2007 (UTC)


 * JKW has directed me here, but answering this question seems to require a good knowledge of (a) the Open Babel internals, and (b) exactly what does the term "expert system" mean, which appears to some extent to be subjective. In fact, I'm the wrong person for even answering question (a)! But I've just read the introduction to the Wikipedia "expert system" entry, and it agreed with what my general impression of an expert system is, a kind of AI that incorporates domain-specific knowledge to solve problems. IMO, the key point is the AI bit - this doesn't describe Open Babel at all. So although OB behaves like an expert who knows all the different file formats and can figure out how to interconvert, I would say that it isn't an "expert system" as the internals of program do not use some form of artificial intelligence. It would be nice though if we could just feed it with an example PDB file, and say "this is a PDB file. Figure out how to convert it". Ojalá. :-) --Baoilleach 09:11, 14 July 2007 (UTC)


 * JKW directed me here as well. I'm, by no means an expert on what expert system means. But I can certainly answer more about what Open Babel does vs. GAUSSIAN. At its core, GAUSSIAN is basically a number-crunching engine. There really aren't any built-in rules to decide on molecular mechanics atom types or basis sets or the like. A human must specify an input file, and this is fed into, e.g., the quantum mechanics solving engine. So that's a clear "no" in terms of expert system, and I think the GAUSSIAN developers would agree.
 * Now there's the question of what Open Babel does. Yes, at its most primitive level, it converts file types. In some cases, that's not much more than doing some text manipulation. One file format likes having element numbers, another one wants symbols. However, in many more common cases (e.g., GAUSSIAN to Mol2), there are some more interesting behaviors occurring: bond assignment (including bond orders), ring detection, aromaticity detection, then atom type assignment. Or take XYZ converting to PDB -- all of the behaviors described before are performed, plus protein residue detection to determine protein chains and amino acid assignment. These all occur by a combination of a rule set and a carefully written subject-specific algorithm. This is not a simple file parsing program -- there is significant chemical information encoded in both the rule sets and the code itself.


 * So I think it might fit the definition of "expert system" and that might be a decent description of the behavior. Whether that's the best description for a Wikipedia article, I don't know. Personally, I don't use the phrase because I think it's associated with hard AI and out of use, at least in the US.


 * However, I cannot come up with a better phrase at the moment.
 * Geoff 16:44, 14 July 2007 (UTC)
 * I have the same opinion. And the term expert system is not necessarily connected with hard AI. Those systems are widely common in the areas of medicine, finance, cheminformatics, bioinformatics, and other subject-specific areas. Some people might think that an already deduced rule in form of substructure rules might be less important then an active induction rule. Well, I disagree here. A rule is for me a "hypothesis language" (e.g. SMARTS, MQL) while a "typical" machine learning method tries to create those rules (e.g. via inductive logic programming). Well, what is now more important, the rule or the learning step? There are plenty of examples in OpenBabel using derived rules, which were created by other authors and publications, e.g. all the group contribution methods like polar surface area prediction. Anyway, though I agree that I would love to see more active (data depending) learning, I still think that all levels have the same value. The rules itself are not hard AI, but just the end of the AI chain, means expert cross-checked expert systems. If we would replace those by active molecule mining steps, then we should indeed remove the term expert system, because then it would be a full machine learning system for cheminformatics.
 * JKW 09:24, 15 July 2007 (UTC)

External links modified
Hello fellow Wikipedians,

I have just added archive links to 1 one external link on Open Babel. Please take a moment to review my edit. If necessary, add after the link to keep me from modifying it. Alternatively, you can add to keep me off the page altogether. I made the following changes:
 * Added archive https://web.archive.org/20070623080733/http://www.eyesopen.com:80/products/toolkits/OEChem/decision.html to http://www.eyesopen.com/products/toolkits/OEChem/decision.html

When you have finished reviewing my changes, please set the checked parameter below to true to let others know.

Cheers.—cyberbot II  Talk to my owner :Online 10:25, 15 February 2016 (UTC)