Package org.biojava.nbio.structure
Class StructureIO
java.lang.Object
org.biojava.nbio.structure.StructureIO
A class that provides static access methods for easy lookup of protein structure related components
- Since:
- 3.0.5
- Author:
- Andreas Prlic
-
Nested Class Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic AtomCache
static Structure
getBiologicalAssembly
(String pdbId) Returns the first biologicalAssembly that is available for a protein structure.static Structure
getBiologicalAssembly
(String pdbId, int biolAssemblyNr) By default the getStructure method loads asym units.static Structure
getBiologicalAssembly
(String pdbId, int biolAssemblyNr, AtomCache cache) static Structure
getBiologicalAssembly
(String pdbId, int biolAssemblyNr, AtomCache cache, BioUnitDataProvider provider) static int
getNrBiologicalAssemblies
(String pdbId) static Structure
getStructure
(String name) Loads a structure based on a name.guessFiletype
(String filename) Attempts to guess the type of a structure file based on the extensionstatic boolean
hasBiologicalAssembly
(String pdbId) Does the provider PDB ID have a biological assembly?static void
static void
setPdbPath
(String pathToPDBFiles) Utility method to set the location where PDB files can be found
-
Constructor Details
-
StructureIO
public StructureIO()
-
-
Method Details
-
getStructure
Loads a structure based on a name. Supported naming conventions are: *Formal specification for how to specify the name: name := pdbID | pdbID '.' chainID | pdbID '.' range | scopID | biol | pdp range := '('? range (',' range)? ')'? | chainID | chainID '_' resNum '-' resNum pdbID := [0-9][a-zA-Z0-9]{3} chainID := [a-zA-Z0-9] scopID := 'd' pdbID [a-z_][0-9_] biol := 'BIOL:' pdbID [:]? [0-9]+ pdp := 'PDP:' pdbID[A-Za-z0-9_]+ resNum := [-+]?[0-9]+[A-Za-z]? Example structures: 1TIM #whole structure - asym unit 4HHB.C #single chain 4GCR.A_1-83 #one domain, by residue number 3AA0.A,B #two chains treated as one structure d2bq6a1 #scop domain BIOL:1fah #biological assembly nr 1 for 1fah BIOL:1fah:0 #asym unit for 1fah BIOL:1fah:1 #biological assembly nr 1 for 1fah BIOL:1fah:2 #biological assembly nr 2 for 1fah
With the additional set of rules:- If only a PDB code is provided, the whole structure will be return including ligands, but the first model only (for NMR).
- Chain IDs are case sensitive, PDB ids are not. To specify a particular chain write as: 4hhb.A or 4HHB.A
- To specify a SCOP domain write a scopId e.g. d2bq6a1. Some flexibility can be allowed in SCOP domain names, see
#setStrictSCOP(boolean)
- URLs are accepted as well
- Parameters:
name
-- Returns:
- a Structure object, or null if name appears improperly formated (eg too short, etc)
- Throws:
IOException
- The PDB file cannot be cached due to IO errorsStructureException
- The name appeared valid but did not correspond to a structure. Also thrown by some submethods upon errors, eg for poorly formatted subranges.
-
setAtomCache
-
getAtomCache
-
getBiologicalAssembly
Returns the first biologicalAssembly that is available for a protein structure. For more documentation on quaternary structures see: {@link http://www.pdb.org/pdb/101/static101.do?p=education_discussion/Looking-at-Structures/bioassembly_tutorial.html}- Parameters:
pdbId
-- Returns:
- a Structure object or null if that assembly is not available
- Throws:
StructureException
IOException
-
getBiologicalAssembly
public static Structure getBiologicalAssembly(String pdbId, int biolAssemblyNr) throws IOException, StructureException By default the getStructure method loads asym units. This access method allows to recreate the quaternary structure for a protein if it is available.- Parameters:
pdbId
-biolAssemblyNr
- - the ith biological assembly that is available for a PDB ID (we start counting at 1, 0 represents the asym unit).- Returns:
- a Structure object or null if that assembly is not available
- Throws:
StructureException
- if there is no bioassembly available for given biolAssemblyNr or some other problems encountered while loading itIOException
-
getBiologicalAssembly
public static Structure getBiologicalAssembly(String pdbId, int biolAssemblyNr, AtomCache cache) throws IOException, StructureException - Throws:
IOException
StructureException
-
getBiologicalAssembly
public static Structure getBiologicalAssembly(String pdbId, int biolAssemblyNr, AtomCache cache, BioUnitDataProvider provider) throws IOException, StructureException - Throws:
IOException
StructureException
-
hasBiologicalAssembly
Does the provider PDB ID have a biological assembly?- Parameters:
pdbId
-- Returns:
- flag if one or more biological assemblies are available
-
getNrBiologicalAssemblies
-
setPdbPath
Utility method to set the location where PDB files can be found- Parameters:
pathToPDBFiles
-
-
guessFiletype
Attempts to guess the type of a structure file based on the extension- Parameters:
filename
-- Returns:
-