From: FX (fxcoudert_at_gmail.com)
Date: Sun Mar 22 2020 - 17:00:35 CDT

Hi,

As far as I know, VMD currently does not allow reading CIF files (natively). If you try to open a CIF file, it will trigger the “pdbx” plugin, which fails to read the CIF file. It can, I think, read mmCIF files but it’s not the same as CIF. At least, it failed on all the CIF files I have tried to read in the past.

I would be interested in having a native CIF file reader in VMD. It’s not that hard to code, relying on existing libraries for parsing CIF format. I can write a short “cifplugin.C” (see attached) using the Gemmi library at https://gemmi.readthedocs.io/en/latest/index.html
Since VMD does not handle symmetry operations, it will read the CIF file with any symmetry group, and convert everything into “P1” symmetry (i.e. populate the whole unit cell), and load that. It can read CIF files with multiple frames, provided they have the same characteristics.

Three questions:

1. Are there other people interested, outside of my group?

2. Gemmi is a C++ header-only library, so technically that doesn’t add any extra dependency. It’s under the MPL licence, which I read as compatible with VMD itself. Could someone confirm that?

3. How could we deal with files so that CIF files are not preempted by the pdbx plugin, but can be read by this plugin? Right now, I can’t make it work.

Thanks,
FX Coudert