# `aa`

Amino Acid Structures for PDB2PQR

This module contains the base amino acid structures for pdb2pqr.

Code author: Todd Dolinsky

Code author: Nathan Baker

class pdb2pqr.aa.ALA(atoms, ref)

  Alanine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.ARG(atoms, ref)

  Arginine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

  set_state()

    Set forcefield name based on current titration state.

class pdb2pqr.aa.ASN(atoms, ref)

  Asparagine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.ASP(atoms, ref)

  Aspartic acid class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

  set_state()

    Set forcefield name based on current titration state.

class pdb2pqr.aa.Amino(atoms, ref)

  Amino acid class

  This class provides standard features of the amino acids.

  __init__(atoms, ref)

    Initialize object.

    Todo

    need to see whether `super().__init__()` should be called

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  add_atom(atom)

    Add atom to residue.

    Override the existing add_atom; include the link to the reference object.

    Parameters:

      atom (Atom) – atom to add

  add_dihedral_angle(value)

    Add a dihedral angle to the residue list.

    Parameters:

      value (float) – dihedral angle (in degrees) to add

  create_atom(atomname, newcoords)

    Create an atom.

    Todo

    Determine why this is different than superclass method.

    Override the generic residue’s version of create_atom().

    Parameters:

      - atomname (str) – name of atom

      - newcoords ([float, float, float]) – new coordinates for atom

  rebuild_tetrahedral(atomname)

    Rebuild a tetrahedral hydrogen group.

    This is necessary due to the shortcomings of the quatfit routine - given a tetrahedral geometry and two existing hydrogens, the quatfit routines have two potential solutions. This function uses basic tetrahedral geometry to fix this issue.

    Parameters:

      atomname (str) – the atom name to add

    Returns:

      indication of whether this was successful

    Return type:

      bool

  set_state()

    Set the name to use for the forcefield based on the current state.

    Uses `N*` and `C*` for termini.

class pdb2pqr.aa.CYS(atoms, ref)

  Cysteine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

  set_state()

    Set forcefield name based on current state.

    If SS-bonded, use CYX. If negatively charged, use CYM. If HG is not present, use CYX.

class pdb2pqr.aa.GLN(atoms, ref)

  Glutamine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.GLU(atoms, ref)

  Glutamic acid class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

  set_state()

    Set forcefield name based on current titration state.

class pdb2pqr.aa.GLY(atoms, ref)

  Glycine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.HIS(atoms, ref)

  Histidine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

  set_state()

    Set forcefield name based on current titration state.

    Histidines are a special case due to the presence of several different forms. This function sets all neutral forms of HIS to neutral HIS by checking to see if optimization removed hacceptor or hdonor flags. Otherwise HID is used as the default.

class pdb2pqr.aa.ILE(atoms, ref)

  Isoleucine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.LEU(atoms, ref)

  Leucine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.LIG(atoms, ref)

  Generic ligand class.

  __init__(atoms, ref)

    Initialize this object.

    Todo

    why is the force field name “WAT” for this?

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the residue. Used to convert from the alternate naming scheme to the main naming scheme.

  add_atom(atom)

    Add an atom to the residue.

    Override the existing add_atom - include the link to the reference object.

    Parameters:

      atom (Atom) – add atom to residue

  create_atom(atomname, newcoords)

    Create a ligand atom.

    Parameters:

      - atomname (str) – name of atom to be added

      - newcoords ([float, float, float]) – coordinates for new atom

class pdb2pqr.aa.LYS(atoms, ref)

  Lysine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

  set_state()

    Set forcefield name based on current titration state.

class pdb2pqr.aa.MET(atoms, ref)

  Methionine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.PHE(atoms, ref)

  Phenylalanine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.PRO(atoms, ref)

  Proline class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

  set_state()

    Set forcefield name based on the current state.

    Uses `N*` and `C*` for termini.

class pdb2pqr.aa.SER(atoms, ref)

  Serine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.THR(atoms, ref)

  Threonine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.TRP(atoms, ref)

  Tryptophan class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.TYR(atoms, ref)

  Tyrosine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

  set_state()

    Set forcefield name based on current titration state.

class pdb2pqr.aa.VAL(atoms, ref)

  Valine class.

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the amino acid. Used to convert from the alternate naming scheme to the main naming scheme.

  letter_code()

    Return letter code for amino acid.

    Returns:

      amino acid 1-letter code

    Return type:

      str

class pdb2pqr.aa.WAT(atoms, ref)

  Water class.

  Todo

  Why is water in the amino acid module?

  __init__(atoms, ref)

    Initialize object.

    Parameters:

      - atoms ([Atom]) – A list of `Atom` objects to be stored in this object

      - ref (Residue) – The reference object for the residue. Used to convert from the alternate naming scheme to the main naming scheme.

  add_atom(atom)

    Add an atom to the residue.

    Override the existing add_atom - include the link to the reference object.

    Parameters:

      atom (Atom) – add atom to residue

  create_atom(atomname, newcoords)

    Create a water atom.

    Note the HETATM field.

    Todo

    There is a huge amount of duplicated code in this module.

    Parameters:

      - atomname (str) – name of atom to be added

      - newcoords ([float, float, float]) – coordinates for new atom

  water_residue_names = ['HOH', 'WAT']