Package org.biojava.nbio.structure.io
Class PDBFileReader
- java.lang.Object
-
- org.biojava.nbio.structure.io.LocalPDBDirectory
-
- org.biojava.nbio.structure.io.PDBFileReader
-
- All Implemented Interfaces:
StructureIOFile
,StructureProvider
public class PDBFileReader extends LocalPDBDirectory
The wrapper class for parsing a PDB file.
Several flags can be set for this class
-
LocalPDBDirectory.setAutoFetch(boolean)
- if the PDB file can not be found locally, should it be fetched from the PDB ftp servers? (default:false) - Other parameters can be set using the
LocalPDBDirectory.setFileParsingParameters(FileParsingParameters)
Example
Q: How can I get a Structure object from a PDB file?
A:
public
Access PDB files from a directory, take care of compressed PDB filesStructure
loadStructure(String pathToPDBFile){PDBFileReader
pdbreader = newPDBFileReader
();Structure
structure = null; try{ structure = pdbreader.getStructure(pathToPDBFile); System.out.println(structure); } catch (IOException e) { e.printStackTrace(); } return structure; }public
Structure
loadStructureById() { String path = "/path/to/PDB/directory/";PDBFileReader
pdbreader = newPDBFileReader
(); pdbreader.setPath(path);Structure
structure = null; try { structure = pdbreader.getStructureById("5pti"); } catch (IOException e){ e.printStackTrace(); } return structure; }- Author:
- Andreas Prlic
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.biojava.nbio.structure.io.LocalPDBDirectory
LocalPDBDirectory.FetchBehavior, LocalPDBDirectory.ObsoleteBehavior
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]
PDB_OBSOLETE_DIR
static java.lang.String[]
PDB_SPLIT_DIR
-
Fields inherited from class org.biojava.nbio.structure.io.LocalPDBDirectory
DEFAULT_PDB_FILE_SERVER, LAST_REMEDIATION_DATE, lineSplit, MIN_PDB_FILE_SIZE, PDB_FILE_SERVER_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description PDBFileReader()
Constructs a new PDBFileReader, initializing the extensions member variable.PDBFileReader(java.lang.String path)
Constructs a new PDBFileReader, initializing the extensions member variable.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
downloadPDB(java.lang.String pdbId)
Deprecated.protected java.lang.String
getFilename(java.lang.String pdbId)
Converts a PDB ID into a filename with the proper extensionprotected java.lang.String[]
getObsoleteDirPath()
Location of obsolete files within the directory, as an array of paths.protected java.lang.String[]
getSplitDirPath()
Location of split files within the directory, as an array of paths.Structure
getStructure(java.io.InputStream inStream)
Handles the actual parsing of the file into a Structure object.boolean
isFetchCurrent()
Deprecated.UseFileParsingParameters#getObsoleteBehavior()
boolean
isFetchFileEvenIfObsolete()
Deprecated.UseFileParsingParameters#getObsoleteBehavior()
static void
main(java.lang.String[] args)
void
setFetchCurrent(boolean fetchNewestCurrent)
Deprecated.UseFileParsingParameters#setObsoleteBehavior(ObsoleteBehavior)
void
setFetchFileEvenIfObsolete(boolean fetchFileEvenIfObsolete)
Deprecated.UseFileParsingParameters#setObsoleteBehavior(ObsoleteBehavior)
-
Methods inherited from class org.biojava.nbio.structure.io.LocalPDBDirectory
addExtension, checkFileExists, clearExtensions, deleteStructure, downloadStructure, getDir, getExtensions, getFetchBehavior, getFileParsingParameters, getInputStream, getLocalFile, getObsoleteBehavior, getPath, getServerName, getStructure, getStructure, getStructure, getStructureById, initPaths, isAutoFetch, prefetchStructure, setAutoFetch, setFetchBehavior, setFileParsingParameters, setObsoleteBehavior, setPath
-
-
-
-
Constructor Detail
-
PDBFileReader
public PDBFileReader()
Constructs a new PDBFileReader, initializing the extensions member variable. The path is initialized in the same way asUserConfiguration
, i.e. to system property/environment variableUserConfiguration.PDB_DIR
. Both autoFetch and splitDir are initialized to false
-
PDBFileReader
public PDBFileReader(java.lang.String path)
Constructs a new PDBFileReader, initializing the extensions member variable. The path is initialized to the given path, both autoFetch and splitDir are initialized to false.If path is null, initialize using the system property/environment variable
UserConfiguration.PDB_DIR
.- Parameters:
path
- Path to the PDB file directory
-
-
Method Detail
-
main
public static void main(java.lang.String[] args)
-
downloadPDB
@Deprecated public void downloadPDB(java.lang.String pdbId) throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
setFetchFileEvenIfObsolete
@Deprecated public void setFetchFileEvenIfObsolete(boolean fetchFileEvenIfObsolete)
Deprecated.UseFileParsingParameters#setObsoleteBehavior(ObsoleteBehavior)
N.B. This feature won't work unless the structure wasn't found & autoFetch is set totrue
.- Parameters:
fetchFileEvenIfObsolete
- the fetchFileEvenIfObsolete to set
-
isFetchFileEvenIfObsolete
@Deprecated public boolean isFetchFileEvenIfObsolete()
Deprecated.UseFileParsingParameters#getObsoleteBehavior()
forces the reader to fetch the file if its status is OBSOLETE. This feature has a higher priority thansetFetchCurrent(boolean)
.
N.B. This feature won't work unless the structure wasn't found & autoFetch is set totrue
.- Returns:
- the fetchFileEvenIfObsolete
- Since:
- 3.0.2
- See Also:
#fetchCurrent
-
setFetchCurrent
@Deprecated public void setFetchCurrent(boolean fetchNewestCurrent)
Deprecated.UseFileParsingParameters#setObsoleteBehavior(ObsoleteBehavior)
if enabled, the reader searches for the newest possible PDB ID, if not present in he local installation. ThesetFetchFileEvenIfObsolete(boolean)
function has a higher priority than this function.
N.B. This feature won't work unless the structure wasn't found & autoFetch is set totrue
.- Parameters:
fetchCurrent
- the fetchCurrent to set- Since:
- 3.0.2
- See Also:
setFetchFileEvenIfObsolete(boolean)
-
isFetchCurrent
@Deprecated public boolean isFetchCurrent()
Deprecated.UseFileParsingParameters#getObsoleteBehavior()
N.B. This feature won't work unless the structure wasn't found & autoFetch is set totrue
.- Returns:
- the fetchCurrent
-
getFilename
protected java.lang.String getFilename(java.lang.String pdbId)
Description copied from class:LocalPDBDirectory
Converts a PDB ID into a filename with the proper extension- Specified by:
getFilename
in classLocalPDBDirectory
- Returns:
- The filename, e.g. "4hhb.pdb.gz"
-
getStructure
public Structure getStructure(java.io.InputStream inStream) throws java.io.IOException
Description copied from class:LocalPDBDirectory
Handles the actual parsing of the file into a Structure object.- Specified by:
getStructure
in classLocalPDBDirectory
- Returns:
- Throws:
java.io.IOException
-
getSplitDirPath
protected java.lang.String[] getSplitDirPath()
Description copied from class:LocalPDBDirectory
Location of split files within the directory, as an array of paths. These will be joined with either slashes (for the URL) or the file separator (for directories). The returned results should be constant, to allow for caching.- Specified by:
getSplitDirPath
in classLocalPDBDirectory
- Returns:
- A list of directories, relative to the /pub/pdb directory on the server
-
getObsoleteDirPath
protected java.lang.String[] getObsoleteDirPath()
Description copied from class:LocalPDBDirectory
Location of obsolete files within the directory, as an array of paths. These will be joined with either slashes (for the URL) or the file separator (for directories). The returned results should be constant, to allow for caching.- Specified by:
getObsoleteDirPath
in classLocalPDBDirectory
- Returns:
- A list of directories, relative to the /pub/pdb directory on the server
-
-