Package org.biojava.nbio.structure.scop
Class ScopInstallation
- java.lang.Object
-
- org.biojava.nbio.structure.scop.ScopInstallation
-
- All Implemented Interfaces:
LocalScopDatabase
,ScopDatabase
- Direct Known Subclasses:
BerkeleyScopInstallation
public class ScopInstallation extends Object implements LocalScopDatabase
This class provides access to the SCOP protein structure classification. For more information about SCOP see here:- SCOP: http://scop.mrc-lmb.cam.ac.uk/scop/
- Introduction: http://scop.mrc-lmb.cam.ac.uk/scop/intro.html
- SCOP parsable files: http://scop.mrc-lmb.cam.ac.uk/scop/parse/
- Author:
- Andreas Prlic
-
-
Field Summary
Fields Modifier and Type Field Description static String
claFileName
static String
comFileName
static String
DEFAULT_VERSION
static String
desFileName
static String
FILESPLIT
static String
hieFileName
static String
SCOP_DOWNLOAD
static String
SCOP_DOWNLOAD_ALTERNATE
-
Constructor Summary
Constructors Constructor Description ScopInstallation()
Create a new SCOP installation, downloading the file to "the right place".ScopInstallation(String cacheLocation)
Create a new SCOP installation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMirror(String scopDownloadURL)
protected void
downloadClaFile()
protected void
downloadComFile()
protected void
downloadDesFile()
protected void
downloadFileFromRemote(URL remoteURL, File localFile)
protected void
downloadHieFile()
void
ensureClaInstalled()
void
ensureComInstalled()
void
ensureDesInstalled()
void
ensureHieInstalled()
List<ScopDescription>
filterByClassificationId(String query)
Get all scop descriptions that start with a classification ID, e.g. b.1.18List<ScopDescription>
filterByDescription(String query)
Get all scop descriptions that start with a certain name. e.g.List<ScopDomain>
filterByDomainName(String query)
search through SCOP and filter based on domain nameList<ScopDescription>
getByCategory(ScopCategory category)
Get all records of a particular classification.String
getCacheLocation()
protected String
getClaFilename()
protected String
getComFilename()
List<String>
getComments(int sunid)
Get comments about a SCOP domain by its sunidprotected String
getDesFilename()
ScopDomain
getDomainByScopID(String scopId)
get a ScopDomain by its SCOP ID (warning, they are not stable between releases!)List<ScopDomain>
getDomainsForPDB(String pdbId)
Get a list of ScopDomains that have been assigned to a PDB IDprotected String
getHieFilename()
List<ScopMirror>
getMirrors()
ScopDescription
getScopDescriptionBySunid(int sunid)
Return the SCOP description for a node in the hierarchy by its "sunid" id.List<ScopDomain>
getScopDomainsBySunid(Integer sunid)
Get a SCOP domain by its sunidScopNode
getScopNode(int sunid)
Access a particular ScopNode.String
getScopVersion()
Returns the SCOP versionList<ScopNode>
getTree(ScopDomain domain)
get the SCOP sub-tree for a particular domain.void
nullifyComments()
Removes all of the comments (dir.com file) in order to free memory.void
setCacheLocation(String cacheLocation)
void
setScopVersion(String scopVersion)
Sets the scop version used.
-
-
-
Field Detail
-
DEFAULT_VERSION
public static final String DEFAULT_VERSION
- See Also:
- Constant Field Values
-
claFileName
public static final String claFileName
- See Also:
- Constant Field Values
-
desFileName
public static final String desFileName
- See Also:
- Constant Field Values
-
hieFileName
public static final String hieFileName
- See Also:
- Constant Field Values
-
comFileName
public static final String comFileName
- See Also:
- Constant Field Values
-
SCOP_DOWNLOAD
public static final String SCOP_DOWNLOAD
- See Also:
- Constant Field Values
-
SCOP_DOWNLOAD_ALTERNATE
public static final String SCOP_DOWNLOAD_ALTERNATE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ScopInstallation
public ScopInstallation(String cacheLocation)
Create a new SCOP installation.- Parameters:
cacheLocation
- where the SCOP files are stored. If they can't be found at that location they will get automatically downloaded and installed there.
-
ScopInstallation
public ScopInstallation()
Create a new SCOP installation, downloading the file to "the right place". This will first check for system properties or environmental variables calledUserConfiguration.PDB_CACHE_DIR
, or else will use a temporary directory
-
-
Method Detail
-
nullifyComments
public void nullifyComments()
Removes all of the comments (dir.com file) in order to free memory. The file will need to be reloaded ifgetComments(int)
is called subsequently.
-
ensureClaInstalled
public void ensureClaInstalled() throws IOException
- Throws:
IOException
-
ensureDesInstalled
public void ensureDesInstalled() throws IOException
- Throws:
IOException
-
ensureComInstalled
public void ensureComInstalled() throws IOException
- Throws:
IOException
-
ensureHieInstalled
public void ensureHieInstalled() throws IOException
- Throws:
IOException
-
getByCategory
public List<ScopDescription> getByCategory(ScopCategory category)
Description copied from interface:ScopDatabase
Get all records of a particular classification.- Specified by:
getByCategory
in interfaceScopDatabase
- Parameters:
category
- e.g. "superfamily"- Returns:
- all records of this type
-
filterByClassificationId
public List<ScopDescription> filterByClassificationId(String query)
Description copied from interface:ScopDatabase
Get all scop descriptions that start with a classification ID, e.g. b.1.18- Specified by:
filterByClassificationId
in interfaceScopDatabase
- Returns:
- list of scop descriptions
-
getTree
public List<ScopNode> getTree(ScopDomain domain)
Description copied from interface:ScopDatabase
get the SCOP sub-tree for a particular domain.- Specified by:
getTree
in interfaceScopDatabase
- Returns:
- list of ScopNodes providing the path to this domain
-
filterByDomainName
public List<ScopDomain> filterByDomainName(String query)
Description copied from interface:ScopDatabase
search through SCOP and filter based on domain name- Specified by:
filterByDomainName
in interfaceScopDatabase
- Parameters:
query
- a (part) of a name- Returns:
- list of matchin ScopDomains
-
filterByDescription
public List<ScopDescription> filterByDescription(String query) throws ScopIOException
Description copied from interface:ScopDatabase
Get all scop descriptions that start with a certain name. e.g. Globin- Specified by:
filterByDescription
in interfaceScopDatabase
- Returns:
- list of scop descriptions
- Throws:
ScopIOException
-
getScopDescriptionBySunid
public ScopDescription getScopDescriptionBySunid(int sunid)
Description copied from interface:ScopDatabase
Return the SCOP description for a node in the hierarchy by its "sunid" id.- Specified by:
getScopDescriptionBySunid
in interfaceScopDatabase
- Returns:
- a ScopDescription object
-
getDomainsForPDB
public List<ScopDomain> getDomainsForPDB(String pdbId)
Description copied from interface:ScopDatabase
Get a list of ScopDomains that have been assigned to a PDB ID- Specified by:
getDomainsForPDB
in interfaceScopDatabase
- Parameters:
pdbId
- the PDB entry- Returns:
- a list of ScopDomains
-
getDomainByScopID
public ScopDomain getDomainByScopID(String scopId)
Description copied from interface:ScopDatabase
get a ScopDomain by its SCOP ID (warning, they are not stable between releases!)- Specified by:
getDomainByScopID
in interfaceScopDatabase
- Parameters:
scopId
- e.g. d2bq6a1- Returns:
- a ScopDomain or null if no domain with the particular ID could be found
-
getScopNode
public ScopNode getScopNode(int sunid)
Description copied from interface:ScopDatabase
Access a particular ScopNode. The scopNode then allows to traverse through the scop hierarchy...- Specified by:
getScopNode
in interfaceScopDatabase
- Parameters:
sunid
- the scop unique id- Returns:
- a ScopNode that matches this sunid
-
downloadClaFile
protected void downloadClaFile() throws FileNotFoundException, IOException
- Throws:
FileNotFoundException
IOException
-
downloadDesFile
protected void downloadDesFile() throws FileNotFoundException, IOException
- Throws:
FileNotFoundException
IOException
-
downloadHieFile
protected void downloadHieFile() throws IOException
- Throws:
IOException
-
downloadComFile
protected void downloadComFile() throws FileNotFoundException, IOException
- Throws:
FileNotFoundException
IOException
-
downloadFileFromRemote
protected void downloadFileFromRemote(URL remoteURL, File localFile) throws IOException
- Throws:
IOException
-
getClaFilename
protected String getClaFilename()
-
getDesFilename
protected String getDesFilename()
-
getHieFilename
protected String getHieFilename()
-
getComFilename
protected String getComFilename()
-
getCacheLocation
public String getCacheLocation()
-
setCacheLocation
public void setCacheLocation(String cacheLocation)
-
getScopVersion
public String getScopVersion()
Description copied from interface:ScopDatabase
Returns the SCOP version- Specified by:
getScopVersion
in interfaceScopDatabase
- Returns:
- version of SCOP
-
setScopVersion
public void setScopVersion(String scopVersion)
Description copied from interface:ScopDatabase
Sets the scop version used.- Specified by:
setScopVersion
in interfaceScopDatabase
-
getMirrors
public List<ScopMirror> getMirrors()
-
getScopDomainsBySunid
public List<ScopDomain> getScopDomainsBySunid(Integer sunid)
Description copied from interface:ScopDatabase
Get a SCOP domain by its sunid- Specified by:
getScopDomainsBySunid
in interfaceScopDatabase
- Parameters:
sunid
- the scop unique id- Returns:
- a list of scop domains that match this sunid
-
getComments
public List<String> getComments(int sunid)
Description copied from interface:ScopDatabase
Get comments about a SCOP domain by its sunid- Specified by:
getComments
in interfaceScopDatabase
- Returns:
-
-