This reads in a PDB file specified by filename, and fills in any missing atoms using internal coordinates. If you want to read in a PDB file from PDB or generated from an experiment or some other program, you should use this routine in preference to model.read(), which does not handle missing atoms.
If special_patches is not None, it is called prior to filling in missing coordinates. This can be used to adjust the topology, e.g. by adding disulfide bridges.
If transfer_res_num is True, the residue numbering from the original PDB is retained (by default, residues are renumbered from 1).
If model_segment is set, it is used to read a subset of the residues from the PDB file, just as in model.read().
In order for this routine to work correctly, you should first have read in topology and parameter libraries. The new model object is returned on success.
Example: See selection.energy(), conjugate_gradients() command.