Salt Corrections

All relevant functions to compute salt correction at a given salt concentration and temperature.

The corrections for loop and stack are taken from Einert and Netz [2011].

All corrections returned are in units of \(\text{dcal} \cdot \text{mol}^{-1}\).

Functions

double vrna_salt_loop(int L, double salt, double T, double backbonelen)
#include <ViennaRNA/params/salt.h>

Get salt correction for a loop at a given salt concentration and temperature.

Parameters:
  • L – backbone number in loop

  • salt – salt concentration (M)

  • T – absolute temperature (K)

  • backbonelen – Backbone Length, phosphate-to-phosphate distance (typically 6 for RNA, 6.76 for DNA)

Returns:

Salt correction for loop in dcal/mol

int vrna_salt_loop_int(int L, double salt, double T, double backbonelen)
#include <ViennaRNA/params/salt.h>

Get salt correction for a loop at a given salt concentration and temperature.

This functions is same as vrna_salt_loop but returns rounded salt correction in integer

See also

vrna_salt_loop

Parameters:
  • L – backbone number in loop

  • salt – salt concentration (M)

  • T – absolute temperature (K)

  • backbonelen – Backbone Length, phosphate-to-phosphate distance (typically 6 for RNA, 6.76 for DNA)

Returns:

Rounded salt correction for loop in dcal/mol

int vrna_salt_stack(double salt, double T, double hrise)
#include <ViennaRNA/params/salt.h>

Get salt correction for a stack at a given salt concentration and temperature.

Parameters:
  • salt – salt concentration (M)

  • T – absolute temperature (K)

  • hrise – Helical Rise (typically 2.8 for RNA, 3.4 for DNA)

Returns:

Rounded salt correction for stack in dcal/mol

void vrna_salt_ml(double saltLoop[], int lower, int upper, int *m, int *b)
#include <ViennaRNA/params/salt.h>

Fit linear function to loop salt correction.

For a given range of loop size (backbone number), we perform a linear fitting on loop salt correction

\[ \text{Loop correction} \approx m \cdot L + b. \]

See also

vrna_salt_loop()

Parameters:
  • saltLoop – List of loop salt correction of size from 1

  • lower – Define the size lower bound for fitting

  • upper – Define the size upper bound for fitting

  • m – pointer to store the parameter m in fitting result

  • b – pointer to store the parameter b in fitting result

int vrna_salt_duplex_init(vrna_md_t *md)
#include <ViennaRNA/params/salt.h>

Get salt correction for duplex initialization at a given salt concentration.

Parameters:
  • md – Model details data structure that specfifies salt concentration in buffer (M)

Returns:

Rounded correction for duplex initialization in dcal/mol