Class Settings

java.lang.Object
fr.ens.biologie.genomique.eoulsan.Settings
All Implemented Interfaces:
Serializable

public final class Settings extends Object implements Serializable
This class define a settings class.
Since:
1.0
Author:
Laurent Jourdren
See Also:
  • Field Details

  • Method Details

    • isSetting

      public boolean isSetting(String key)
      Test if a setting key exists.
      Parameters:
      key - key to test
      Returns:
      true if the setting exist
    • isDebug

      public boolean isDebug()
      Test is the debug mode is enabled.
      Returns:
      true if the debug mode is enable
    • isPrintStackTrace

      public boolean isPrintStackTrace()
      Test is the debug mode is enabled.
      Returns:
      true if the debug mode is enable
    • getAWSAccessKey

      public String getAWSAccessKey()
      Get the AWS access key.
      Returns:
      the AWS access key
    • getAWSSecretKey

      public String getAWSSecretKey()
      Get the AWS secret key.
      Returns:
      the AWS secret key
    • getHadoopLogLevel

      public String getHadoopLogLevel()
      Get the Hadoop log level.
      Returns:
      the Hadoop log level
    • getClusterSchedulerName

      public String getClusterSchedulerName()
      Get the name of the cluster scheduler.
      Returns:
      the name of the cluster scheduler
    • getDefaultClusterMemoryRequired

      public int getDefaultClusterMemoryRequired()
      Get the default memory required for the steps in cluster mode.
      Returns:
      the default memory required for the cluster mode
    • isRServeServerEnabled

      public boolean isRServeServerEnabled()
      Test if RServe is enabled.
      Returns:
      true if the RServe server is enabled
    • isSaveRscripts

      public boolean isSaveRscripts()
      Test if save.r.script is true
      Returns:
      boolean with keep Rscripts values
    • getRServeServerName

      public String getRServeServerName()
      Get the RServe server name.
      Returns:
      The name of the RServe to use
    • isKeepRServeFiles

      public boolean isKeepRServeFiles()
      Test if save.r.keep.files is true
      Returns:
      boolean if the RServe files must be kept
    • getTempDirectory

      public String getTempDirectory()
      Get the temporary directory.
      Returns:
      The temporary directory
    • getTempDirectoryFile

      public File getTempDirectoryFile()
      Get the temporary directory File.
      Returns:
      The temporary directory as a File object
    • isUserDefinedTempDirectory

      public boolean isUserDefinedTempDirectory()
      Test if the temporary directory File has been defined by user.
      Returns:
      true id the temporary directory has defined by user
    • getExecutablesTempDirectory

      public String getExecutablesTempDirectory()
      Get the temporary directory for executables.
      Returns:
      The temporary directory for executables
    • getWorkingDirectory

      public String getWorkingDirectory()
      Get the working directory for executables.
      Returns:
      The working directory for executables
    • getExecutablesTempDirectoryFile

      public File getExecutablesTempDirectoryFile()
      Get the temporary directory File for executables.
      Returns:
      The temporary directory for executables as a File object
    • isObfuscateDesign

      public boolean isObfuscateDesign()
      Test if design must be obfuscated
      Returns:
      true if design must be obfuscated
    • isObfuscateDesignRemoveReplicateInfo

      public boolean isObfuscateDesignRemoveReplicateInfo()
      Test if replicate information must be removed from design.
      Returns:
      true if replicate information must be removed
    • getLocalThreadsNumber

      public int getLocalThreadsNumber()
      Get the number of threads to use in Steps computation in local mode.
      Returns:
      the number of threads to use
    • getDefaultFastqFormat

      public fr.ens.biologie.genomique.kenetre.bio.FastqFormat getDefaultFastqFormat()
      Get the default fastq format.
      Returns:
      the default fastq format
    • isBypassPlatformChecking

      public boolean isBypassPlatformChecking()
      Test if the platform checking must be avoided at Eoulsan startup.
      Returns:
      true if the platform checking must be avoided
    • getGenomeMapperIndexStoragePath

      public String getGenomeMapperIndexStoragePath()
      Get the genome mapper index storage path.
      Returns:
      the path to genome mapper index storage path
    • getGenomeDescStoragePath

      public String getGenomeDescStoragePath()
      Get the genome description storage path.
      Returns:
      the path to genome description storage path
    • getGenomeStoragePath

      public String getGenomeStoragePath()
      Get the genome storage path.
      Returns:
      the path to genome storage path
    • getGFFStoragePath

      public String getGFFStoragePath()
      Get the GFF storage path.
      Returns:
      the path to GFF storage path
    • getGTFStoragePath

      public String getGTFStoragePath()
      Get the GTF storage path.
      Returns:
      the path to GTF storage path
    • getAdditionalAnnotationStoragePath

      public String getAdditionalAnnotationStoragePath()
      Get the additional annotation storage path.
      Returns:
      the path to the additional annotation storage path
    • getAdditionalAnnotationHypertextLinksPath

      public String getAdditionalAnnotationHypertextLinksPath()
      Get the additional annotation hypertext links path.
      Returns:
      the additional annotation hypertext links path
    • isSendResultMail

      public boolean isSendResultMail()
      Test if an email must be sent at the end of the analysis.
      Returns:
      true if an email must be sent at the end of the analysis
    • getResultMail

      public String getResultMail()
      Get the mail address for eoulsan results.
      Returns:
      the mail address as a string
    • getSMTPHost

      public String getSMTPHost()
      Get the name of the SMTP server host.
      Returns:
      the name of the SMTP server host
    • getZooKeeperConnectString

      public String getZooKeeperConnectString()
      Get the ZooKeeper connect string.
      Returns:
      the ZooKeeper connect string
    • getZooKeeperDefaultPort

      public int getZooKeeperDefaultPort()
      Get the ZooKeeper default port.
      Returns:
      the ZooKeeper default port
    • getZooKeeperSessionTimeout

      public int getZooKeeperSessionTimeout()
      Get the ZooKeeper session timeout.
      Returns:
      the ZooKeeper session timeout
    • isUseOldEoulsanResultFormat

      public boolean isUseOldEoulsanResultFormat()
      Test if Eoulsan result files must be written using the old format.
      Returns:
      true if Eoulsan result files must be written using the old format
    • getUIName

      public String getUIName()
      Get the UI name.
      Returns:
      the UI name
    • getDockerBackend

      public String getDockerBackend()
      Get the Docker backend name.
      Returns:
      the docker connection string
    • getDockerConnection

      public String getDockerConnection()
      Get the Docker connection string.
      Returns:
      the docker connection string
    • isDockerBySingularityEnabled

      public boolean isDockerBySingularityEnabled()
      Is Docker features are enabled using singularity.
      Returns:
      true if the Docker features are enabled using Singularity
    • getDockerSingularityStoragePath

      public String getDockerSingularityStoragePath()
      Get the Docker singularity storage path.
      Returns:
      the path to GFF storage path
    • isDockerConnectionDefined

      public boolean isDockerConnectionDefined()
      Test if a Docker connection has been set.
      Returns:
      true if a Docker connection has been set
    • isDockerMountNFSRoots

      public boolean isDockerMountNFSRoots()
      Test if when use Docker, NFS roots must been mounted instead of file paths.
      Returns:
      true if if when use Docker, NFS roots must been mounted instead of file paths
    • getDockerConnectionURI

      public URI getDockerConnectionURI()
      Get the Docker connection URI.
      Returns:
      the docker connection URI
    • getDataFormatPaths

      public List<String> getDataFormatPaths()
      Get the format paths.
      Returns:
      the format path
    • getGalaxyToolPaths

      public List<String> getGalaxyToolPaths()
      Get the Galaxy tool path.
      Returns:
      the Galaxy tool path
    • getOutputTreeType

      public String getOutputTreeType()
      Get the output tree type.
      Returns:
      the output tree type
    • isSaveWorkflowImage

      public boolean isSaveWorkflowImage()
      Test if an image of the workflow must be saved.
      Returns:
      true if an image of the workflow must be saved
    • isUseStandardExternalModules

      public boolean isUseStandardExternalModules()
      Test if standard external modules must be used.
      Returns:
      true if standard external modules must be used
    • getSetting

      public String getSetting(String settingName)
      Get a setting value.
      Parameters:
      settingName - setting name
      Returns:
      settingName value as a String
    • getIntSetting

      public int getIntSetting(String settingName) throws EoulsanException
      Get the value of the setting as a integer value.
      Parameters:
      settingName - setting name
      Returns:
      the value of the setting as an integer
      Throws:
      EoulsanException - if the value is not an integer
    • getDoubleSetting

      public double getDoubleSetting(String settingName) throws EoulsanException
      Get the value of the setting as a double value.
      Parameters:
      settingName - setting name
      Returns:
      the value of the setting as an double
      Throws:
      EoulsanException - if the value is not an double
    • getBooleanSetting

      public boolean getBooleanSetting(String settingName)
      Get the value of the setting as a boolean value.
      Parameters:
      settingName - setting name
      Returns:
      the value of the setting as an integer
    • getSettingsNames

      public Set<String> getSettingsNames()
      Get a set of settings names.
      Returns:
      a set with all the name of the settings
    • setDebug

      public void setDebug(boolean debug)
      Set the debug setting.
      Parameters:
      debug - value of the debug setting
    • setPrintStackTrace

      public void setPrintStackTrace(boolean printStackTrace)
      Set the print stack trace setting.
      Parameters:
      printStackTrace - value of the print stack trace setting
    • setAWSAccessKey

      public void setAWSAccessKey(String value)
      Set the AWS access key.
      Parameters:
      value - the AWS access key
    • setAWSSecretKey

      public void setAWSSecretKey(String value)
      Set the AWS secret key.
      Parameters:
      value - the AWS secret key
    • setHadoopLogLevel

      public void setHadoopLogLevel(String value)
      Set the Hadoop log level.
      Parameters:
      value - the HAdoop log level
    • setClusterSchedulerName

      public void setClusterSchedulerName(String schedulerName)
      Set the name of the cluster scheduler.
      Parameters:
      schedulerName - the name of the cluster scheduler
    • setDefaultClusterMemoryRequired

      public void setDefaultClusterMemoryRequired(int memory)
      Set the default memory required for the steps in cluster mode.
      Parameters:
      memory - the required memory
    • setRServeServerEnabled

      public void setRServeServerEnabled(boolean enable)
      Set if RServe is enabled.
      Parameters:
      enable - true if the RServe server is enable
    • setSaveRscript

      public void setSaveRscript(boolean krs)
      Set if save Rscripts is true
      Parameters:
      krs - boolean
    • setKeepRServeFiles

      public void setKeepRServeFiles(boolean keepRServeFiles)
      Set if save Rscripts is true
      Parameters:
      keepRServeFiles - true if Rserve file must be kept
    • setRServeServerName

      public void setRServeServerName(String serverName)
      Set the RServe server name.
      Parameters:
      serverName - The name of the RServe to use
    • setTempDirectory

      public void setTempDirectory(String tempDirectory)
      Set the temporary directory.
      Parameters:
      tempDirectory - The path to the temporary directory
    • setExecutablesTempDirectory

      public void setExecutablesTempDirectory(String executablesTempDirectory)
      Set the temporary directory for executables.
      Parameters:
      executablesTempDirectory - The path to the temporary directory for executables
    • setWorkingDirectory

      public void setWorkingDirectory(String workingDirectory)
      Set the working directory.
      Parameters:
      workingDirectory - The path to the working directory
    • setObfuscateDesign

      public void setObfuscateDesign(boolean obfuscate)
      Set if the design must be obfuscated
      Parameters:
      obfuscate - true if the design must be obfuscated
    • setObfuscateRemoveDesignInfo

      public void setObfuscateRemoveDesignInfo(boolean remove)
      Set if the replicate information must be removed from the design.
      Parameters:
      remove - true if the replicate information must be remove
    • setLocalThreadsNumber

      public void setLocalThreadsNumber(int threadsNumber)
      Set the number of threads to use in local mode.
      Parameters:
      threadsNumber - the number of threads to use in local mode
    • setDefaultFastqFormat

      public void setDefaultFastqFormat(fr.ens.biologie.genomique.kenetre.bio.FastqFormat format)
      Set the Fastq format default value.
      Parameters:
      format - the value to set
    • setBypassPlatformChecking

      public void setBypassPlatformChecking(boolean bypass)
      Set if the platform checking must be avoided.
      Parameters:
      bypass - true to bypass the platform checking
    • setGenomeMapperIndexStoragePath

      public void setGenomeMapperIndexStoragePath(String genomeMapperIndexStoragePath)
      Set the genome index storage path.
      Parameters:
      genomeMapperIndexStoragePath - the path to genome index storage path
    • setGenomeDescStoragePath

      public void setGenomeDescStoragePath(String genomeDescStoragePath)
      Set the genome description storage path.
      Parameters:
      genomeDescStoragePath - the path to genome index storage path
    • setGenomeStoragePath

      public void setGenomeStoragePath(String genomeStoragePath)
      Set the genome storage path.
      Parameters:
      genomeStoragePath - the path to genome index storage path
    • setGFFStoragePath

      public void setGFFStoragePath(String gffStoragePath)
      Set the GFF storage path.
      Parameters:
      gffStoragePath - the path to GFF index storage path
    • setGTFStoragePath

      public void setGTFStoragePath(String gtfStoragePath)
      Set the GTF storage path.
      Parameters:
      gtfStoragePath - the path to GTF index storage path
    • setAdditionalAnnotationStoragePath

      public void setAdditionalAnnotationStoragePath(String additionalAnnotationStoragePath)
      Set the additional annotation storage path.
      Parameters:
      additionalAnnotationStoragePath - the path to the additional annotation index storage path
    • setAdditionalAnnotationHypertextLinksPath

      public void setAdditionalAnnotationHypertextLinksPath(String additionalAnnotationHypertextLinksPath)
      Set the additional annotation hypertext links path.
      Parameters:
      additionalAnnotationHypertextLinksPath - the path to the additional annotation hypertext links path
    • setSendResultMail

      public void setSendResultMail(boolean enableSendResultMail)
      Set if an email must be sent at the end of the analysis.
      Parameters:
      enableSendResultMail - true if an email must be sent at the end of the analysis
    • setResultMail

      public void setResultMail(String mail)
      Set the mail address for eoulsan results.
      Parameters:
      mail - the mail address as a string
    • setSMTPHost

      public void setSMTPHost(String smtpHost)
      Set the SMTP server host.
      Parameters:
      smtpHost - the name of the SMTP server host
    • setZooKeeperConnectString

      public void setZooKeeperConnectString(String connectString)
      Set the ZooKeeper connect string.
      Parameters:
      connectString - the ZooKeeper connect string
    • setZooKeeperDefaultPort

      public void setZooKeeperDefaultPort(int port)
      Set the ZooKeeper default port.
      Parameters:
      port - the ZooKeeper default port
    • setZooKeeperSessionTimeout

      public void setZooKeeperSessionTimeout(int timeout)
      Set the ZooKeeper session timeout.
      Parameters:
      timeout - the ZooKeeper session timeout
    • setUseOldEoulsanResultFormat

      public void setUseOldEoulsanResultFormat(boolean useOldEoulsanResultFormat)
      Set if Eoulsan result files must be written using the old format.
      Parameters:
      useOldEoulsanResultFormat - true if Eoulsan result files must be written using the old format
    • setUIName

      public void setUIName(String uiName)
      Set the UI name.
      Parameters:
      uiName - the UI name
    • setDockerBackEnd

      public void setDockerBackEnd(String backend)
      Set the Docker URI.
      Parameters:
      backend - the Docker back-end
    • setDockerConnectionURI

      public void setDockerConnectionURI(String uri)
      Set the Docker URI.
      Parameters:
      uri - the Docker URI
    • setDockerBySingularityEnabled

      public void setDockerBySingularityEnabled(boolean enabled)
      Enable Docker features using Singularity
      Parameters:
      enabled - true to enable the feature
    • setDockerSingularityStoragePath

      public void setDockerSingularityStoragePath(String storagePath)
      Set the Docker singularity storage path.
      Parameters:
      storagePath - the path to Docker singularity storage path
    • setDockerMountNFSRoots

      public void setDockerMountNFSRoots(boolean enable)
      Set if when use Docker, NFS roots must been mounted instead of file paths.
      Parameters:
      enable - the value of the parameter
    • setDataFormatPath

      public void setDataFormatPath(String path)
      Set the format path.
      Parameters:
      path - the format
    • setDataFormatPaths

      public void setDataFormatPaths(List<String> paths)
      Set the data format paths
      Parameters:
      paths - the path to set
    • setGalaxyToolPath

      public void setGalaxyToolPath(String path)
      Set the Galaxy tool path.
      Parameters:
      path - the format
    • setGalaxyToolsPaths

      public void setGalaxyToolsPaths(List<String> paths)
      Set the Galaxy tools paths
      Parameters:
      paths - the path to set
    • setOutputTreeType

      public void setOutputTreeType(String outputTreeType)
      Set the output tree type.
      Parameters:
      outputTreeType - the output tree type
    • setSaveWorkflowImage

      public void setSaveWorkflowImage(boolean save)
      Set if an image of the workflow must be saved.
      Parameters:
      save - the value
    • setUseStandardExternalModules

      public void setUseStandardExternalModules(boolean enable)
      Set if standard external modules must be used.
      Parameters:
      enable - the value
    • setSetting

      public void setSetting(String settingName, String settingValue)
      Set a setting value.
      Parameters:
      settingName - name of the setting to set
      settingValue - value of the setting to set
    • setSetting

      public void setSetting(String settingName, String settingValue, boolean logChange)
      Set a setting value.
      Parameters:
      settingName - name of the setting to set
      settingValue - value of the setting to set
      logChange - if true the change will be logged
    • getConfigurationFilePath

      public static String getConfigurationFilePath()
      Get the configuration file path.
      Returns:
      the configuration file path
    • getJavaMailSMTPProperties

      public Properties getJavaMailSMTPProperties()
      Create a property object for javamail smtp configuration from the settings.
      Returns:
      a property object
    • saveSettings

      public void saveSettings() throws IOException
      Save application options.
      Throws:
      IOException - if an error occurs while writing results
    • saveSettings

      public void saveSettings(File file) throws IOException
      Save application options.
      Parameters:
      file - File to save
      Throws:
      IOException - if an error occurs while writing settings
    • saveSettings

      public void saveSettings(Path file) throws IOException
      Save application options.
      Parameters:
      file - File to save
      Throws:
      IOException - if an error occurs while writing settings
    • loadSettings

      public void loadSettings() throws IOException, EoulsanException
      Load application options.
      Throws:
      IOException - if an error occurs while reading settings
      EoulsanException - if an invalid key is found in configuration file
    • loadSettings

      public void loadSettings(File file) throws IOException, EoulsanException
      Load application options.
      Parameters:
      file - file to save
      Throws:
      IOException - if an error occurs while reading the file
      EoulsanException - if an invalid key is found in configuration file
    • loadSettings

      public void loadSettings(Path file) throws IOException, EoulsanException
      Load application options.
      Parameters:
      file - file to save
      Throws:
      IOException - if an error occurs while reading the file
      EoulsanException - if an invalid key is found in configuration file
    • setSettings

      public void setSettings(Settings settings)
      Set the values of the settings with another Settings object.
      Parameters:
      settings - Settings object which values must be set in the current object
    • logSettings

      public void logSettings()
      Add all the settings to the log.
    • getSettingsKeyToObfuscated

      public Set<String> getSettingsKeyToObfuscated()
      Get a set with the names of the settings to obfuscate.
      Returns:
      a set of strings with the name of the settings to obfuscate
    • toString

      public String toString()
      Overrides:
      toString in class Object