Open johannbrehmer opened 5 days ago
seems like a good catch!
seems like there should be a check or at least a clearer warning about this in the docs
I think https://github.com/danieleongari/manage_crystal was quite commonly used in our group to "clean" CIF files
Thanks, I didn't know this one yet!
Plugging a call to manage_crystal into mofchecker (after creating the CIF file here) or pyeqeq (in the beginning of run_on_cif()) should indeed solve my issue. The latter seems like the right thing to do to me.
Would you be interested in me opening a merge request for this?
I can confirm that including a call to manage_crystal in EQeq fixes the problem.
A PR for that would be very much appreciated! 🙏🏼
I believe there is a bug in the parsing of CIF files.
The LoadCIFData() function assumes that atoms are described in lines of the following form:
However, the CIF format is extremely generic, and allows several other forms. For instance, CIF files generated by pymatgen can look like this:
Running EQeq on such a CIF file leads to EQeq taking the atom labels for the types, and the types for the labels. This is visible for instance from its std output:
If I'm not mistaken, this affects for instance mofchecker (@kjappelbaum), since that uses pymatgen to store CIF files and then EQeq to analyze the charges.