Bio.PDB.PDBIO module

Output of PDB files.

class Bio.PDB.PDBIO.Select

Bases: object

Select everything for PDB output (for use as a base class).

Default selection (everything) during writing - can be used as base class to implement selective output. This selects which entities will be written out.


Represent the output as a string for debugging.

accept_model(self, model)

Overload this to reject models for output.

accept_chain(self, chain)

Overload this to reject chains for output.

accept_residue(self, residue)

Overload this to reject residues for output.

accept_atom(self, atom)

Overload this to reject atoms for output.

class Bio.PDB.PDBIO.StructureIO

Bases: object

Base class to derive structure file format writers from.



set_structure(self, pdb_object)

Check what the user is providing and build a structure.

class Bio.PDB.PDBIO.PDBIO(use_model_flag=0)

Bases: Bio.PDB.PDBIO.StructureIO

Write a Structure object (or a subset of a Structure object) as a PDB file.


>>> from Bio.PDB import PDBParser
>>> from Bio.PDB.PDBIO import PDBIO
>>> parser = PDBParser()
>>> structure = parser.get_structure("1a8o", "PDB/1A8O.pdb")
>>> io=PDBIO()
>>> io.set_structure(structure)
>>> import os
>>> os.remove("bio-pdb-pdbio-out.pdb")  # tidy up
__init__(self, use_model_flag=0)

Create the PDBIO object.


use_model_flag (int) – if 1, force use of the MODEL record in output.

save(self, file, select=<Select all>, write_end=True, preserve_atom_numbering=False)

Save structure to a file.

  • file (string or filehandle) – output file

  • select (object) – selects which entities will be written.

Typically select is a subclass of L{Select}, it should have the following methods:

  • accept_model(model)

  • accept_chain(chain)

  • accept_residue(residue)

  • accept_atom(atom)

These methods should return 1 if the entity is to be written out, 0 otherwise.

Typically select is a subclass of L{Select}.