org.biojava.bio.structure
Class StructureImpl

java.lang.Object
  extended by org.biojava.bio.structure.StructureImpl
All Implemented Interfaces:
Cloneable, Structure

public class StructureImpl
extends Object
implements Structure

Implementation of a PDB Structure. This class provides the data contained in a PDB file. to get structure objects from different sources see io package.

Since:
1.4
Version:
%I% %G%
Author:
Andreas Prlic, Jules Jacobsen

Constructor Summary
StructureImpl()
          Constructs a StructureImpl object.
StructureImpl(Chain c)
          construct a Structure object that contains a particular chain
StructureImpl(Group g)
          construct a Structure object that only contains a single group
 
Method Summary
 void addChain(Chain chain)
          add a new chain.
 void addChain(Chain chain, int modelnr)
          add a new chain, if several models are available.
 void addModel(List<Chain> model)
          add a new model.
 void addSSBond(SSBond ssbond)
          add a single SSBond to this structure
 Structure clone()
          returns an identical copy of this structure .
 Chain findChain(String chainId)
          request a particular chain from a structure.
 Chain findChain(String chainId, int modelnr)
          request a particular chain from a particular model
 Group findGroup(String chainName, String pdbResnum)
          request a particular group from a structure.
 Group findGroup(String chainId, String pdbResnum, int modelnr)
          request a particular group from a structure.
 Chain getChain(int number)
          retrieve a chain by it's position within the Structure.
 Chain getChain(int modelnr, int number)
          retrieve a chain by it's position within the Structure and model number.
 Chain getChainByPDB(String chainId)
          request a chain by it's PDB code by default takes only the first model
 Chain getChainByPDB(String chainId, int modelnr)
          request a chain by it's PDB code by default takes only the first model
 List<Chain> getChains()
          retrieve all chains - if it is a NMR structure will return the chains of the first model.
 List<Chain> getChains(int modelnr)
          retrieve all chains of a model.
 Compound getCompoundById(String molId)
          request a particular compound by its id
 List<Compound> getCompounds()
          get all the Compounds that are defined in the PDB Header
 List<Map<String,Integer>> getConnections()
          Returns the connections value.
 List<DBRef> getDBRefs()
          get the list of database references
 Map<String,Object> getHeader()
          get Header data.
 Long getId()
          get the ID used by Hibernate
 JournalArticle getJournalArticle()
          get the associated publication as defined by the JRNL records in a PDB file.
 List<Chain> getModel(int modelnr)
          retrieve all Chains belonging to a model .
 String getName()
          get biological name of Structure.
 String getPDBCode()
          get PDB code of structure .
 PDBHeader getPDBHeader()
          return the header information for this PDB file
 List<SSBond> getSSBonds()
          get the list of SSBonds as they have been defined in the PDB files
 boolean hasChain(String chainId)
          check if a chain with the id chainId is contained in this structure.
 boolean hasJournalArticle()
          Return whether or not the entry has an associated journal article or publication.
 boolean isNmr()
          is this structure an nmr structure ?
 int nrModels()
          return number of models.
 void setChains(int modelnr, List<Chain> chains)
          set the chains for a model
 void setChains(List<Chain> chains)
          set the chains of a structure, if this is a NMR structure, this will only set model 0.
 void setCompounds(List<Compound> molList)
          set the compounts
 void setConnections(List<Map<String,Integer>> conns)
          sets/gets an List of Maps which corresponds to the CONECT lines in the PDB file:
 void setDBRefs(List<DBRef> dbrefs)
          set the list of database references for this structure
 void setHeader(Map<String,Object> h)
          set the Header data.
 void setId(Long id)
          set the ID used by Hibernate
 void setJournalArticle(JournalArticle journalArticle)
          set the associated publication as defined by the JRNL records in a PDB file.
 void setModel(int position, List<Chain> model)
          a convenience function if one wants to edit and replace the models in a structure.
 void setName(String nam)
          set biological name of Structure.
 void setNmr(boolean nmr)
          set NMR flag.
 void setPDBCode(String pdb_id_)
          set PDB code of structure .
 void setPDBHeader(PDBHeader pdbHeader)
          the the header information for this PDB file
 void setSSBonds(List<SSBond> ssbonds)
          set the list of SSBonds for this structure
 int size()
          return number of chains , if NMR return number of chains of first model .
 int size(int modelnr)
          return number of chains of model.
 String toPDB()
          create a String that contains the contents of a PDB file.
 String toString()
          string representation.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StructureImpl

