That change was my doing. It started because chemists on my team found that the mmcif parser was more reliable (email thread <http://forums.openbabel.org/CIF-vs-mmCIF-Parsing-td4657674.html>).
I agree that the writers should not be merged for all the reasons you said. However, I think the readers should be. I haven’t found anything in the spec that suggests cif and mmcif need different readers, so it’s duplicate code at the moment. On Thu, Jun 4, 2015 at 4:30 AM, Kirill Okhotnikov < kirill.okhotni...@gmail.com> wrote: > Dear Developers, > > There are two plugins in openbabel for cif format I/O: cifformat.cpp and > mmcifformat.cpp. > A few months ago the cifformat.cpp reader was changed to mmcif by force > (commit 1014d1858d3c0ef820b7afaf50595dd2202b03fb), leaving no possibility > to use original cif reader (except manually delete mmcifformat.o file from > plugins folder). What was the reason of such brute force change? Why it was > not done in much soft way? Does it mean that the cifformat plugin is > obsolete and will be removed in a future? > > I few years ago I change a cifformat.cpp to support atoms occupancy and > oxidations. About 30% of cif files in Inorganic Crystal Structure Database > (ICSD) has a partial occupancy. This property is crucial for my code, which > used Open Babel API for the I/O. > > If cifformat.cpp file will be deprecated, it looks like that there is no > problem for me to implement the functionality in a new reader, but I have > quite a lot of question to mmcifformat WriteMolecule. The output of the > function is not at all oriented to crystallography. > 1) All crystallography files has a fractional coordinates. Fractional > representation is really useful for special position "detection" manually. > The symmetry operations, listed in the file applying to fractional > coordination also. > 2) Although, the cif format is quite flexible. For people, working in > crystallography field, there is a familiar special order of data, which is > also not he case of the mmcifformat WriteMolecule. > > Don't you think, that it will be good to have 2 separate cif I/O modules, > one for inorganic systems and one for organic one? Or, at least, two > different WriteMolecule procedures? > > > Best regards, > Okhotnikov Kirill. > > > ------------------------------------------------------------------------------ > > _______________________________________________ > OpenBabel-Devel mailing list > OpenBabel-Devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openbabel-devel > >
------------------------------------------------------------------------------
_______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel