set_structure
#
- biotite.structure.io.pdbx.set_structure(pdbx_file, array, data_block=None, include_bonds=False, extra_fields=[])[source]#
Set the
atom_site
category with atom information from anAtomArray
orAtomArrayStack
.This will save the coordinates, the mandatory annotation categories and the optional annotation categories
atom_id
,b_factor
,occupancy
andcharge
. If the atom array (stack) contains the annotation'atom_id'
, these values will be used for atom numbering instead of continuous numbering. Furthermore, inter-residue bonds will be written into thestruct_conn
category.- Parameters:
- pdbx_fileCIFFile or CIFBlock or BinaryCIFFile or BinaryCIFBlock
The file object.
- arrayAtomArray or AtomArrayStack
The structure to be written. If a stack is given, each array in the stack will be in a separate model.
- data_blockstr, optional
The name of the data block. Default is the first (and most times only) data block of the file. If the data block object is passed directly to pdbx_file, this parameter is ignored. If the file is empty, a new data block will be created.
- include_bondsbool, optional
If set to true and array has associated
bonds
, the intra-residue bonds will be written into thechem_comp_bond
category. Inter-residue bonds will be written into thestruct_conn
independent of this parameter.- extra_fieldslist of str, optional
List of additional fields from the
atom_site
category that should be written into the file. Default is an empty list.
Notes
In some cases, the written inter-residue bonds cannot be read again due to ambiguity to which atoms the bond refers. This is the case, when two equal residues in the same chain have the same (or a masked) res_id.
Examples
>>> import os.path >>> file = CIFFile() >>> set_structure(file, atom_array) >>> file.write(os.path.join(path_to_directory, "structure.cif"))