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
 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 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 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 -