Package org.biojava.nbio.structure
Class SubstructureIdentifier
java.lang.Object
org.biojava.nbio.structure.SubstructureIdentifier
- All Implemented Interfaces:
 Serializable,StructureIdentifier
This is the canonical way to identify a part of a structure.
 
The current syntax allows the specification of a set of residues from the first model of a structure. Future versions may be extended to represent additional properties.
Identifiers should adhere to the following specification, although some additional forms may be tolerated where unambiguous for backwards compatibility.
                name          := pdbID
                               | pdbID '.' chainID
                               | pdbID '.' range
                range         := range (',' range)?
                               | chainID
                               | chainID '_' resNum '-' resNum
                pdbID         := [0-9][a-zA-Z0-9]{3}
                chainID       := [a-zA-Z0-9]+
                resNum        := [-+]?[0-9]+[A-Za-z]?
 
 For example:
 
                1TIM                            #whole structure
                1tim                            #same as above
                4HHB.C                          #single chain
                3AA0.A,B                        #two chains
                4GCR.A_1-40                     #substructure
      3iek.A_17-28,A_56-294,A_320-377 #substructure of 3 disjoint parts
 
 More options may be added to the specification at a future time.- Author:
 - dmyersturnbull, Spencer Bliven
 - See Also:
 
- 
Constructor Summary
ConstructorsConstructorDescriptionCreate a new identifier from a string.SubstructureIdentifier(String pdbId, List<ResidueRange> ranges) Create a new identifier based on a set of ranges. - 
Method Summary
Modifier and TypeMethodDescriptionGet the String form of this identifier.getPdbId()loadStructure(AtomCache cache) Loads the complete structure based ongetPdbId().Takes a complete structure as input and reduces it to residues present in the specified rangesReturn itself.toString() 
- 
Constructor Details
- 
SubstructureIdentifier
Create a new identifier from a string.- Parameters:
 id-
 - 
SubstructureIdentifier
Create a new identifier based on a set of ranges. If ranges is empty, includes all residues.- Parameters:
 pdbId-ranges-
 
 - 
 - 
Method Details
- 
toString
 - 
getIdentifier
Get the String form of this identifier. This provides the canonical form for a StructureIdentifier and has all the information needed to recreate a particular substructure. Example: 3iek.A_17-28,A_56-294- Specified by:
 getIdentifierin interfaceStructureIdentifier- Returns:
 - The String form of this identifier
 
 - 
getPdbId
 - 
getResidueRanges
 - 
toCanonical
Return itself. SubstructureIdentifiers are canonical!- Specified by:
 toCanonicalin interfaceStructureIdentifier- Returns:
 - A SubstructureIdentifier equivalent to this
 
 - 
reduce
Takes a complete structure as input and reduces it to residues present in the specified rangesThe returned structure will be a shallow copy of the input, with shared Chains, Residues, etc.
- Specified by:
 reducein interfaceStructureIdentifier- Parameters:
 input- A full structure, e.g. as loaded from the PDB. The structure ID should match that returned by getPdbId().- Returns:
 - Throws:
 StructureException- See Also:
 
 - 
loadStructure
Loads the complete structure based ongetPdbId().- Specified by:
 loadStructurein interfaceStructureIdentifier- Parameters:
 AtomCache- A source of structures- Returns:
 - A Structure containing at least the atoms identified by this, or null if no PDB ID is set
 - Throws:
 StructureException- For errors loading and parsing the structureIOException- Errors reading the structure from disk
 
 -