def make_table(oldtable=None, values=None):
    """Return a table with thermodynamic parameters (as dictionary).

    Arguments:
     - oldtable: An existing dictionary with thermodynamic parameters.
     - values: A dictionary with new or updated values.

    E.g., to replace the initiation parameters in the Sugimoto '96 dataset with
    the initiation parameters from Allawi & SantaLucia '97:

    >>> from Bio.SeqUtils.MeltingTemp import make_table, DNA_NN2
    >>> table = DNA_NN2                               # Sugimoto '96
    >>> table['init_A/T']
    (0, 0)
    >>> newtable = make_table(oldtable=DNA_NN2, values={'init': (0, 0),
    ...                       'init_A/T': (2.3, 4.1),
    ...                       'init_G/C': (0.1, -2.8)})
    >>> print("%0.1f, %0.1f" % newtable['init_A/T'])
    2.3, 4.1

    """
    if oldtable is None:
        table = {
            "init": (0, 0),
            "init_A/T": (0, 0),
            "init_G/C": (0, 0),
            "init_oneG/C": (0, 0),
            "init_allA/T": (0, 0),
            "init_5T/A": (0, 0),
            "sym": (0, 0),
            "AA/TT": (0, 0),
            "AT/TA": (0, 0),
            "TA/AT": (0, 0),
            "CA/GT": (0, 0),
            "GT/CA": (0, 0),
            "CT/GA": (0, 0),
            "GA/CT": (0, 0),
            "CG/GC": (0, 0),
            "GC/CG": (0, 0),
            "GG/CC": (0, 0),
        }
    else:
        table = oldtable.copy()
    if values:
        table.update(values)
    return table