Assignment 9, Part 3: Fitting your data

From Course Wiki
Revision as of 21:02, 8 November 2017 by Juliesutton (Talk | contribs)

Jump to: navigation, search

Congratulations! you should now have a working version of your analysis code.

Estimate model parameters for real data

Use your newly developed code to estimate the parameters associated with a set of DNA melting data that you took using your instrument. (You may use a data set you took from a previous week.)


Tip: you will be running this type of operation many times for many different DNA melting curves in the next couple weeks. It may be helpful to write a function to make this task easily repeatable.


Pencil.png


  1. Plot your fluorescence data as a function of temperature, your model function with initial guesses, and your model function with best fit parameters on the same set of axes.
  2. Record your estimates for &Delta H and &Delta S. Calculate Tm.
  3. How do these thermodynamic parameters compare to the predicted values you obtained from DINAmelt or OligoCalc?


Finding double stranded DNA fraction from raw data

Corrected DNA data.png

The inverse function of the melting model with respect to Vf,measured(t) is helpful to visualize discrepancies between the model and experimental data caused by random noise in Vf,measured and systematic error in the model Vf,model. The function,

$ C_{ds,inverse-model}(V_{f,measured}(t)) = \frac{V_{f,measured}(t) - K_{offset}} {K_{gain} S(t) Q(t)} $,

is itself a model. This model estimates the concentration of double stranded DNA based on the observations $ V_{f,measured}(t) $ and the models for bleaching and quenching.

The estimated melting curve may be directly compared with simulations, measurements or other predictions of the true melting curve. The plot at right shows an example of Cds,inverse-model(t) versus Tsample(t). The estimated melting curve is shifted to the right compared to the simulated melting curve, possibly due to systematic error in the sample temperature model. The estimated melting curve also serves as a comparison to the thermodynamic model developed in DNA Melting Thermodynamics, or to any other independent measurement or model of the melting curve, i.e., the concentration of dsDNA vs sample temperature.


Pencil.png

Write a function to convert fluorescence into fraction of double stranded DNA. For at least one experimental trial, plot $ \text{DnaFraction}_{inverse-model} $ versus $ T_{sample} $ (example plot). On the same set of axes plot DnaFraction versus $ T_{sample} $ using the best-fit values of ΔH and ΔS. Finally, plot simulated dsDNA fraction vs. temperature using data from DINAmelt or another melting curve simulator.


Comparing the known and unknown samples

One possible way to compare the unknown sample to the three knowns is to use Matlab's anova and multcompare functions. Anova takes care of the difficulties that arise when comparing multiple sample means using Student's t-test. Read through this page: Identifying the unknown DNA sample, to learn about the statistics behind making multiple comparisons.

The following code creates a simulated set of melting temperatures for three known samples and one unknown. In the simulation, each sample was run three times. The samples have melting temperatures of 270, 272, and 274 degrees. The unknown sample has a melting temperature of 272 degrees. Random noise is added to the true mean values to generate simulated results. Try running the code with different values of noiseStandardDeviation.

% create simulated dataset
noiseStandardDeviation = 0.5;
meltingTemperature = [270 270 270 272 272 272 274 274 274 272 272 272]
      + noiseStandardDeviation * randn(1,12);
sampleName = {'20bp' '20bp' '20bp' '30bp' '30bp' '30bp' '40bp' '40bp' '40bp'
      'unknown' 'unknown' 'unknown'};

% compute anova statistics
[p, table, anovaStatistics] = anova1(meltingTemperature, sampleName);

% do the multiple comparison
[comparison means plotHandle groupNames] = multcompare(anovaStatistics);
Output of multcompare command.

The multcompare function generates a table of confidence intervals for each possible pair-wise comparison. You can use the table to determine whether the means of two samples are significantly different. Output of multcompare is shown at right. If your data has a lot of variation, you might have to use the options to reduce the confidence level. (Or there might not be a significant difference at all.) Note that multcompare has a default confidence level of 95% (alpha = 0.05). One way to assess how confident you are in your sample identification is by finding the lowest "alpha" value needed to identify your sample.

Consider devising a more sophisticated method that uses both the ΔH° and ΔS° values, instead.


Pencil.png


  1. Explain the statistical method you will use to identify your group's unknown sample in part 2 of this lab.



Pencil.png

Append all of the code you wrote for Parts 1, 2 and 3 of this assignment.


Navigation

Back to 20.309 Main Page