Hi Anouk,
I am not sure what is happening with that CIF file. When I try to read that with pymatgen, I get
>>> from pymatgen.io.cif import CifParser
>>> structs = CifParser('VOXZAJ.cif')
>>> structs.get_structures()
.../site-packages/pymatgen/io/cif.py:1145: UserWarning: Error is Species occupancies sum to more than 1!.
warnings.warn(f"Error is {str(exc)}.")
.../site-packages/pymatgen/io/cif.py:1148: UserWarning: Issues encountered while parsing CIF: Some occupancies ([2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]) sum to > 1! If they are within the occupancy_tolerance, they will be rescaled. The current occupancy_tolerance is set to: 1.0
Species occupancies sum to more than 1!
warnings.warn("Issues encountered while parsing CIF: " + "\n".join(self.warnings))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
.../site-packages/pymatgen/io/cif.py", line 1150, in get_structures
raise ValueError("Invalid cif file with no structures!")
ValueError: Invalid cif file with no structures!
If you remove all the atomic sites that have a "B" in their name, that gets resolved, but I do not know if that is still the correct structure - or what the "B" means.
CIF is complicated, but just from a practical point of view, I think we are going to take `pymatgen` as the arbitrator of "valid CIF".