OptionManagement
Date: 2014-08-08

melting.configuration

## Class OptionManagement

- java.lang.Object
- - melting.configuration.OptionManagement

-     public class OptionManagement
      extends java.lang.Object

  This class contains all the methods necessary to manage the options entered by the user. It registers also all the possible options names, Melting version number, pathway of the data files, default options, meltingLogger Logger, etc...

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `approximativeMode` Option name for the choice of approximative computation method.
    `static java.lang.String` | `azobenzeneMethod` Option name for the choice of azobenzene computation method.
    `static java.lang.String` | `CNGMethod` Option name for the choice of CNG repeats computation method.
    `static java.lang.String` | `complementarySequence` Option name for the complementary sequence (3'5').
    `static java.lang.String` | `dataPathway` Option name for the default melting data files pathway.
    `static java.lang.String` | `dataPathwayValue` String dataPathwayValue : default Melting data file pathway.
    `static java.lang.String` | `DMSOCorrection` Option name for the choice of DMSO correction computation method.
    `static java.lang.String` | `doubleDanglingEndMethod` Option name for the choice of double dangling end computation method.
    `static java.lang.String` | `factor` Option name for the oligomer concentration correction factor.
    `static java.lang.String` | `formamideCorrection` Option name for the choice of formamide correction computation method.
    `static java.lang.String` | `globalMethod` Option name for the choice of computation method (approximative "-A" or nearest neighbor "-NN").
    `static java.lang.String` | `hybridization` Option name for the type of hybridization.
    `static java.lang.String` | `hydroxyadenineMethod` Option name for the choice of hydroxyadenine computation method.
    `static java.lang.String` | `inosineMethod` Option name for the choice of inosine computation method.
    `static java.lang.String` | `internalLoopMethod` Option name for the choice of internal loop computation method.
    `static java.lang.String` | `ionCorrection` Option name for the choice of ion correction method.
    `static java.lang.String` | `legalInformation` Option name for the melting legal information.
    `static java.lang.String` | `lockedAcidMethod` Option name for the choice of locked nucleic acid computation method.
    `static java.lang.String` | `lockedAcidSingleMismatchMethod` Option name for the choice of locked nucleic acid with single mismatch computation method.
    `static java.lang.String` | `longBulgeLoopMethod` Option name for the choice of long bulge loop computation method.
    `static java.lang.String` | `longDanglingEndMethod` Option name for the choice of long dangling end computation method.
    `static java.lang.String` | `meltingHelp` Option name for the melting help documentation.
    `static java.lang.String` | `meltingHelpAlt` Alternative option name for the melting help documentation.
    `static java.lang.String` | `NaEquivalentMethod` Option name for the choice of sodium equivalence method.
    `static java.lang.String` | `NN_Path` Option name for the data file pathway.
    `static java.lang.String` | `NNMethod` Option name for the choice of nearest neighbor computation method.
    `static java.lang.String` | `nucleotides` Option name for the oligomer concentration (mol/L).
    `static java.lang.String` | `outPutFile` Option name to print the melting results in an output file.
    `static java.lang.String` | `selfComplementarity` Option name to precise the self complementarity of the sequences.
    `static java.lang.String` | `sequence` Option name for the sequence (5'3').
    `static java.lang.String` | `singleBulgeLoopMethod` Option name for the choice of single bulge loop computation method.
    `static java.lang.String` | `singleDanglingEndMethod` Option name for the choice of single dangling end computation method.
    `static java.lang.String` | `singleMismatchMethod` Option name for the choice of single mismatch computation method.
    `static java.lang.String` | `solutioncomposition` Option name for the different ion and agent concentrations (mol/L).
    `static java.lang.String` | `tandemLockedAcidMethod` Option name for the choice of tandem locked nucleic acid computation method.
    `static java.lang.String` | `tandemMismatchMethod` Option name for the choice of tandem mismatches computation method.
    `static java.lang.String` | `threshold` Option name for the threshold value.
    `static java.lang.String` | `verboseMode` Option name to activate the verbose mode.
    `static java.lang.String` | `versionNumber` Option name for the current melting version number.
    `static java.lang.String` | `wobbleBaseMethod` Option name for the choice of GU base pairs computation method.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `OptionManagement()` creates an OptionManagement object.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Environment` | `createEnvironment(java.lang.String[] args)` collects the options entered by the user and creates an Environment from them.
    `java.util.HashMap<java.lang.String,java.lang.String>` | `getDNADefaultOptions()` This method is called to get the DNADefaultOptions of OptionManagement.
    `java.util.HashMap<java.lang.String,java.lang.String>` | `getHybridDefaultOptions()` This method is called to get the hybridDefaultOptions of OptionManagement.
    `java.util.HashMap<java.lang.String,java.lang.String>` | `getMRNADefaultOptions()` This method is called to get the mRNADefaultOptions of OptionManagement.
    `java.util.HashMap<java.lang.String,java.lang.String>` | `getRNADefaultOptions()` This method is called to get the RNADefaultOptions of OptionManagement.
    `void` | `initialiseLogger()` initialises the meltingLogger.
    `boolean` | `isMeltingInformationOption(java.lang.String[] args)` to check if the user just wants to know some information about melting.
    `static void` | `logError(java.lang.String errorText)` Logs an error to the melting logger.
    `static void` | `logError(java.lang.String errorText, java.lang.Throwable throwable)` Logs an error message to the melting logger, along with the error itself.
    `static void` | `logFileName(java.lang.String fileName)` Logs a file name to the melting logger.
    `static void` | `logInfo(java.lang.String infoText)` Logs information to the melting logger.
    `static void` | `logMessage(java.lang.String messageText)` Logs a message to the melting logger.
    `static void` | `logMethodName(java.lang.String methodName)` Logs the name of a method to the melting logger.
    `static void` | `logTemperatureEquation(java.lang.String temperatureEquation)` Logs a temperature equation to the melting logger.
    `static void` | `logWarning(java.lang.String warningText)` Logs a warning to the melting logger.
    `void` | `readMeltingHelp()` displays Melting help documentation.
    `void` | `readOptions(java.lang.String[] args)` if at least one of the options entered by the user is an option to display some information about Melting, the requested information is displayed.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### meltingHelp

          public static final java.lang.String meltingHelp

      Option name for the melting help documentation.
      See Also:
        Constant Field Values

    - #### meltingHelpAlt

          public static final java.lang.String meltingHelpAlt

      Alternative option name for the melting help documentation.
      See Also:
        Constant Field Values

    - #### legalInformation

          public static final java.lang.String legalInformation

      Option name for the melting legal information.
      See Also:
        Constant Field Values

    - #### dataPathway

          public static final java.lang.String dataPathway

      Option name for the default melting data files pathway.
      See Also:
        Constant Field Values

    - #### versionNumber

          public static final java.lang.String versionNumber

      Option name for the current melting version number.
      See Also:
        Constant Field Values

    - #### globalMethod

          public static final java.lang.String globalMethod

      Option name for the choice of computation method (approximative "-A" or nearest neighbor "-NN").
      See Also:
        Constant Field Values

    - #### approximativeMode

          public static final java.lang.String approximativeMode

      Option name for the choice of approximative computation method.
      See Also:
        Constant Field Values

    - #### NNMethod

          public static final java.lang.String NNMethod

      Option name for the choice of nearest neighbor computation method.
      See Also:
        Constant Field Values

    - #### singleMismatchMethod

          public static final java.lang.String singleMismatchMethod

      Option name for the choice of single mismatch computation method.
      See Also:
        Constant Field Values

    - #### wobbleBaseMethod

          public static final java.lang.String wobbleBaseMethod

      Option name for the choice of GU base pairs computation method.
      See Also:
        Constant Field Values

    - #### tandemMismatchMethod

          public static final java.lang.String tandemMismatchMethod

      Option name for the choice of tandem mismatches computation method.
      See Also:
        Constant Field Values

    - #### internalLoopMethod

          public static final java.lang.String internalLoopMethod

      Option name for the choice of internal loop computation method.
      See Also:
        Constant Field Values

    - #### singleDanglingEndMethod

          public static final java.lang.String singleDanglingEndMethod

      Option name for the choice of single dangling end computation method.
      See Also:
        Constant Field Values

    - #### doubleDanglingEndMethod

          public static final java.lang.String doubleDanglingEndMethod

      Option name for the choice of double dangling end computation method.
      See Also:
        Constant Field Values

    - #### longDanglingEndMethod

          public static final java.lang.String longDanglingEndMethod

      Option name for the choice of long dangling end computation method.
      See Also:
        Constant Field Values

    - #### singleBulgeLoopMethod

          public static final java.lang.String singleBulgeLoopMethod

      Option name for the choice of single bulge loop computation method.
      See Also:
        Constant Field Values

    - #### longBulgeLoopMethod

          public static final java.lang.String longBulgeLoopMethod

      Option name for the choice of long bulge loop computation method.
      See Also:
        Constant Field Values

    - #### CNGMethod

          public static final java.lang.String CNGMethod

      Option name for the choice of CNG repeats computation method.
      See Also:
        Constant Field Values

    - #### inosineMethod

          public static final java.lang.String inosineMethod

      Option name for the choice of inosine computation method.
      See Also:
        Constant Field Values

    - #### hydroxyadenineMethod

          public static final java.lang.String hydroxyadenineMethod

      Option name for the choice of hydroxyadenine computation method.
      See Also:
        Constant Field Values

    - #### azobenzeneMethod

          public static final java.lang.String azobenzeneMethod

      Option name for the choice of azobenzene computation method.
      See Also:
        Constant Field Values

    - #### lockedAcidMethod

          public static final java.lang.String lockedAcidMethod

      Option name for the choice of locked nucleic acid computation method.
      See Also:
        Constant Field Values

    - #### tandemLockedAcidMethod

          public static final java.lang.String tandemLockedAcidMethod

      Option name for the choice of tandem locked nucleic acid computation method.
      See Also:
        Constant Field Values

    - #### lockedAcidSingleMismatchMethod

          public static final java.lang.String lockedAcidSingleMismatchMethod

      Option name for the choice of locked nucleic acid with single mismatch computation method.
      See Also:
        Constant Field Values

    - #### sequence

          public static final java.lang.String sequence

      Option name for the sequence (5'3'). Mandatory
      See Also:
        Constant Field Values

    - #### complementarySequence

          public static final java.lang.String complementarySequence

      Option name for the complementary sequence (3'5'). Not always mandatory.
      See Also:
        Constant Field Values

    - #### solutioncomposition

          public static final java.lang.String solutioncomposition

      Option name for the different ion and agent concentrations (mol/L). Mandatory
      See Also:
        Constant Field Values

    - #### nucleotides

          public static final java.lang.String nucleotides

      Option name for the oligomer concentration (mol/L). Mandatory
      See Also:
        Constant Field Values

    - #### hybridization

          public static final java.lang.String hybridization

      Option name for the type of hybridization. Mandatory
      See Also:
        Constant Field Values

    - #### ionCorrection

          public static final java.lang.String ionCorrection

      Option name for the choice of ion correction method.
      See Also:
        Constant Field Values

    - #### NaEquivalentMethod

          public static final java.lang.String NaEquivalentMethod

      Option name for the choice of sodium equivalence method.
      See Also:
        Constant Field Values

    - #### DMSOCorrection

          public static final java.lang.String DMSOCorrection

      Option name for the choice of DMSO correction computation method.
      See Also:
        Constant Field Values

    - #### formamideCorrection

          public static final java.lang.String formamideCorrection

      Option name for the choice of formamide correction computation method.
      See Also:
        Constant Field Values

    - #### verboseMode

          public static final java.lang.String verboseMode

      Option name to activate the verbose mode.
      See Also:
        Constant Field Values

    - #### threshold

          public static final java.lang.String threshold

      Option name for the threshold value.
      See Also:
        Constant Field Values

    - #### NN_Path

          public static final java.lang.String NN_Path

      Option name for the data file pathway.
      See Also:
        Constant Field Values

    - #### outPutFile

          public static final java.lang.String outPutFile

      Option name to print the melting results in an output file.
      See Also:
        Constant Field Values

    - #### selfComplementarity

          public static final java.lang.String selfComplementarity

      Option name to precise the self complementarity of the sequences.
      See Also:
        Constant Field Values

    - #### factor

          public static final java.lang.String factor

      Option name for the oligomer concentration correction factor.
      See Also:
        Constant Field Values

    - #### dataPathwayValue

          public static java.lang.String dataPathwayValue

      String dataPathwayValue : default Melting data file pathway. (files containing the thermodynamic parameters.)

  - ### Constructor Detail

    - #### OptionManagement

          public OptionManagement()

      creates an OptionManagement object. initialises the default options, variables, etc.

  - ### Method Detail

    - #### readMeltingHelp

          public void readMeltingHelp()

      displays Melting help documentation. If a FileNotFoundException or a IOException is caught, a FileException is thrown.

    - #### initialiseLogger

          public void initialiseLogger()

      initialises the meltingLogger.

    - #### getDNADefaultOptions

          public java.util.HashMap<java.lang.String,java.lang.String> getDNADefaultOptions()

      This method is called to get the DNADefaultOptions of OptionManagement.
      Returns:
        the DNADefaultOptions of OptionManagement.

    - #### getRNADefaultOptions

          public java.util.HashMap<java.lang.String,java.lang.String> getRNADefaultOptions()

      This method is called to get the RNADefaultOptions of OptionManagement.
      Returns:
        the RNADefaultOptions of OptionManagement.

    - #### getHybridDefaultOptions

          public java.util.HashMap<java.lang.String,java.lang.String> getHybridDefaultOptions()

      This method is called to get the hybridDefaultOptions of OptionManagement.
      Returns:
        the hybridDefaultOptions of OptionManagement.

    - #### getMRNADefaultOptions

          public java.util.HashMap<java.lang.String,java.lang.String> getMRNADefaultOptions()

      This method is called to get the mRNADefaultOptions of OptionManagement.
      Returns:
        the mRNADefaultOptions HashMap of the OptionManagement object.

    - #### isMeltingInformationOption

          public boolean isMeltingInformationOption(java.lang.String[] args)

      to check if the user just wants to know some information about melting. (help documentation, legal information, data file pathway or Melting version number)
      Parameters:
        `args` - : contains the options entered by the user
      Returns:
        true if the user wants to know some information about melting.

    - #### readOptions

          public void readOptions(java.lang.String[] args)

      if at least one of the options entered by the user is an option to display some information about Melting, the requested information is displayed.
      Parameters:
        `args` - : contains the option entered by the user

    - #### createEnvironment

          public Environment createEnvironment(java.lang.String[] args)

      collects the options entered by the user and creates an Environment from them.
      Parameters:
        `args` - : contains the options entered by the user
      Returns:
        Environment initialized with the default options and the options entered by the user.

    - #### logError

          public static void logError(java.lang.String errorText)

      Logs an error to the melting logger.
      Parameters:
        `errorText` - The text of the error.

    - #### logError

          public static void logError(java.lang.String errorText,
                      java.lang.Throwable throwable)

      Logs an error message to the melting logger, along with the error itself.
      Parameters:
        `errorText` - The text of the error.
        `throwable` - The error itself.

    - #### logWarning

          public static void logWarning(java.lang.String warningText)

      Logs a warning to the melting logger.
      Parameters:
        `warningText` - The text of the warning.

    - #### logInfo

          public static void logInfo(java.lang.String infoText)

      Logs information to the melting logger.
      Parameters:
        `infoText` - The information to log.

    - #### logMessage

          public static void logMessage(java.lang.String messageText)

      Logs a message to the melting logger.
      Parameters:
        `messageText` - The text of the message.

    - #### logMethodName

          public static void logMethodName(java.lang.String methodName)

      Logs the name of a method to the melting logger.
      Parameters:
        `methodName` - The method name.

    - #### logFileName

          public static void logFileName(java.lang.String fileName)

      Logs a file name to the melting logger.
      Parameters:
        `fileName` - The file name to log.

    - #### logTemperatureEquation

          public static void logTemperatureEquation(java.lang.String temperatureEquation)

      Logs a temperature equation to the melting logger.
      Parameters:
        `temperatureEquation` - The temperature equation to log.