Generating new-style PDBx/mmCIF outputs

By default, the models generated are traditional format PDB files. These have the advantage that many viewers and tools that use these files exist. However, PDB files are being phased out in favor of the mmCIF format (also known as PDBx). mmCIF has a number of advantages, one of which is that it can store large structures that would otherwise need to be split between several PDB files. Another is that the file format supports a broader range of metadata than PDB (such as information on the templates and alignment used in the modeling) which can be useful if the models are deposited in a database.

To use mmCIF files as templates, you don't need to do anything special - MODELLER will read templates in either PDB or mmCIF format.

To have MODELLER output models in mmCIF format, simply call AutoModel.set_output_model_format().

Example: examples/automodel/model-cif.py

# Comparative modeling by the AutoModel class, generating mmCIF outputs
from modeller import *              # Load standard Modeller classes
from modeller.automodel import *    # Load the AutoModel class

log.verbose()    # request verbose output
env = Environ()  # create a new MODELLER environment to build this model in

# directories for input atom files
env.io.atom_files_directory = ['.', '../atom_files']

a = AutoModel(env,
              alnfile  = 'alignment.ali',     # alignment filename
              knowns   = '5fd1',              # codes of the templates
              sequence = '1fdx')              # code of the target
a.starting_model= 1                 # index of the first model
a.ending_model  = 1                 # index of the last model
                                    # (determines how many models to calculate)
a.set_output_model_format("MMCIF")  # request mmCIF rather than PDB outputs
a.make()                            # do the actual comparative modeling