Interface Chain

  • All Known Implementing Classes:
    ChainImpl

    public interface Chain

    Defines the interface for a Chain. A Chain corresponds to a Chain in a PDB file. A chain consists out of a list of Group objects. A Group can either be an AminoAcid, Hetatom or Nucleotide.

    The BioJava API provides access to both the ATOM and SEQRES records in a PDB file. During parsing of a PDB file it aligns the ATOM and SEQRES groups and joins them. The SEQRES sequence can be accessed via getSeqResGroups() and the ATOM groups via getAtomGroups(). Groups that have been observed (i.e. they are in the ATOM records) can be detected by Group.has3D()

    Since:
    1.4
    Version:
    %I% %G%
    Author:
    Andreas Prlic
    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      void addGroup​(Group group)
      add a group to the list of ATOM record group of this chain.
      java.lang.Object clone()
      returns an identical copy of this Chain.
      Annotation getAnnotation()
      get/set the Annotation of a Chain.
      Group getAtomGroup​(int position)
      return the Group at position X.
      java.util.List<Group> getAtomGroups()
      Return all groups that have been specified in the ATOM section of this chain .
      java.util.List<Group> getAtomGroups​(java.lang.String type)
      Return a List of all groups of a special type (e.g.
      int getAtomLength()
      Return the number of Groups in the ATOM records of the chain.
      java.lang.String getAtomSequence()
      Return the sequence of amino acids as it has been provided in the ATOM records.
      Sequence getBJSequence()
      Convert the SEQRES groups of a Chain to a Biojava Sequence object.
      Group getGroup​(int position)
      Deprecated.
      use getAtomGroup or getSeqResGroup instead
      Group getGroupByPDB​(java.lang.String pdbresnum)
      get a group by its PDB residue numbering.
      java.util.List<Group> getGroups()
      Deprecated.
      use getAtomGroups or getSeqResGroups instead
      java.util.List<Group> getGroups​(java.lang.String type)
      Deprecated.
      use getAtomGroups or getSeqResGroups instead
      Group[] getGroupsByPDB​(java.lang.String pdbresnumStart, java.lang.String pdbresnumEnd)
      Get all groups that are located between two PDB residue numbers.
      Group[] getGroupsByPDB​(java.lang.String pdbresnumStart, java.lang.String pdbresnumEnd, boolean ignoreMissing)
      Get all groups that are located between two PDB residue numbers.
      Compound getHeader()
      Returns the Header ( a Compound object) for this chain.
      java.lang.Long getId()
      Get the ID used by Hibernate.
      int getLength()
      Deprecated.
      please use getAtomLength or getLengthSeqRes instead
      int getLengthAminos()
      Deprecated.
      use getAtomGroups("amino").size() instead.
      java.lang.String getName()
      get and set the name of this chain (Chain id in PDB file ).
      Structure getParent()
      Returns the parent Structure of this chain.
      Group getSeqResGroup​(int position)
      return the Group at position X.
      java.util.List<Group> getSeqResGroups()
      Return all groups of this chain.
      java.util.List<Group> getSeqResGroups​(java.lang.String type)
      Return a List of all groups of a special type (e.g.
      int getSeqResLength()
      Returns the number of groups in the SEQRES records of the chain.
      java.lang.String getSeqResSequence()
      Get the sequence for all amino acids as it is specified in the SEQRES residues.
      java.lang.String getSequence()
      Deprecated.
      use getAtomSequence instead
      java.lang.String getSwissprotId()
      Get the Swissprot id of this chain.
      void setAnnotation​(Annotation anno)
      get/set the Annotation of a Chain.
      void setAtomGroups​(java.util.List<Group> groups)
      Set all groups that have been specified in the ATOM section of this chain .
      void setHeader​(Compound molId)
      Set the Header from the PDB file.
      void setId​(java.lang.Long id)
      Set the ID used by Hibernate.
      void setName​(java.lang.String name)
      get and set the name of this chain (Chain id in PDB file ).
      void setParent​(Structure parent)
      Set the back-reference to its parent Structure.
      void setSeqResGroups​(java.util.List<Group> seqResGroups)
      Set the list of SeqResGroups for this chain.
      void setSwissprotId​(java.lang.String sp_id)
      Set the Swissprot id of this chain.
      java.lang.String toString()
      string representation.
    • Method Detail

      • clone

        java.lang.Object clone()
        returns an identical copy of this Chain.
        Returns:
        an identical copy of this Chain
      • addGroup

        void addGroup​(Group group)
        add a group to the list of ATOM record group of this chain. To add SEQRES records a more complex alignment between ATOM and SEQRES residues is required, please see SeqRes2AtomAligner for more details on that.
        Parameters:
        group - a Group object
      • getId

        java.lang.Long getId()
        Get the ID used by Hibernate.
        Returns:
        the ID used by Hibernate
        See Also:
        setId(Long)
      • setId

        void setId​(java.lang.Long id)
        Set the ID used by Hibernate.
        Parameters:
        id - assigned by Hibernate
        See Also:
        getId()
      • getGroup

        Group getGroup​(int position)
        Deprecated.
        use getAtomGroup or getSeqResGroup instead
        return the amino acid at position X.
        Parameters:
        position - an int
        Returns:
        a Group object
        See Also:
        getAtomGroup(int), getSeqResGroup(int)
      • getAtomGroup

        Group getAtomGroup​(int position)
        return the Group at position X.
        Parameters:
        position - an int
        Returns:
        a Group object
      • getSeqResGroup

        Group getSeqResGroup​(int position)
        return the Group at position X.
        Parameters:
        position - an int
        Returns:
        a Group object
      • getGroups

        java.util.List<Group> getGroups​(java.lang.String type)
        Deprecated.
        use getAtomGroups or getSeqResGroups instead
        return a List of all groups of a special type (e.g. amino, hetatm, nucleotide).
        Parameters:
        type - a String
        Returns:
        a List object
      • getGroups

        java.util.List<Group> getGroups()
        Deprecated.
        use getAtomGroups or getSeqResGroups instead
        return all groups of this chain.
        Returns:
        a List of all Group objects of this chain
      • getAtomGroups

        java.util.List<Group> getAtomGroups()
        Return all groups that have been specified in the ATOM section of this chain .
        Returns:
        a List object representing the Groups of this Chain.
        See Also:
        setAtomGroups(List)
      • setAtomGroups

        void setAtomGroups​(java.util.List<Group> groups)
        Set all groups that have been specified in the ATOM section of this chain .
        Parameters:
        groups - a List object representing the Groups of this Chain.
        See Also:
        getAtomGroups()
      • getAtomGroups

        java.util.List<Group> getAtomGroups​(java.lang.String type)
        Return a List of all groups of a special type (e.g. amino, hetatm, nucleotide).
        Parameters:
        type - a String
        Returns:
        a List object
        See Also:
        setAtomGroups(List)
      • getGroupByPDB

        Group getGroupByPDB​(java.lang.String pdbresnum)
                     throws StructureException
        get a group by its PDB residue numbering. if the PDB residue number is not know, throws a StructureException.
        Parameters:
        pdbresnum - the PDB residue number of the group
        Returns:
        the matching group
        Throws:
        StructureException
      • getGroupsByPDB

        Group[] getGroupsByPDB​(java.lang.String pdbresnumStart,
                               java.lang.String pdbresnumEnd)
                        throws StructureException
        Get all groups that are located between two PDB residue numbers.
        Parameters:
        pdbresnumStart - PDB residue number of start
        pdbresnumEnd - PDB residue number of end
        Returns:
        Groups in between. or throws a StructureException if either start or end can not be found,
        Throws:
        StructureException
      • getGroupsByPDB

        Group[] getGroupsByPDB​(java.lang.String pdbresnumStart,
                               java.lang.String pdbresnumEnd,
                               boolean ignoreMissing)
                        throws StructureException
        Get all groups that are located between two PDB residue numbers. In contrast to getGroupsByPDB this method call ignores if the exact outer groups are not found. This is useful e.g. when requesting the range of groups as specified by the DBREF records - these frequently are rather inaccurate.
        Parameters:
        pdbresnumStart - PDB residue number of start
        pdbresnumEnd - PDB residue number of end
        ignoreMissing - ignore missing groups in this range.
        Returns:
        Groups in between. or throws a StructureException if either start or end can not be found,
        Throws:
        StructureException
      • getLength

        int getLength()
        Deprecated.
        please use getAtomLength or getLengthSeqRes instead
        get total length of chain, including HETATMs..
        Returns:
        an int representing the length of the whole chain including HETATMs
        See Also:
        getAtomLength(), getSeqResLength()
      • getAtomLength

        int getAtomLength()
        Return the number of Groups in the ATOM records of the chain.
        Returns:
        the length
      • getSeqResLength

        int getSeqResLength()
        Returns the number of groups in the SEQRES records of the chain.
        Returns:
        the length
      • getLengthAminos

        int getLengthAminos()
        Deprecated.
        use getAtomGroups("amino").size() instead.
        returns the length of the AminoAcids in the ATOM records of this chain. note: not all amino acids need to have 3D coords, in fact in could be that none has!
        Returns:
        an int representing the length of the AminoAcids in the ATOM records of the chain.
      • setAnnotation

        void setAnnotation​(Annotation anno)
        get/set the Annotation of a Chain. allows to annotate a protein chain, e.g. molecule description "AZURIN" for pdb 1a4a.A
        Parameters:
        anno - the Annotation to be provided.
        See Also:
        getAnnotation()
      • getAnnotation

        Annotation getAnnotation()
        get/set the Annotation of a Chain. allows to annotate a protein chain, e.g. molecule description "AZURIN" for pdb 1a4a.A
        Returns:
        the Annotation of this chain
        See Also:
        setAnnotation(Annotation)
      • setHeader

        void setHeader​(Compound molId)
        Set the Header from the PDB file.
        Parameters:
        molId - the Compound that contains the header information for this chain
        See Also:
        getHeader()
      • getHeader

        Compound getHeader()
        Returns the Header ( a Compound object) for this chain.
        Returns:
        the Compound object that contains the Header information
        See Also:
        setHeader(Compound)
      • setName

        void setName​(java.lang.String name)
        get and set the name of this chain (Chain id in PDB file ).
        Parameters:
        name - a String specifying the name value
        See Also:
        getName()
      • getName

        java.lang.String getName()
        get and set the name of this chain (Chain id in PDB file ).
        Returns:
        a String representing the name value
        See Also:
        setName(java.lang.String)
      • toString

        java.lang.String toString()
        string representation.
        Overrides:
        toString in class java.lang.Object
      • getSequence

        java.lang.String getSequence()
        Deprecated.
        use getAtomSequence instead
        return the amino acid sequence of this chain ( all aminos even if they do not have 3D data ...).
        Returns:
        the sequence as a string
        See Also:
        getAtomSequence()
      • getAtomSequence

        java.lang.String getAtomSequence()
        Return the sequence of amino acids as it has been provided in the ATOM records.
        Returns:
        amino acid sequence as string
        See Also:
        getSeqResSequence()
      • getSeqResSequence

        java.lang.String getSeqResSequence()
        Get the sequence for all amino acids as it is specified in the SEQRES residues.
        Returns:
        the amino acid sequence of the SEQRES sequence as a string
        See Also:
        getAtomSequence()
      • setSwissprotId

        void setSwissprotId​(java.lang.String sp_id)
        Set the Swissprot id of this chain.
        Parameters:
        sp_id - a String specifying the swissprot id value
        See Also:
        getSwissprotId()
      • getSwissprotId

        java.lang.String getSwissprotId()
        Get the Swissprot id of this chain.
        Returns:
        a String representing the swissprot id value
        See Also:
        setSwissprotId(String sp_id)
      • getSeqResGroups

        java.util.List<Group> getSeqResGroups​(java.lang.String type)
        Return a List of all groups of a special type (e.g. amino, hetatm, nucleotide).
        Parameters:
        type - a String
        Returns:
        an List object
        See Also:
        setSeqResGroups(List)
      • getSeqResGroups

        java.util.List<Group> getSeqResGroups()
        Return all groups of this chain.
        Returns:
        a List of all Group objects of this chain
        See Also:
        setSeqResGroups(List)
      • setSeqResGroups

        void setSeqResGroups​(java.util.List<Group> seqResGroups)
        Set the list of SeqResGroups for this chain.
        Parameters:
        seqResGroups - a List of Group objects that from the SEQRES groups of this chain.
        See Also:
        getSeqResGroups()
      • setParent

        void setParent​(Structure parent)
        Set the back-reference to its parent Structure.
        Parameters:
        parent - the parent Structure object for this Chain
        See Also:
        getParent()
      • getParent

        Structure getParent()
        Returns the parent Structure of this chain.
        Returns:
        the parent Structure object
        See Also:
        setParent(Structure)