Class EcodInstallation

java.lang.Object
org.biojava.nbio.structure.ecod.EcodInstallation
All Implemented Interfaces:
EcodDatabase

public class EcodInstallation extends Object implements EcodDatabase
Provides access to the Evolutionary Classification of Protein Domains (ECOD). The preferred mechanism for obtaining instances of this class is through the EcodFactory class. Reference: H. Cheng, R. D. Schaeffer, Y. Liao, L. N. Kinch, J. Pei, S. Shi, B. H.\ Kim, N. V. Grishin. (2014) ECOD: An evolutionary classification of protein domains. PLoS Comput Biol 10(12): e1003926. http://prodata.swmed.edu/ecod/
Author:
Spencer Bliven
  • Field Details

  • Constructor Details

    • EcodInstallation

      public EcodInstallation(String cacheLocation, String version)
      Use EcodFactory to create instances. The instantiation of multiple installations at the same path can lead to race conditions when downloading files.
      Parameters:
      cacheLocation - Location to save files, typically from the PDB_CACHE_DIR parameter
      version - ECOD requestedVersion to fetch
    • EcodInstallation

      See Also:
  • Method Details

    • getDomainsForPdb

      public EcodInstallation(String cacheLocation) { this( cacheLocation, DEFAULT_VERSION ); } /** Get a list of all ECOD domains for a particular PDB ID
      Specified by:
      getDomainsForPdb in interface EcodDatabase
      Parameters:
      id -
      Returns:
      the list of domains, or null if no matching domains were found
      Throws:
      IOException
    • filterByHierarchy

      public List<EcodDomain> filterByHierarchy(String hierarchy) throws IOException
      Get a list of domains within a particular level of the hierarchy
      Specified by:
      filterByHierarchy in interface EcodDatabase
      Parameters:
      hierarchy - A dot-separated list giving the X-group, H-group, and/or T-group (e.g. "1.1" for all members of the RIFT-related H-group)
      Returns:
      Throws:
      IOException
    • getDomainsById

      public EcodDomain getDomainsById(String ecodId) throws IOException
      Get a particular ECOD domain by the domain ID (e.g. "e4hhbA1")
      Specified by:
      getDomainsById in interface EcodDatabase
      Parameters:
      ecodId -
      Returns:
      Throws:
      IOException
    • getAllDomains

      Get all ECOD domains
      Specified by:
      getAllDomains in interface EcodDatabase
      Returns:
      Throws:
      IOException
    • clear

      public void clear()
      Clears all domains, requiring the file to be reparsed for subsequent accesses
    • getVersion

      public String getVersion() throws IOException
      Return the ECOD version, as parsed from the file. Note that this may differ from the version requested in the constructor for the special case of "latest"
      Specified by:
      getVersion in interface EcodDatabase
      Returns:
      the ECOD version
      Throws:
      IOException - If an error occurs while downloading or parsing the file
    • getUrl

      public String getUrl()
      Get the top-level ECOD server URL. Defaults to "http://prodata.swmed.edu"
      Returns:
      the url to the ecod server
    • setUrl

      public void setUrl(String url)
      Specify a different mirror for the ECOD server.
      Parameters:
      url - the urlFormat to set
    • getCacheLocation

      Get the location of the cache directory (usually set to the PDB_CACHE_DIR property). ECOD files will be downloaded to this directory
      Returns:
    • setCacheLocation

      public void setCacheLocation(String cacheLocation)
      Set an alternate download location for files
      Parameters:
      cacheLocation -
    • ensureDomainsFileInstalled

      Blocks until ECOD domains file has been downloaded and parsed. This may be useful in multithreaded environments.
      Throws:
      IOException
    • getUpdateFrequency

      The expected ECOD update frequency determines whether the version "latest" should be re-downloaded
      Returns:
      the expected ECOD update frequency, in days
    • setUpdateFrequency

      public void setUpdateFrequency(Integer updateFrequency)
      The "latest" version will be re-downloaded if it is older than getUpdateFrequency() days. Setting this to null disables re-downloading (delete $PDB_CACHE_DIR/ecod.latest.domains.txt manually to force updating). Setting to 0 will force downloading for every program execution.
      Parameters:
      updateFrequency - the updateFrequency to set
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • main

      public static void main(String[] args)