|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.biojava.bio.structure.align.util.AtomCache
public class AtomCache
A utility class that provides easy access to Structure objects. If you are running a script that is frequently re-using the same PDB structures, the AtomCache keeps an in-memory cache of the files for quicker access. The cache is a soft-cache, this means it won't cause out of memory exceptions, but garbage collects the data if the Java virtual machine needs to free up space. The AtomCache is thread-safe.
Field Summary | |
---|---|
static String |
CHAIN_NR_SYMBOL
|
static String |
CHAIN_SPLIT_SYMBOL
|
static String |
PDP_DOMAIN_IDENTIFIER
|
protected PDPProvider |
pdpprovider
|
static Pattern |
scopIDregex
|
static String |
UNDERSCORE
|
Constructor Summary | |
---|---|
AtomCache()
Default AtomCache constructor. |
|
AtomCache(String pdbFilePath,
boolean isSplit)
Creates an instance of an AtomCache that is pointed to the a particular path in the file system. |
|
AtomCache(UserConfiguration config)
Creates a new AtomCache object based on the provided UserConfiguration. |
Method Summary | |
---|---|
Atom[] |
getAtoms(String name)
Returns the CA atoms for the provided name. |
Atom[] |
getAtoms(String name,
boolean clone)
Deprecated. does the same as getAtoms(String) ; |
Structure |
getBiologicalAssembly(String pdbId,
int bioAssemblyId,
boolean bioAssemblyFallback)
Loads the biological assembly for a given PDB ID and bioAssemblyId. |
Structure |
getBiologicalUnit(String pdbId)
Loads the default biological unit (*.pdb1.gz) file. |
FileParsingParameters |
getFileParsingParams()
|
String |
getPath()
Get the path that is used to cache PDB files. |
PDPProvider |
getPdpprovider()
|
ScopDatabase |
getScopInstallation()
|
Structure |
getStructure(String name)
Request a Structure based on a name. |
Structure |
getStructureForDomain(ScopDomain domain)
Returns the representation of a ScopDomain as a BioJava Structure object |
boolean |
isAutoFetch()
Does the cache automatically download files that are missing from the local installation from the PDB FTP site? |
boolean |
isFetchCurrent()
N.B. This feature won't work unless the structure wasn't found & autoFetch is set to true . |
boolean |
isFetchFileEvenIfObsolete()
forces the cache to fetch the file if its status is OBSOLETE. |
boolean |
isSplit()
Is the organization of files within the directory split, as on the PDB FTP servers, or are all files contained in one directory. |
boolean |
isStrictSCOP()
Reports whether strict scop naming will be enforced, or whether this AtomCache should try to guess some simple variants on scop domains. |
void |
notifyShutdown()
Send a signal to the cache that the system is shutting down. |
void |
setAutoFetch(boolean autoFetch)
Does the cache automatically download files that are missing from the local installation from the PDB FTP site? |
void |
setFetchCurrent(boolean fetchNewestCurrent)
if enabled, the reader searches for the newest possible PDB ID, if not present in he local installation. |
void |
setFetchFileEvenIfObsolete(boolean fetchFileEvenIfObsolete)
N.B. This feature won't work unless the structure wasn't found & autoFetch is set to true . |
void |
setFileParsingParams(FileParsingParameters params)
|
void |
setPath(String path)
Set the path that is used to cache PDB files. |
void |
setPdpprovider(PDPProvider pdpprovider)
|
void |
setSplit(boolean isSplit)
Is the organization of files within the directory split, as on the PDB FTP servers, or are all files contained in one directory. |
void |
setStrictSCOP(boolean strictSCOP)
When strictSCOP is enabled, SCOP domain identifiers (eg 'd1gbga_') are matched literally to the SCOP database. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String CHAIN_NR_SYMBOL
public static final String UNDERSCORE
public static final String CHAIN_SPLIT_SYMBOL
protected PDPProvider pdpprovider
public static final String PDP_DOMAIN_IDENTIFIER
public static final Pattern scopIDregex
Constructor Detail |
---|
public AtomCache()
UserConfiguration.UserConfiguration()
public AtomCache(String pdbFilePath, boolean isSplit)
pdbFilePath
- a directory in the file system to use as a location to cache files.isSplit
- a flag to indicate if the directory organisation is "split" as on the PDB ftp servers, or if all files are contained in one directory.public AtomCache(UserConfiguration config)
config
- the UserConfiguration to use for this cache.Method Detail |
---|
public String getPath()
public void setPath(String path)
path
- to a directorypublic boolean isSplit()
public void setSplit(boolean isSplit)
isSplit
- flagpublic boolean isAutoFetch()
public void setAutoFetch(boolean autoFetch)
autoFetch
- flagpublic void setFetchFileEvenIfObsolete(boolean fetchFileEvenIfObsolete)
true
.
fetchFileEvenIfObsolete
- the fetchFileEvenIfObsolete to setpublic boolean isFetchFileEvenIfObsolete()
setFetchCurrent(boolean)
.true
.
fetchCurrent
public void setFetchCurrent(boolean fetchNewestCurrent)
setFetchFileEvenIfObsolete(boolean)
function has a higher priority than this function.true
.
fetchCurrent
- the fetchCurrent to setsetFetchFileEvenIfObsolete(boolean)
public boolean isFetchCurrent()
true
.
public boolean isStrictSCOP()
public void setStrictSCOP(boolean strictSCOP)
strictSCOP
- Indicates whether strict scop names should be used.public Structure getStructureForDomain(ScopDomain domain) throws IOException, StructureException
domain
- a scop domain
IOException
StructureException
public Atom[] getAtoms(String name) throws IOException, StructureException
getStructure(String)
for supported naming conventions.
name
-
IOException
StructureException
public Atom[] getAtoms(String name, boolean clone) throws IOException, StructureException
getAtoms(String)
;
getStructure(String)
for supported naming conventions.
name
- clone
- flag to make sure that the atoms are getting coned
IOException
StructureException
public Structure getStructure(String name) throws IOException, StructureException
Formal specification for how to specify the name: name := pdbID | pdbID '.' chainID | pdbID '.' range | scopID 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_] resNum := [-+]?[0-9]+[A-Za-z]? Example structures: 1TIM #whole structure 4HHB.C #single chain 4GCR.A_1-83 #one domain, by residue number 3AA0.A,B #two chains treated as one structure d2bq6a1 #scop domainWith the additional set of rules:
setStrictSCOP(boolean)
name
-
IOException
- The PDB file cannot be cached due to IO errors
StructureException
- The name appeared valid but did not correspond to a structure.
Also thrown by some submethods upon errors, eg for poorly formatted subranges.public ScopDatabase getScopInstallation()
public FileParsingParameters getFileParsingParams()
public void setFileParsingParams(FileParsingParameters params)
public Structure getBiologicalUnit(String pdbId) throws StructureException, IOException
pdbId
- the PDB ID
IOException
StructureException
public Structure getBiologicalAssembly(String pdbId, int bioAssemblyId, boolean bioAssemblyFallback) throws StructureException, IOException
pdbId
- the PDB IDbioAssemblyId
- the ID of the biological assemblybioAssemblyFallback
- if true, try reading original PDB file in case the biological assembly file is not available
IOException
StructureException
public void notifyShutdown()
public PDPProvider getPdpprovider()
public void setPdpprovider(PDPProvider pdpprovider)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |