Class DownloadChemCompProvider

java.lang.Object
org.biojava.nbio.structure.chem.DownloadChemCompProvider
All Implemented Interfaces:
ChemCompProvider

public class DownloadChemCompProvider extends Object implements ChemCompProvider
This provider of chemical components can download and cache chemical component definition files from the RCSB PDB web site. It is the default way to access these definitions. If this provider is called he first time, it will download and install all chemical component definitions in a local directory. Once the definition files have been installed, it has quick startup time and low memory requirements. An alternative provider, that keeps all definitions in memory is the AllChemCompProvider. Another provider, that does not require any network access, but only can support a limited set of chemical component definitions, is the ReducedChemCompProvider.
Author:
Andreas Prlic
  • Field Details

  • Constructor Details

  • Method Details

    • setServerBaseUrl

      public static void setServerBaseUrl(String serverBaseUrl)
      Set the base URL for the location of all chemical component CIF files, to which the chemCompPathUrlTemplate is appended, settable in setChemCompPathUrlTemplate(String). A trailing slash is appended if not present.
    • setChemCompPathUrlTemplate

      public static void setChemCompPathUrlTemplate(String chemCompPathUrlTemplate)
      Set the path to append to the serverBaseUrl (settable in setServerBaseUrl(String)). The string can contain placeholders that will be expanded at runtime:
      • "{ccd_id}" to be replaced by the chemical component identifier, in capitals
      • "{ccd_id:beginIndex-endIndex}" to be replaced by a substring of the chemical component identifier in capitals, with indices following the same convention as String.substring(int, int)
      • "{ccd_id:index}" to be replaced by a substring of the chemical component identifier in capitals, with index either a positive or negative integer to substring from left or right of the string respectively.
      If any of the indices are off-bounds, then the full chemical component identifier is replaced
    • getPath

      public static File getPath()
      Get this provider's cache path
      Returns:
    • checkDoFirstInstall

      public void checkDoFirstInstall()
      Checks if the chemical components already have been installed into the PDB directory. If not, will download the chemical components definitions file and split it up into small subfiles.
    • getChemComp

      public ChemComp getChemComp(String recordName)
      Loads the definitions for this ChemComp from a local file and instantiates a new object.
      Specified by:
      getChemComp in interface ChemCompProvider
      Parameters:
      recordName - the ID of the ChemComp
      Returns:
      a new ChemComp definition.
    • getLocalFileName

      public static String getLocalFileName(String recordName)
      Returns the file name that contains the definition for this ChemComp
      Parameters:
      recordName - the ID of the ChemComp
      Returns:
      full path to the file
    • isDownloadAll

      public boolean isDownloadAll()
      By default this provider will download only some of the ChemComp files. The user has to request that all files should be downloaded by setting this parameter to true.
      Returns:
      flag if the all components should be downloaded and installed at startup. (default: false)
    • setDownloadAll

      public void setDownloadAll(boolean downloadAll)
      By default this provider will download only some of the ChemComp files. The user has to request that all files should be downloaded by setting this parameter to true.
      Parameters:
      downloadAll - if the all components should be downloaded and installed at startup. (default: false)