Class EcodInstallation

  • All Implemented Interfaces:
    EcodDatabase

    public class EcodInstallation
    extends java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String DEFAULT_VERSION  
      static java.lang.String DOMAINS_PATH  
      static java.util.regex.Pattern ECOD_RE  
      static java.lang.String ECOD_URL  
    • Constructor Summary

      Constructors 
      Constructor Description
      EcodInstallation​(java.lang.String cacheLocation, java.lang.String version)
      Use EcodFactory to create instances.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Clears all domains, requiring the file to be reparsed for subsequent accesses
      void ensureDomainsFileInstalled()
      Blocks until ECOD domains file has been downloaded and parsed.
      java.util.List<EcodDomain> filterByHierarchy​(java.lang.String hierarchy)
      Get a list of domains within a particular level of the hierarchy
      java.util.List<EcodDomain> getAllDomains()
      Get all ECOD domains
      java.lang.String getCacheLocation()
      Get the location of the cache directory (usually set to the PDB_CACHE_DIR property).
      EcodDomain getDomainsById​(java.lang.String ecodId)
      Get a particular ECOD domain by the domain ID (e.g.
      java.util.List<EcodDomain> getDomainsForPdb​(java.lang.String pdbId)
      public EcodInstallation(String cacheLocation) { this( cacheLocation, DEFAULT_VERSION ); } /** Get a list of all ECOD domains for a particular PDB ID
      java.lang.String getUrl()
      Get the top-level ECOD server URL.
      java.lang.String getVersion()
      Return the ECOD version, as parsed from the file.
      static void main​(java.lang.String[] args)  
      void setCacheLocation​(java.lang.String cacheLocation)
      Set an alternate download location for files
      void setUrl​(java.lang.String url)
      Specify a different mirror for the ECOD server.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • ECOD_RE

        public static final java.util.regex.Pattern ECOD_RE
    • Constructor Detail

      • EcodInstallation

        public EcodInstallation​(java.lang.String cacheLocation,
                                java.lang.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
        requestedVersion - ECOD requestedVersion to fetch
    • Method Detail

      • getDomainsForPdb

        public java.util.List<EcodDomain> getDomainsForPdb​(java.lang.String pdbId)
                                                    throws java.io.IOException
        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:
        pdbId -
        Returns:
        the list of domains, or null if no matching domains were found
        Throws:
        java.io.IOException
      • filterByHierarchy

        public java.util.List<EcodDomain> filterByHierarchy​(java.lang.String hierarchy)
                                                     throws java.io.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:
        java.io.IOException
      • getDomainsById

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

        public java.util.List<EcodDomain> getAllDomains()
                                                 throws java.io.IOException
        Get all ECOD domains
        Specified by:
        getAllDomains in interface EcodDatabase
        Returns:
        Throws:
        java.io.IOException
      • clear

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

        public java.lang.String getVersion()
                                    throws java.io.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:
        java.io.IOException - If an error occurs while downloading or parsing the file
      • getUrl

        public java.lang.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​(java.lang.String url)
        Specify a different mirror for the ECOD server.
        Parameters:
        urlFormat - the urlFormat to set
      • getCacheLocation

        public java.lang.String 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​(java.lang.String cacheLocation)
        Set an alternate download location for files
        Parameters:
        cacheLocation -
      • ensureDomainsFileInstalled

        public void ensureDomainsFileInstalled()
                                        throws java.io.IOException
        Blocks until ECOD domains file has been downloaded and parsed. This may be useful in multithreaded environments.
        Throws:
        java.io.IOException
      • toString

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

        public static void main​(java.lang.String[] args)