public StructureImpl()
Constructs a StructureImpl object.


StructureImpl

public StructureImpl(Group g)
construct a Structure object that only contains a single group

Parameters:
g -

StructureImpl

public StructureImpl(Chain c)
construct a Structure object that contains a particular chain

Parameters:
c -
Method Detail

getId

public Long getId()
get the ID used by Hibernate

Specified by:
getId in interface Structure
Returns:
the ID used by Hibernate

setId

public void setId(Long id)
set the ID used by Hibernate

Specified by:
setId in interface Structure
Parameters:
id -

clone

public Structure clone()
returns an identical copy of this structure .

Specified by:
clone in interface Structure
Overrides:
clone in class Object
Returns:
an identical Structure object

findGroup

public Group findGroup(String chainId,
                       String pdbResnum,
                       int modelnr)
                throws StructureException
Description copied from interface: Structure
request a particular group from a structure. considers only model nr X. count starts with 0.

Specified by:
findGroup in interface Structure
Parameters:
chainId - the ID of the chain to use
pdbResnum - the PDB residue number of the requested group
modelnr - the number of the model to use
Returns:
Group the requested Group
Throws:
StructureException

findGroup

public Group findGroup(String chainName,
                       String pdbResnum)
                throws StructureException
Description copied from interface: Structure
request a particular group from a structure. by default considers only the first model in the structure.

Specified by:
findGroup in interface Structure
Parameters:
chainName - the ID of the chain to use
pdbResnum - the PDB residue number of the requested group
Returns:
Group the requested Group
Throws:
StructureException

findChain

public Chain findChain(String chainId,
                       int modelnr)
                throws StructureException
Description copied from interface: Structure
request a particular chain from a particular model

Specified by:
findChain in interface Structure
Parameters:
chainId - the ID of a chain that should be returned
modelnr - the number of the model to use
Returns:
Chain the requested chain
Throws:
StructureException

findChain

public Chain findChain(String chainId)
                throws StructureException
Description copied from interface: Structure
request a particular chain from a structure. by default considers only the first model.

Specified by:
findChain in interface Structure
Parameters:
chainId - the ID of a chain that should be returned
Returns:
Chain the requested chain
Throws:
StructureException

setPDBCode

public void setPDBCode(String pdb_id_)
set PDB code of structure .

Specified by:
setPDBCode in interface Structure
Parameters:
pdb_id_ - a String specifying the PDBCode
See Also:
getPDBCode()

getPDBCode

public String getPDBCode()
get PDB code of structure .

Specified by:
getPDBCode in interface Structure
Returns:
a String representing the PDBCode value
See Also:
setPDBCode(java.lang.String)

setName

public void setName(String nam)
set biological name of Structure.

Specified by:
setName in interface Structure
Parameters:
nam - a String specifying the biological name of the Structure
See Also:
getName()

getName

public String getName()
get biological name of Structure.

Specified by:
getName in interface Structure
Returns:
a String representing the name
See Also:
setName(java.lang.String)

setHeader

public void setHeader(Map<String,Object> h)
set the Header data.

Specified by:
setHeader in interface Structure
Parameters:
h - a Map object specifying the header
See Also:
getHeader()

getHeader

public Map<String,Object> getHeader()
get Header data.

Specified by:
getHeader in interface Structure
Returns:
a Map object representing the header of the Structure
See Also:
setHeader(java.util.Map)

setConnections

public void setConnections(List<Map<String,Integer>> conns)
Description copied from interface: Structure
sets/gets an List of Maps which corresponds to the CONECT lines in the PDB file:
       COLUMNS         DATA TYPE        FIELD           DEFINITION
       ---------------------------------------------------------------------------------
        1 -  6         Record name      "CONECT"
        7 - 11         Integer          serial          Atom serial number
       12 - 16         Integer          serial          Serial number of bonded atom
       17 - 21         Integer          serial          Serial number of bonded atom
       22 - 26         Integer          serial          Serial number of bonded atom
       27 - 31         Integer          serial          Serial number of bonded atom
       32 - 36         Integer          serial          Serial number of hydrogen bonded
       atom
       37 - 41         Integer          serial          Serial number of hydrogen bonded
       atom
       42 - 46         Integer          serial          Serial number of salt bridged
       atom
       47 - 51         Integer          serial          Serial number of hydrogen bonded
       atom
       52 - 56         Integer          serial          Serial number of hydrogen bonded
       atom
       57 - 61         Integer          serial          Serial number of salt bridged
       atom
       
