Turner99_06LongBulgeLoop
Date: 2014-08-08

melting.patternModels.longBulge

## Class Turner99_06LongBulgeLoop

- java.lang.Object
- - melting.patternModels.PatternComputation
  - - melting.patternModels.longBulge.Turner99_06LongBulgeLoop

- All Implemented Interfaces:
    NamedMethod, PatternComputationMethod
  Direct Known Subclasses:
    Turner99_06SingleBulgeLoop

      public class Turner99_06LongBulgeLoop
      extends PatternComputation
      implements NamedMethod

  This class represents the long bulge loop model tur06. It extends PatternComputation. Douglas M Turner et al (2006). Nucleic Acids Research 34: 4912-4924. Douglas M Turner et al (1999). J.Mol.Biol. 288: 911_940.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `defaultFileName` String defaultFileName : default name for the xml file containing the thermodynamic parameters for long bulge loop
    `protected static java.lang.String` | `formulaEnthalpy` String formulaEnthalpy : enthalpy formula

    - ### Fields inherited from class melting.patternModels.PatternComputation

      `collector, fileName`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Turner99_06LongBulgeLoop()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ThermoResult` | `computeThermodynamics(NucleotidSequences sequences, int pos1, int pos2, ThermoResult result)`
    `protected int[]` | `correctPositions(int pos1, int pos2, int duplexLength)` corrects the pattern positions in the duplex to have the adjacent base pair of the pattern included in the subsequence between the positions pos1 and pos2
    `java.lang.String` | `getName()` Gets the full name of the method.
    `void` | `initialiseFileName(java.lang.String methodName)` If a file name is entered by the user, the file name of the model becomes the file name entered by the user, otherwise the default file name of the model is used.
    `boolean` | `isApplicable(Environment environment, int pos1, int pos2)`
    `protected boolean` | `isClosingPenaltyNecessary()` to check if a penalty for the closing base pairs is necessary.
    `boolean` | `isMissingParameters(NucleotidSequences sequences, int pos1, int pos2)` Check if one thermodynamic parameter is missing to compute the enthalpy and entropy of the pattern at the positions pos1 and pos2.

    - ### Methods inherited from class melting.patternModels.PatternComputation

      `getCollector, getData, getDataFileName, loadData, loadFile`

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

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

- - ### Field Detail

    - #### defaultFileName

          public static java.lang.String defaultFileName

      String defaultFileName : default name for the xml file containing the thermodynamic parameters for long bulge loop

    - #### formulaEnthalpy

          protected static java.lang.String formulaEnthalpy

      String formulaEnthalpy : enthalpy formula

  - ### Constructor Detail

    - #### Turner99_06LongBulgeLoop

          public Turner99_06LongBulgeLoop()

  - ### Method Detail

    - #### isApplicable

          public boolean isApplicable(Environment environment,
                             int pos1,
                             int pos2)

      Specified by:
        `isApplicable` in interface `PatternComputationMethod`
      Overrides:
        `isApplicable` in class `PatternComputation`
      Returns:
        false if the model used to compute the enthalpy and entropy of the pattern at the positions pos1 and pos2 is not applicable with the environment. If the environment can make the results less reliable, a warning message will appear.

    - #### computeThermodynamics

          public ThermoResult computeThermodynamics(NucleotidSequences sequences,
                                           int pos1,
                                           int pos2,
                                           ThermoResult result)

      Specified by:
        `computeThermodynamics` in interface `PatternComputationMethod`
      Specified by:
        `computeThermodynamics` in class `PatternComputation`
      Parameters:
        `sequences` - which contains the sequences entered by the user.
        `result` - which contains the computed enthalpy, entropy and melting temperature.
      Returns:
        ThermoResult result which contains the incremented enthalpy and entropy values.

    - #### isMissingParameters

          public boolean isMissingParameters(NucleotidSequences sequences,
                                    int pos1,
                                    int pos2)

      Description copied from interface: `PatternComputationMethod`
      Check if one thermodynamic parameter is missing to compute the enthalpy and entropy of the pattern at the positions pos1 and pos2.
      Specified by:
        `isMissingParameters` in interface `PatternComputationMethod`
      Overrides:
        `isMissingParameters` in class `PatternComputation`
      Parameters:
        `sequences` - which contains the sequences entered by the user.
      Returns:
        false if one necessary thermodynamic parameter is missing.

    - #### initialiseFileName

          public void initialiseFileName(java.lang.String methodName)

      Description copied from interface: `PatternComputationMethod`
      If a file name is entered by the user, the file name of the model becomes the file name entered by the user, otherwise the default file name of the model is used.
      Specified by:
        `initialiseFileName` in interface `PatternComputationMethod`
      Overrides:
        `initialiseFileName` in class `PatternComputation`
      Parameters:
        `methodName` - : method or model name entered by the user.

    - #### isClosingPenaltyNecessary

          protected boolean isClosingPenaltyNecessary()

      to check if a penalty for the closing base pairs is necessary.
      Returns:
        true if the pattern is a single bulge loop and false if the pattern is a long bulge loop

    - #### correctPositions

          protected int[] correctPositions(int pos1,
                               int pos2,
                               int duplexLength)

      corrects the pattern positions in the duplex to have the adjacent base pair of the pattern included in the subsequence between the positions pos1 and pos2
      Parameters:
        `pos1` - : starting position of the internal loop
        `pos2` - : ending position of the internal loop
        `duplexLength` - : total length of the duplex
      Returns:
        int [] positions : new positions of the subsequence to have the pattern surrounded by the adjacent base pairs in the duplex.

    - #### getName

          public java.lang.String getName()

      Gets the full name of the method.
      Specified by:
        `getName` in interface `NamedMethod`
      Returns:
        The full name of the method.