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: This class can automatically download missing files from the SCOP classification.
Author:
Andreas Prlic
  • Field Details

  • Constructor Details

    • 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 called UserConfiguration.PDB_CACHE_DIR, or else will use a temporary directory
  • Method Details

    • nullifyComments

      public void nullifyComments()
      Removes all of the comments (dir.com file) in order to free memory. The file will need to be reloaded if getComments(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 interface ScopDatabase
      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 interface ScopDatabase
      Parameters:
      query -
      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 interface ScopDatabase
      Parameters:
      domain -
      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 interface ScopDatabase
      Parameters:
      query - a (part) of a name
      Returns:
      list of matchin ScopDomains
    • filterByDescription

      public List<ScopDescription> filterByDescription(String query)
      Description copied from interface: ScopDatabase
      Get all scop descriptions that start with a certain name. e.g. Globin
      Specified by:
      filterByDescription in interface ScopDatabase
      Parameters:
      query -
      Returns:
      list of scop descriptions
    • 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 interface ScopDatabase
      Parameters:
      sunid -
      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 interface ScopDatabase
      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 interface ScopDatabase
      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 interface ScopDatabase
      Parameters:
      sunid - the scop unique id
      Returns:
      a ScopNode that matches this sunid
    • downloadClaFile

      protected void downloadClaFile() throws IOException
      Throws:
      IOException
    • downloadDesFile

      protected void downloadDesFile() throws IOException
      Throws:
      IOException
    • downloadHieFile

      protected void downloadHieFile() throws IOException
      Throws:
      IOException
    • downloadComFile

      protected void downloadComFile() throws IOException
      Throws:
      IOException
    • downloadFileFromRemote

      protected void downloadFileFromRemote(URL remoteURL, File localFile) throws IOException
      Downloads the SCOP installation file +/- its validation metadata files.
      Parameters:
      remoteURL - The remote file to download
      localFile - the local file to download to
      Throws:
      IOException - in cases of file I/O, including failure to download a healthy (non-corrupted) file.
    • 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 interface ScopDatabase
      Returns:
      version of SCOP
    • setScopVersion

      public void setScopVersion(String scopVersion)
      Description copied from interface: ScopDatabase
      Sets the scop version used.
      Specified by:
      setScopVersion in interface ScopDatabase
      Parameters:
      scopVersion -
    • addMirror

      public void addMirror(String scopDownloadURL)
    • 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 interface ScopDatabase
      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 interface ScopDatabase
      Parameters:
      sunid -
      Returns: