PRELIMINARY-IMAGE This is a preliminary API until Fall 2020 and may be improved based on user feedback. It is currently available in C++ and Python.

bool OEReadCIFFile(oemolistream &ifs, OEMolBase &mol,
                   unsigned int flavor)

Reads a molecule from the specified input stream, ‘ifs’, in CIF or mmCIF file format. The reader peeks into the file to check for specific tags to determine whether it is a CIF or mmCIF file, given that the extension used is the same. The mmCIF reader can be enforced by setting the OEFormat::MMCIF on the input stream. A number of different format variants are supported by the use of ‘flavor’ parameter from the OEIFlavor::CIF or the OEIFlavor::MMCIF namespace. This function returns true if the operation was successful, and false if an end-of-file was encountered.


For mmCIF reading, the implementation particularly of the metadata is partial and limited in scope to what is needed for the SPRUCETK. That means converting to a PDB file will result in a loss of header data.