Class HetatomImpl

  • All Implemented Interfaces:
    Group
    Direct Known Subclasses:
    AminoAcidImpl, NucleotideImpl

    public class HetatomImpl
    extends java.lang.Object
    implements Group
    Generic Implementation of a Group interface. AminoAcidImpl and NucleotideImpl are closely related classes.
    Since:
    1.4
    Version:
    %I% %G%
    Author:
    Andreas Prlic, Horvath Tamas
    See Also:
    AminoAcidImpl, NucleotideImpl
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String type
      this is a "hetatm".
    • Constructor Summary

      Constructors 
      Constructor Description
      HetatomImpl()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addAtom​(Atom atom)
      add an atom to this group.
      void clearAtoms()
      remove all atoms
      java.lang.Object clone()
      returns and identical copy of this Group object .
      Atom getAtom​(int position)
      return an atom by its position in the internal List.
      Atom getAtom​(java.lang.String name)
      get an atom throws StructureException if atom not found.
      java.util.List<Atom> getAtoms()
      get all atoms of this group .
      long getId()
      the Hibernate database ID
      Chain getParent()
      Returns the parent Chain of the Group
      java.lang.String getPDBCode()
      Returns the PDBCode.
      java.lang.String getPDBName()
      Returns the PDBName.
      java.util.Map<java.lang.String,​java.lang.Object> getProperties()
      return properties.
      java.lang.Object getProperty​(java.lang.String key)
      get a single property .
      java.lang.String getType()
      Returns the type value.
      boolean has3D()
      returns true or false, depending if this group has 3D coordinates or not.
      boolean hasAminoAtoms()
      calculate if a groups has all atoms required for an amino acid this allows to include chemically modified amino acids that are labeled hetatoms into some computations ...
      boolean hasAtom​(java.lang.String name)
      test is an Atom with name is existing.
      java.util.Iterator<Atom> iterator()
      return an AtomIterator.
      void setAtoms​(java.util.List<Atom> atoms)
      set the atoms of this group
      void setId​(long id)
      the Hibernate database ID
      void setParent​(Chain parent)
      Set the back-reference (to its parent Chain)
      void setPDBCode​(java.lang.String pdb)
      set the PDB code.
      void setPDBFlag​(boolean flag)
      flag if group has 3D data.
      void setPDBName​(java.lang.String s)
      set three character name of Group .
      void setProperties​(java.util.Map<java.lang.String,​java.lang.Object> props)
      properties of this amino acid.
      void setProperty​(java.lang.String key, java.lang.Object value)
      set a single property .
      int size()
      getnumber of atoms.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • HetatomImpl

        public HetatomImpl()
    • Method Detail

      • has3D

        public boolean has3D()
        returns true or false, depending if this group has 3D coordinates or not.
        Specified by:
        has3D in interface Group
        Returns:
        true if Group has 3D coordinates
      • setPDBFlag

        public void setPDBFlag​(boolean flag)
        flag if group has 3D data.
        Specified by:
        setPDBFlag in interface Group
        Parameters:
        flag - true to set flag that this Group has 3D coordinates
      • setPDBCode

        public void setPDBCode​(java.lang.String pdb)
        set the PDB code.
        Specified by:
        setPDBCode in interface Group
        Parameters:
        pdb - a String specifying the PDBCode value
        See Also:
        getPDBCode()
      • addAtom

        public void addAtom​(Atom atom)
        add an atom to this group.
        Specified by:
        addAtom in interface Group
        Parameters:
        atom - an Atom object
      • clearAtoms

        public void clearAtoms()
        remove all atoms
        Specified by:
        clearAtoms in interface Group
      • size

        public int size()
        getnumber of atoms.
        Specified by:
        size in interface Group
        Returns:
        number of atoms
      • getAtoms

        public java.util.List<Atom> getAtoms()
        get all atoms of this group . returns a List of all atoms in this Group
        Specified by:
        getAtoms in interface Group
        Returns:
        an List object representing the atoms value
        See Also:
        Group.setAtoms(List)
      • setAtoms

        public void setAtoms​(java.util.List<Atom> atoms)
        set the atoms of this group
        Specified by:
        setAtoms in interface Group
        Parameters:
        atoms - a list of atoms
        See Also:
        Atom
      • getAtom

        public Atom getAtom​(java.lang.String name)
                     throws StructureException
        get an atom throws StructureException if atom not found.
        Specified by:
        getAtom in interface Group
        Parameters:
        name - a String
        Returns:
        an Atom object
        Throws:
        StructureException - ...
      • hasAtom

        public boolean hasAtom​(java.lang.String name)
        test is an Atom with name is existing.
        Specified by:
        hasAtom in interface Group
        Parameters:
        name - a String ...
        Returns:
        true if Atom with name is existing within this group
      • getType

        public java.lang.String getType()
        Returns the type value.
        Specified by:
        getType in interface Group
        Returns:
        a String representing the type value
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • hasAminoAtoms

        public boolean hasAminoAtoms()
        calculate if a groups has all atoms required for an amino acid this allows to include chemically modified amino acids that are labeled hetatoms into some computations ... the usual way to identify if a group is an amino acid is getType() !

        amino atoms are : N, CA, C, O, CB GLY does not have CB (unless we would calculate some artificially

        Example: 1DW9 chain A first group is a Selenomethionine, provided as HETATM, but here returns true.
             HETATM    1  N   MSE A   1      11.720  20.973   1.584  0.00  0.00           N
             HETATM    2  CA  MSE A   1      10.381  20.548   1.139  0.00  0.00           C
             HETATM    3  C   MSE A   1       9.637  20.037   2.398  0.00  0.00           C
             HETATM    4  O   MSE A   1      10.198  19.156   2.985  0.00  0.00           O
             HETATM    5  CB  MSE A   1      10.407  19.441   0.088  0.00  0.00           C
             
        Specified by:
        hasAminoAtoms in interface Group
        Returns:
        true if all Atoms required for an AminoAcid are available (N, CA, C, O, CB)
        See Also:
        getType()
      • setProperties

        public void setProperties​(java.util.Map<java.lang.String,​java.lang.Object> props)
        properties of this amino acid. currerntly available properties. are: phi psi
        Specified by:
        setProperties in interface Group
        Parameters:
        props - a Map object specifying the properties value
        See Also:
        getProperties()
      • iterator

        public java.util.Iterator<Atom> iterator()
        return an AtomIterator.
        Specified by:
        iterator in interface Group
        Returns:
        an Iterator object
      • clone

        public java.lang.Object clone()
        returns and identical copy of this Group object .
        Specified by:
        clone in interface Group
        Overrides:
        clone in class java.lang.Object
        Returns:
        and identical copy of this Group object
      • setParent

        public void setParent​(Chain parent)
        Set the back-reference (to its parent Chain)
        Specified by:
        setParent in interface Group
        Parameters:
        parent - the parent Chain
        See Also:
        Group.getParent()
      • getParent

        public Chain getParent()
        Returns the parent Chain of the Group
        Specified by:
        getParent in interface Group
        Returns:
        Chain the Chain object that contains the Group
        See Also:
        Group.setParent(Chain)
      • getId

        public long getId()
        the Hibernate database ID
        Returns:
        the id
      • setId

        public void setId​(long id)
        the Hibernate database ID
        Parameters:
        id - the hibernate id