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

Reply via email to