Class HetatomImpl

    • Constructor Detail

      • HetatomImpl

        public HetatomImpl()
        Construct a Hetatom instance.
    • 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
      • addAtom

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

        public int size()
        Get number of atoms.
        Specified by:
        size in interface Group
        Returns:
        number of atoms of this Group
      • setAtoms

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

        public Atom getAtom​(String name)
        Get an atom given its PDB name. Beware that some PDB atom names are ambiguous (e.g. CA, which means C-alpha or Calcium), ambiguities should not occur within the same group though. To solve these ambiguities one would need to check the atom returned for the required element with Atom.getElement()
        Specified by:
        getAtom in interface Group
        Parameters:
        name - a trimmed String representing the atom's PDB name, e.g. "CA"
        Returns:
        an Atom object or null if no such atom exists within this group
      • getAtom

        public Atom getAtom​(int position)
        Get at atom by position.
        Specified by:
        getAtom in interface Group
        Parameters:
        position - an int
        Returns:
        an Atom object or null if no Atom exists for given position
      • hasAtom

        public boolean hasAtom​(String fullName)
        Tell whether a particular atom exists within this group. Beware that some PDB atom names are ambiguous (e.g. CA, which means C-alpha or Calcium), ambiguities should not occur within the same group though.
        Specified by:
        hasAtom in interface Group
        Parameters:
        fullName - a trimmed String representing the atom's PDB name, e.g. "CA"
        Returns:
        true if Atom with name exists within this group
      • hasAminoAtoms

        public boolean hasAminoAtoms()
        Calculate if this group has all atoms required for an amino acid backbone. 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 Group.getType()

        amino atoms are : N, CA, C, O

        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)
        See Also:
        Group.getType()
      • isPolymeric

        public boolean isPolymeric()
        Description copied from interface: Group
        Check if this group is a polymeric group, from the definition in Chemical Component Dictionary
        Specified by:
        isPolymeric in interface Group
        Returns:
        true if a polymeric group
      • isAminoAcid

        public boolean isAminoAcid()
        Description copied from interface: Group
        Check if this group is an aminoacid group, from the definition in Chemical Component Dictionary
        Specified by:
        isAminoAcid in interface Group
        Returns:
        true if an amino acid
      • isNucleotide

        public boolean isNucleotide()
        Description copied from interface: Group
        Check if this group is a nucleotide group, from the definition in Chemical Component Dictionary
        Specified by:
        isNucleotide in interface Group
        Returns:
        true if a nucleotide
      • clone

        public Object clone()
        returns and identical copy of this Group object .
        Specified by:
        clone in interface Group
        Overrides:
        clone in class Object
        Returns:
        and identical copy of this Group object
      • 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
      • getChemComp

        public ChemComp getChemComp()
        Description copied from interface: Group
        Get the chemical component that closer describes this group. If the information does not exist yet, fetches the information from PDB web site.
        Specified by:
        getChemComp in interface Group
        Returns:
        the Chemical Component definition for this Group.
      • setChemComp

        public void setChemComp​(ChemComp cc)
        Description copied from interface: Group
        Set the Chemical Component that closer describes this group.
        Specified by:
        setChemComp in interface Group
        Parameters:
        cc - the chemical component
      • getChainId

        public String getChainId()
        Utility method for returning the chainId of the Group or null if no Chain has been set. This is equivalent to calling getChain().getId() Prior to version 5.0 this method returned the chain name.
        Specified by:
        getChainId in interface Group
        Returns:
        the ID of the chain
      • setResidueNumber

        public void setResidueNumber​(String chainId,
                                     Integer resNum,
                                     Character iCode)
        Description copied from interface: Group
        Utility method to temporarily set a chainID for a group, if a parent chain object does not exist yet. Not recommended for general use other than parsing.
        Specified by:
        setResidueNumber in interface Group
      • hasAltLoc

        public boolean hasAltLoc()
        Description copied from interface: Group
        Check if this group has alternate location groups.
        Specified by:
        hasAltLoc in interface Group
        Returns:
        boolean flag if there are alternate locations.
        See Also:
        Group.getAltLocs()
      • getAltLocs

        public List<GroupgetAltLocs()
        Description copied from interface: Group
        Get the list of other alternate location groups.

        The main group (this group) will contain the first altloc (be it the default '.' or 'A' or a mix of '.' and 'A').

        This method will return the altloc groups that are not the main group, e.g.:

      • if '.' (default), 'A' and 'B' altlocs are present in file, the main group will contain the default '.' and this method will return 2 altloc groups
      • if 'A' and 'B' are present in file without a default '.' group, then the main group will contain the 'A' location whilst this method will return only 1 altloc group with the 'B' location
      • Note that atoms with the default altloc (.) are included in all groups. Atoms with other altlocs (typically A, B, etc) will be sorted into groups by altloc.

        Thus it can happen that an altloc group duplicate the contents of the main group.

Specified by:
getAltLocs in interface Group
Returns:
List of other groups that are on alternate locations