theochem / iodata

Python library for reading, writing, and converting computational chemistry file formats and generating input files.
https://iodata.readthedocs.io/
GNU Lesser General Public License v3.0
127 stars 46 forks source link

Add CIF load_one #247

Open tovrstra opened 3 years ago

tovrstra commented 3 years ago

As mentioned in #198, support for the CIF format would be a nice addition. This issue collects relevant pointers for development of a CIF loader. One existing python implementation can be found in ASE. The following could also be useful: https://bitbucket.org/jamesrhester/pycifrw/src/development/ and https://www.iucr.org/resources/cif/software/pycifrw.

PaulWAyers commented 3 years ago

Basic information on the *.cif file can be found on wikipedia which notes that this file format's (extension) is not the preferred format for the protein databank.

The *.cif syntax is explained here and the detail specification is here. You can find some example files (for macromolecular cif) here, with more details here and here.

Example parsers (and other related software) can be found at the following links: https://mmcif.wwpdb.org/docs/sw-examples/python/html/index.html https://www.iucr.org/resources/cif/software

It may be possible to take one of these parsers and use it as a dependence, though the "dump" side will still need some work.

PaulWAyers commented 2 years ago

Note also that there was a *.cif support in HORTON 2. https://theochem.github.io/horton/2.1.0/lib/mod_horton_io_cif.html