Biological data structures

For crystals created from the Protein Data Bank, the atoms will be stored in substructures. These substructures are described below.

Primary Structure: Residues

class crystals.Residue(atoms: AtomicStructure, name: str, sequence_number: int, **kwargs)

Bases: AtomicStructure

Fundamental building block of a protein: amino acid residue.

Parameters:
  • atoms (iterable, optional) – Atoms not attached to a substructure.

  • name (str) – Residue name, e.g. “GLY”

  • sequence_number (int) – Sequence number within a protein.

Secondary Structure

Secondary structures are really all the same, with different names:

class crystals.biological.SecondaryStructure(residues: Iterable[Residue], sequence_number: int, **kwargs)

Bases: AtomicStructure

Abstract container representing protein secondary structures (i.e. helices, sheets, etc.)

Parameters:
  • residues (iterable, optional) – Residues making this structure.

  • sequence_number (int) – Sequence number within a protein.

Helix

class crystals.Helix(residues: Iterable[Residue], sequence_number: int, **kwargs)

Bases: SecondaryStructure

Container representing a protein helix.

Parameters:
  • residues (iterable, optional) – Residues making this helix.

  • sequence_number (int) – Sequence number within a protein.

Sheet

class crystals.Sheet(residues: Iterable[Residue], sequence_number: int, **kwargs)

Bases: SecondaryStructure

Container representing a protein sheet.

Parameters:
  • residues (iterable, optional) – Residues making this sheet.

  • sequence_number (int) – Sequence number within a protein.