## model.write() — write MODEL

`write(file, model_format='PDB', no_ter=False, extra_data=”)`

> This command writes the current MODEL to a file in the selected format.

> file can be a filename or a writeable file handle (see modfile.File()).

> If you want to only write out a subset of the atoms, see selection.write().

> `'PDB'` writes out files in the Protein Data Bank (PDB) format. Note that the isotropic temperature factor (Biso) field can be set by selection.energy() or model.write_data().

> `'MMCIF'` writes out files in the new PDBx or Macromolecular Crystallographic Information File (mmCIF) format.

> The `'GRASP'` format is the same as the `'PDB'` format, except that it includes two special lines at the top of the file and the atomic radii and charges in the columns following the Cartesian coordinates of atoms. This format is useful for input to program GRASP, written by Anthony Nicholls in the group of Barry Honig at Columbia University [Nicholls et al., 1991]. For GRASP output, the atomic radii are needed. This usually means using the complete_pdb() script rather than model.read() to read in any original PDB file.

> If the model contains any disulfide bridges, `CONECT` and `SSBOND` records for each bridge are included when writing out PDB files (note that `CONECT` records for other contacts, such as between `HETATM` residues, are not included). For mmCIF files, equivalent `_struct_conn` records are written.

> A number of MODELLER-specific REMARKs are added when writing out PDB files (and are parsed when reading such files back in with model.read()). For mmCIF files, the same information is stored in the `'_modeller'` or `'_modeller_blk'` categories (shown in parentheses below):

- `REMARK 6 MODELLER OBJECTIVE FUNCTION` (`_modeller.objective_function`): the value of model.last_energy.

- `REMARK 6 MODELLER BEST TEMPLATE % SEQ ID` (`_modeller.best_template_pct_seq_id`): the value of model.seq_id.

- `REMARK 6 MODELLER BLK RESIDUE` (`_modeller_blk.resid`): for each residue treated as a BLK, the residue number and chain ID. (This ensures that when the model is read back in, those BLK residues are still treated as BLK, even if the topology file contains a definition for that residue type.)

> The contents of model.remark are also added to PDB files verbatim.

> If extra_data is given, its contents are also added to PDB or mmCIF files verbatim (so it must be formatted correctly for each format).

Example: See model.read() command.