the HashMap for a single CONECT line contains the following fields:
  • atomserial (mandatory) : Atom serial number
  • bond1 .. bond4 (optional): Serial number of bonded atom
  • hydrogen1 .. hydrogen4 (optional):Serial number of hydrogen bonded atom
  • salt1 .. salt2 (optional): Serial number of salt bridged atom
  • Specified by:
    setConnections in interface Structure
    Parameters:
    conns - a List object specifying the connections
    See Also:
    interface.

    getConnections

    public List<Map<String,Integer>> getConnections()
    Returns the connections value.

    Specified by:
    getConnections in interface Structure
    Returns:
    a List object representing the connections value
    See Also:
    interface, setConnections(java.util.List>)

    addChain

    public void addChain(Chain chain)
    add a new chain.

    Specified by:
    addChain in interface Structure
    Parameters:
    chain - a Chain object

    addChain

    public void addChain(Chain chain,
                         int modelnr)
    add a new chain, if several models are available.

    Specified by:
    addChain in interface Structure
    Parameters:
    chain - a Chain object
    modelnr - an int specifying to which model the Chain should be added

    getChain

    public Chain getChain(int number)
    retrieve a chain by it's position within the Structure.

    Specified by:
    getChain in interface Structure
    Parameters:
    number - an int
    Returns:
    a Chain object

    getChain

    public Chain getChain(int modelnr,
                          int number)
    retrieve a chain by it's position within the Structure and model number.

    Specified by:
    getChain in interface Structure
    Parameters:
    modelnr - an int
    number - an int
    Returns:
    a Chain object

    addModel

    public void addModel(List<Chain> model)
    add a new model.

    Specified by:
    addModel in interface Structure
    Parameters:
    model - a List object containing the Chains of the new Model

    setChains

    public void setChains(List<Chain> chains)
    Description copied from interface: Structure
    set the chains of a structure, if this is a NMR structure, this will only set model 0.

    Specified by:
    setChains in interface Structure
    Parameters:
    chains - the list of chains for this structure.
    See Also:
    Structure.setChains(int, List)

    setModel

    public void setModel(int position,
                         List<Chain> model)
    Description copied from interface: Structure
    a convenience function if one wants to edit and replace the models in a structure. allows to set (replace) the model at position with the new List of Chains.

    Specified by:
    setModel in interface Structure
    Parameters:
    position - starting at 0

    toString

    public String toString()
    string representation.

    Specified by:
    toString in interface Structure
    Overrides:
    toString in class Object

    size

    public int size()
    return number of chains , if NMR return number of chains of first model .

    Specified by:
    size in interface Structure
    Returns:
    an int representing the number of Chains in this Structure

    size

    public int size(int modelnr)
    return number of chains of model.

    Specified by:
    size in interface Structure
    Parameters:
    modelnr - an int specifying the number of the Model that should be used
    Returns:
    an int representing the number of Chains in this Model

    nrModels

    public int nrModels()
    return number of models.

    Specified by:
    nrModels in interface Structure
    Returns:
    an int representing the number of models in this Structure

    isNmr

    public boolean isNmr()
    is this structure an nmr structure ?

    Specified by:
    isNmr in interface Structure
    Returns:
    true if this Structure has been resolved by NMR

    setNmr

    public void setNmr(boolean nmr)
    Description copied from interface: Structure
    set NMR flag.

    Specified by:
    setNmr in interface Structure
    Parameters:
    nmr - true to declare that this Structure has been solved by NMR.

    getChains

    public List<Chain> getChains(int modelnr)
    retrieve all chains of a model.

    Specified by:
    getChains in interface Structure
    Parameters:
    modelnr - an int
    Returns:
    a List object
    See Also:
    Structure.getModel(int)

    getChains

    public List<Chain> getChains()
    Description copied from interface: Structure
    retrieve all chains - if it is a NMR structure will return the chains of the first model. This is the same as getChains(0);

    Specified by:
    getChains in interface Structure
    Returns:
    a List object containing the Chains of Model nr. modelnr
    See Also:
    Structure.getModel(int modelnr), Structure.getChains(int modelnr)

    setChains

    public void setChains(int modelnr,
                          List<Chain> chains)
    Description copied from interface: Structure
    set the chains for a model

    Specified by:
    setChains in interface Structure

    getModel

    public List<Chain> getModel(int modelnr)
    retrieve all Chains belonging to a model .

    Specified by:
    getModel in interface Structure
    Parameters:
    modelnr - an int
    Returns:
    a List object
    See Also:
    Structure.getChains(int modelnr)

    getChainByPDB

    public Chain getChainByPDB(String chainId,
                               int modelnr)
                        throws StructureException
    Description copied from interface: Structure
    request a chain by it's PDB code by default takes only the first model

    Specified by:
    getChainByPDB in interface Structure
    Parameters:
    chainId - the chain identifier
    modelnr - request a particular model;
    Returns:
    the Chain that matches the chainID in the model
    Throws:
    StructureException

    getChainByPDB

    public Chain getChainByPDB(String chainId)
                        throws StructureException
    Description copied from interface: Structure
    request a chain by it's PDB code by default takes only the first model

    Specified by:
    getChainByPDB in interface Structure
    Parameters:
    chainId - the chain identifier
    Returns:
    the Chain that matches the chainID
    Throws:
    StructureException

    toPDB

    public String toPDB()
    create a String that contains the contents of a PDB file.

    Specified by:
    toPDB in interface Structure
    Returns:
    a String that represents the structure as a PDB file.
    See Also:
    FileConvert

    hasChain

    public boolean hasChain(String chainId)
    Description copied from interface: Structure
    check if a chain with the id chainId is contained in this structure.

    Specified by:
    hasChain in interface Structure
    Parameters:
    chainId - the name of the chain
    Returns:
    true if a chain with the id (name) chainId is found

    setCompounds

    public void setCompounds(List<Compound> molList)
    Description copied from interface: Structure
    set the compounts

    Specified by:
    setCompounds in interface Structure

    getCompounds

    public List<Compound> getCompounds()
    Description copied from interface: Structure
    get all the Compounds that are defined in the PDB Header

    Specified by:
    getCompounds in interface Structure
    Returns:
    a list of compound

    getCompoundById

    public Compound getCompoundById(String molId)
    Description copied from interface: Structure
    request a particular compound by its id

    Specified by:
    getCompoundById in interface Structure
    Returns:
    a compound

    getDBRefs

    public List<DBRef> getDBRefs()
    Description copied from interface: Structure
    get the list of database references

    Specified by:
    getDBRefs in interface Structure
    Returns:
    list of DBRef objects

    setDBRefs

    public void setDBRefs(List<DBRef> dbrefs)
    Description copied from interface: Structure
    set the list of database references for this structure

    Specified by:
    setDBRefs in interface Structure
    Parameters:
    dbrefs - list of DBRef objects

    getPDBHeader

    public PDBHeader getPDBHeader()
    Description copied from interface: Structure
    return the header information for this PDB file

    Specified by:
    getPDBHeader in interface Structure
    Returns:
    the PDBHeader object

    setPDBHeader

    public void setPDBHeader(PDBHeader pdbHeader)
    Description copied from interface: Structure
    the the header information for this PDB file

    Specified by:
    setPDBHeader in interface Structure
    Parameters:
    pdbHeader - the PDBHeader object

    getSSBonds

    public List<SSBond> getSSBonds()
    get the list of SSBonds as they have been defined in the PDB files

    Specified by:
    getSSBonds in interface Structure
    Returns:
    a list of SSBonds

    setSSBonds

    public void setSSBonds(List<SSBond> ssbonds)
    set the list of SSBonds for this structure

    Specified by:
    setSSBonds in interface Structure
    Parameters:
    ssbonds -

    addSSBond

    public void addSSBond(SSBond ssbond)
    add a single SSBond to this structure

    Specified by:
    addSSBond in interface Structure
    Parameters:
    ssbond - the SSBond.

    hasJournalArticle

    public boolean hasJournalArticle()
    Return whether or not the entry has an associated journal article or publication. The JRNL section is not mandatory and thus may not be present.

    Specified by:
    hasJournalArticle in interface Structure
    Returns:
    flag if a JournalArticle could be found.

    getJournalArticle

    public JournalArticle getJournalArticle()
    get the associated publication as defined by the JRNL records in a PDB file.

    Specified by:
    getJournalArticle in interface Structure
    Returns:
    a JournalArticle

    setJournalArticle

    public void setJournalArticle(JournalArticle journalArticle)
    set the associated publication as defined by the JRNL records in a PDB file.

    Specified by:
    setJournalArticle in interface Structure
    Parameters:
    journalArticle - the article