# Bio.PDB.Entity module

Base class for Residue, Chain, Model and Structure classes.

It is a simple container class, with list and dictionary like properties.

class Bio.PDB.Entity.Entity(id)

  Bases: `Generic`[`_Parent`, `_Child`]

  Basic container object for PDB hierarchy.

  Structure, Model, Chain and Residue are subclasses of Entity. It deals with storage and lookup.

  level: str
  __init__(id)

    Initialize the class.

  parent: _Parent | None
  child_list: list[_Child]
  child_dict: dict[Any, _Child]
  __len__()

    Return the number of children.

  __getitem__(id)

    Return the child with given id.

  __delitem__(id)

    Remove a child.

  __contains__(id)

    Check if there is a child element with the given id.

  __iter__()

    Iterate over children.

  __eq__(other)

    Test for equality. This compares full_id including the IDs of all parents.

  __ne__(other)

    Test for inequality.

  __gt__(other)

    Test greater than.

  __ge__(other)

    Test greater or equal.

  __lt__(other)

    Test less than.

  __le__(other)

    Test less or equal.

  __hash__()

    Hash method to allow uniqueness (set).

  property id

    Return identifier.

  strictly_equals(other: _Self, compare_coordinates: bool = False) → bool

    Compare this entity to the other entity for equality.

    Recursively compare the children of this entity to the other entity’s children. Compare most properties including names and IDs.

    Parameters:

      - other (Entity) – The entity to compare this entity with

      - compare_coordinates (bool) – Whether to compare atomic coordinates

    Returns:

      Whether the two entities are strictly equal

    Return type:

      bool

  get_level()

    Return level in hierarchy.

    A - atom R - residue C - chain M - model S - structure

  set_parent(entity: _Parent)

    Set the parent Entity object.

  detach_parent()

    Detach the parent.

  detach_child(id)

    Remove a child.

  add(entity: _Child)

    Add a child to the Entity.

  insert(pos: int, entity: _Child)

    Add a child to the Entity at a specified position.

  get_iterator()

    Return iterator over children.

  get_list()

    Return a copy of the list of children.

  has_id(id)

    Check if a child with given id exists.

  get_parent()

    Return the parent Entity object.

  get_id()

    Return the id.

  get_full_id()

    Return the full id.

    The full id is a tuple containing all id’s starting from the top object (Structure) down to the current object. A full id for a Residue object e.g. is something like:

    (“1abc”, 0, “A”, (” “, 10, “A”))

    This corresponds to:

    Structure with id “1abc” Model with id 0 Chain with id “A” Residue with id (” “, 10, “A”)

    The Residue id indicates that the residue is not a hetero-residue (or a water) because it has a blank hetero field, that its sequence identifier is 10 and its insertion code “A”.

  transform(rot, tran)

    Apply rotation and translation to the atomic coordinates.

    Parameters:

      - rot (3x3 NumPy array) – A right multiplying rotation matrix

      - tran (size 3 NumPy array) – the translation vector

    Examples

    This is an incomplete but illustrative example:

        from numpy import pi, array
        from Bio.PDB.vectors import Vector, rotmat
        rotation = rotmat(pi, Vector(1, 0, 0))
        translation = array((0, 0, 1), 'f')
        entity.transform(rotation, translation)

  center_of_mass(geometric=False)

    Return the center of mass of the Entity as a numpy array.

    If geometric is True, returns the center of geometry instead.

  copy()

    Copy entity recursively.

  __annotations__ = {'child_dict': dict[typing.Any, ~_Child], 'child_list': list[~_Child], 'level': <class 'str'>, 'parent': typing.Optional[~_Parent]}
  __firstlineno__ = 35
  __orig_bases__ = (typing.Generic[~_Parent, ~_Child],)
  __parameters__ = (~_Parent, ~_Child)
  __static_attributes__ = ('_id', 'child_dict', 'child_list', 'full_id', 'parent', 'xtra')

class Bio.PDB.Entity.DisorderedEntityWrapper(id)

  Bases: `object`

  Wrapper class to group equivalent Entities.

  This class is a simple wrapper class that groups a number of equivalent Entities and forwards all method calls to one of them (the currently selected object). DisorderedResidue and DisorderedAtom are subclasses of this class.

  E.g.: A DisorderedAtom object contains a number of Atom objects, where each Atom object represents a specific position of a disordered atom in the structure.

  __init__(id)

    Initialize the class.

  __getattr__(method)

    Forward the method call to the selected child.

  __getitem__(id)

    Return the child with the given id.

  __setitem__(id, child)

    Add a child, associated with a certain id.

  __contains__(id)

    Check if the child has the given id.

  __iter__()

    Return the number of children.

  __len__()

    Return the number of children.

  __sub__(other)

    Subtraction with another object.

  __gt__(other)

    Return if child is greater than other.

  __ge__(other)

    Return if child is greater or equal than other.

  __lt__(other)

    Return if child is less than other.

  __le__(other)

    Return if child is less or equal than other.

  copy()

    Copy disorderd entity recursively.

  get_id()

    Return the id.

  strictly_equals(other: DisorderedEntityWrapper, compare_coordinates: bool = False) → bool

    Compare this entity to the other entity using a strict definition of equality.

    Recursively compare the children of this entity to the other entity’s children. Compare most properties including the selected child, names, and IDs.

    Parameters:

      - other (DisorderedEntityWrapper) – The entity to compare this entity with

      - compare_coordinates (bool) – Whether to compare atomic coordinates

    Returns:

      Whether the two entities are strictly equal

    Return type:

      bool

  disordered_has_id(id)

    Check if there is an object present associated with this id.

  detach_parent()

    Detach the parent.

  get_parent()

    Return parent.

  set_parent(parent)

    Set the parent for the object and its children.

  disordered_select(id)

    Select the object with given id as the currently active object.

    Uncaught method calls are forwarded to the selected child object.

  disordered_add(child)

    Add disordered entry.

    This is implemented by DisorderedAtom and DisorderedResidue.

  disordered_remove(child)

    Remove disordered entry.

    This is implemented by DisorderedAtom and DisorderedResidue.

  __annotations__ = {}
  __firstlineno__ = 400
  __static_attributes__ = ('child_dict', 'id', 'parent', 'selected_child')
  is_disordered()

    Return 2, indicating that this Entity is a collection of Entities.

  disordered_get_id_list()

    Return a list of id’s.

  disordered_get(id=None)

    Get the child object associated with id.

    If id is None, the currently selected child is returned.

  disordered_get_list()

    Return list of children.

Biopython v: 1.85

Versions
  Previous
  Latest
  Develop

Biopython Project
  Homepage
  On GitHub