Class 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
    • Constructor Detail

      • 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
        requestedVersion - ECOD requestedVersion to fetch
    • Method Detail

      • getDomainsForPdb

        public List<EcodDomain> getDomainsForPdb​(String id)
                                          throws 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:
        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
      • 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:
        urlFormat - the urlFormat to set
      • getCacheLocation

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

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

        public Integer 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
      • main

        public static void main​(String[] args)