Package org.biojava.nbio.structure
Class StructureImpl
java.lang.Object
org.biojava.nbio.structure.StructureImpl
- All Implemented Interfaces:
Serializable
,Cloneable
,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
- See Also:
-
Constructor Summary
ConstructorDescriptionConstructs a StructureImpl object.construct a Structure object that contains a particular chainconstruct a Structure object that only contains a single group -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add a new chain.void
Add a new chain, if several models are available.void
addCompound
(Compound compound) Add a Compound to this Structurevoid
Add a new model.void
Adds a single disulfide Bond to this structureclone()
returns an identical copy of this structure .Request a particular chain from a structure.Request a particular chain from a particular modelRequest a particular group from a structure.Request a particular group from a structure.getChain
(int number) Retrieve a chain by its position within the Structure .getChain
(int modelnr, int number) Retrieve a chain by its position within the Structure and model number.getChainByPDB
(String chainId) Request a chain by its PDB code by default takes only the first modelgetChainByPDB
(String chainId, int modelnr) Request a chain by its PDB code by default takes only the first modelRetrieve all chains - if it is a NMR structure will return the chains of the first model.getChains
(int modelnr) retrieve all chains of a model.getCompoundById
(int molId) Request a particular compound by its molId (entity_id in mmCIF dictionary)Get all the Compounds for this Structure.Return the connections value.Gets crystallographic information for this structureGet the list of database referencesCaution: we should probably remove this to avoid confusion.getId()
get the ID used by HibernateGet a string representing this structure's contents.get the associated publication as defined by the JRNL records in a PDB file.getModel
(int modelnr) retrieve all Chains belonging to a model .getName()
Get biological name of Structure.Get PDB code of structure.Return the header information for this PDB filegetPdbId()
Deprecated.Deprecated.Deprecated.getSites()
Get the list of disulfide Bonds as they have been defined in the PDB filesGet an identifier corresponding to this structureboolean
Check if a chain with the id chainId is contained in this structure.boolean
Return whether or not the entry has an associated journal article or publication.boolean
Gets flag that indicates if this structure is a biological assemblyboolean
Whether this Structure is a crystallographic structure or not.boolean
isNmr()
Whether this Structure is a NMR structure or not.int
nrModels()
return number of models.void
Resets all models of this Structurevoid
setBiologicalAssembly
(boolean biologicalAssembly) Sets a flag to indicate if this structure is a biological assemblyvoid
Set the chains for a modelvoid
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 Compoundsvoid
setConnections
(List<Map<String, Integer>> conns) sets/gets an List of Maps which corresponds to the CONECT lines in the PDB file:void
setCrystallographicInfo
(PDBCrystallographicInfo crystallographicInfo) Sets crystallographic information for this structurevoid
Set the list of database references for this structurevoid
set the ID used by Hibernatevoid
setJournalArticle
(JournalArticle journalArticle) set the associated publication as defined by the JRNL records in a PDB file.void
A convenience function if one wants to edit and replace the models in a structure.void
Set biological name of Structure .void
setNmr
(boolean nmr) Deprecated.void
setPDBCode
(String pdb_id_) Set PDB code of structure .void
setPDBHeader
(PDBHeader pdbHeader) Set the the header information for this PDB filevoid
void
setSSBonds
(List<Bond> ssbonds) Set the list of SSBonds for this structurevoid
setStructureIdentifier
(StructureIdentifier structureIdentifier) Set the identifier corresponding to this structureint
size()
return number of chains , if NMR return number of chains of first model .int
size
(int modelnr) return number of chains of model.toMMCIF()
Create a String that contains this Structure's contents in MMCIF file format.toPDB()
Create a String that contains this Structure's contents in PDB file format.toString()
string representation.
-
Constructor Details
-
StructureImpl
public StructureImpl()Constructs a StructureImpl object. -
StructureImpl
construct a Structure object that only contains a single group- Parameters:
g
-
-
StructureImpl
construct a Structure object that contains a particular chain- Parameters:
c
-
-
-
Method Details
-
getId
get the ID used by Hibernate -
setId
set the ID used by Hibernate -
clone
returns an identical copy of this structure . -
findGroup
Request a particular group from a structure. considers only model nr X. count starts with 0.- Specified by:
findGroup
in interfaceStructure
- Parameters:
chainId
- the ID of the chain to usepdbResnum
- the PDB residue number of the requested groupmodelnr
- the number of the model to use- Returns:
- Group the requested Group
- Throws:
StructureException
-
findGroup
Request a particular group from a structure. by default considers only the first model in the structure.- Specified by:
findGroup
in interfaceStructure
- Parameters:
chainName
- the ID of the chain to usepdbResnum
- the PDB residue number of the requested group- Returns:
- Group the requested Group
- Throws:
StructureException
-
findChain
Request a particular chain from a particular model- Specified by:
findChain
in interfaceStructure
- Parameters:
chainId
- the ID of a chain that should be returnedmodelnr
- the number of the model to use- Returns:
- Chain the requested chain
- Throws:
StructureException
-
findChain
Request a particular chain from a structure. by default considers only the first model.- Specified by:
findChain
in interfaceStructure
- Parameters:
chainId
- the ID of a chain that should be returned- Returns:
- Chain the requested chain
- Throws:
StructureException
-
setPDBCode
Set PDB code of structure .- Specified by:
setPDBCode
in interfaceStructure
- Parameters:
pdb_id_
- a String specifying the PDBCode- See Also:
-
getPDBCode
Get PDB code of structure.- Specified by:
getPDBCode
in interfaceStructure
- Returns:
- a String representing the PDBCode value
- See Also:
-
setName
Set biological name of Structure . -
getName
Get biological name of Structure. -
getStructureIdentifier
Description copied from interface:Structure
Get an identifier corresponding to this structure- Specified by:
getStructureIdentifier
in interfaceStructure
- Returns:
- The StructureIdentifier used to create this structure
-
setStructureIdentifier
Description copied from interface:Structure
Set the identifier corresponding to this structure- Specified by:
setStructureIdentifier
in interfaceStructure
- Parameters:
structureIdentifier
- the structureIdentifier corresponding to this structure
-
setConnections
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 interfaceStructure
- Parameters:
conns
- a List object specifying the connections- See Also:
-
getConnections
Return the connections value.- Specified by:
getConnections
in interfaceStructure
- Returns:
- a List object representing the connections value
- See Also:
-
addChain
Add a new chain. -
addChain
Add a new chain, if several models are available. -
getChain
Retrieve a chain by its position within the Structure . -
getChain
Retrieve a chain by its position within the Structure and model number. -
addModel
Add a new model. -
setChains
Set the chains of a structure, if this is a NMR structure, this will only set model 0. -
setModel
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. -
toString
string representation. -
size
public int size()return number of chains , if NMR return number of chains of first model . -
size
public int size(int modelnr) return number of chains of model. -
nrModels
public int nrModels()return number of models. -
isCrystallographic
public boolean isCrystallographic()Whether this Structure is a crystallographic structure or not. It will first check the experimental technique and if not present it will try to guess from the presence of a space group and sensible cell parameters- Specified by:
isCrystallographic
in interfaceStructure
- Returns:
- true if crystallographic, false otherwise
-
isNmr
public boolean isNmr()Whether this Structure is a NMR structure or not. It will first check the experimental technique and if not present it will try to guess from the presence of more than 1 model and from b-factors being 0 in first chain of first model -
setNmr
Deprecated.set NMR flag. -
getChains
retrieve all chains of a model. -
getChains
Retrieve all chains - if it is a NMR structure will return the chains of the first model. This is the same as getChains(0); -
setChains
Set the chains for a model -
getModel
retrieve all Chains belonging to a model . -
getChainByPDB
Request a chain by its PDB code by default takes only the first model- Specified by:
getChainByPDB
in interfaceStructure
- Parameters:
chainId
- the chain identifiermodelnr
- request a particular model;- Returns:
- the Chain that matches the chainID in the model
- Throws:
StructureException
-
getChainByPDB
Request a chain by its PDB code by default takes only the first model- Specified by:
getChainByPDB
in interfaceStructure
- Parameters:
chainId
- the chain identifier- Returns:
- the Chain that matches the chainID
- Throws:
StructureException
-
toPDB
Create a String that contains this Structure's contents in PDB file format. -
toMMCIF
Create a String that contains this Structure's contents in MMCIF file format. -
hasChain
Check if a chain with the id chainId is contained in this structure. -
setCompounds
Set the Compounds- Specified by:
setCompounds
in interfaceStructure
-
addCompound
Add a Compound to this Structure- Specified by:
addCompound
in interfaceStructure
-
getCompounds
Get all the Compounds for this Structure. Compounds are called Entities in mmCIF dictionary.- Specified by:
getCompounds
in interfaceStructure
- Returns:
- a list of Compounds
-
getCompoundById
Request a particular compound by its molId (entity_id in mmCIF dictionary)- Specified by:
getCompoundById
in interfaceStructure
- Returns:
- a compound
-
getDBRefs
Get the list of database references -
setDBRefs
Set the list of database references for this structure -
getPDBHeader
Return the header information for this PDB file- Specified by:
getPDBHeader
in interfaceStructure
- Returns:
- the PDBHeader object
-
setPDBHeader
Set the the header information for this PDB file- Specified by:
setPDBHeader
in interfaceStructure
- Parameters:
pdbHeader
- the PDBHeader object
-
getSSBonds
Get the list of disulfide Bonds as they have been defined in the PDB files- Specified by:
getSSBonds
in interfaceStructure
- Returns:
- a list of Bonds
-
setSSBonds
Set the list of SSBonds for this structure- Specified by:
setSSBonds
in interfaceStructure
-
addSSBond
Adds a single disulfide Bond to this structure -
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 interfaceStructure
- Returns:
- flag if a JournalArticle could be found.
-
getJournalArticle
get the associated publication as defined by the JRNL records in a PDB file.- Specified by:
getJournalArticle
in interfaceStructure
- Returns:
- a JournalArticle
-
setJournalArticle
set the associated publication as defined by the JRNL records in a PDB file.- Specified by:
setJournalArticle
in interfaceStructure
- Parameters:
journalArticle
- the article
-
getSites
-
setSites
-
getHetGroups
Caution: we should probably remove this to avoid confusion. Currently this is always an empty list!- Specified by:
getHetGroups
in interfaceStructure
- Returns:
- a list of Groups listed in the HET records - this will not include any waters.
-
setBiologicalAssembly
public void setBiologicalAssembly(boolean biologicalAssembly) Sets a flag to indicate if this structure is a biological assembly- Specified by:
setBiologicalAssembly
in interfaceStructure
- Parameters:
biologicalAssembly
- true if biological assembly, otherwise false- Since:
- 3.2
-
isBiologicalAssembly
public boolean isBiologicalAssembly()Gets flag that indicates if this structure is a biological assembly- Specified by:
isBiologicalAssembly
in interfaceStructure
- Returns:
- the sites contained in this structure
- Since:
- 3.2
-
setCrystallographicInfo
Sets crystallographic information for this structure- Specified by:
setCrystallographicInfo
in interfaceStructure
- Parameters:
crystallographicInfo
- crystallographic information- Since:
- 3.2
-
getCrystallographicInfo
Gets crystallographic information for this structure- Specified by:
getCrystallographicInfo
in interfaceStructure
- Returns:
- PDBCrystallographicInfo crystallographic information
- Since:
- 3.2
-
getIdentifier
Get a string representing this structure's contents. The following places are searched for a non-null value, with the first being returned:Structure.getStructureIdentifier()
.getIdentifier(), which should give the string originally used to create the structureStructure.getName()
- A combination of
Structure.getPDBCode()
with a heuristic description of the residue ranges, inSubstructureIdentifier
format.
- Specified by:
getIdentifier
in interfaceStructure
- Returns:
- A
SubstructureIdentifier
-format string describing the residue ranges in this structure
-
getPdbId
Deprecated.Returns the PDB identifier associated with this StructureIdentifier. -
resetModels
public void resetModels()Resets all models of this Structure- Specified by:
resetModels
in interfaceStructure
-
getResidueRanges
Deprecated.Returns the list ofResidueRanges
that this StructureIdentifier defines. This is a unique representation.- Specified by:
getResidueRanges
in interfaceStructure
-
getRanges
Deprecated.Returns a list of residue ranges. For example:getRanges().get(0): 'A' getRanges().get(1): 'B_5-100'
This is a unique representation.
-