Difference between revisions of "DNA Melting: Using the Matlab DNAMelter GUI"

From Course Wiki
Jump to: navigation, search
Line 3: Line 3:
 
The Matlab DNA Melting GUI ("Graphical User Interface") is called <code>DNAMelter.m</code> and is located in the <code>CourseMaterials/Labs/DNAMelting</code>. You may make a copy in your directory of choice, double click that copy to open the code in Matlab, then run the code via the Run button.
 
The Matlab DNA Melting GUI ("Graphical User Interface") is called <code>DNAMelter.m</code> and is located in the <code>CourseMaterials/Labs/DNAMelting</code>. You may make a copy in your directory of choice, double click that copy to open the code in Matlab, then run the code via the Run button.
  
On the left side of the window, DNAMelter displays the current sample block temperature.  Also shown are the thermistor circuit parameters used to compute the actual temperature.  '''Note''': it is important to set the '''Vref''' and '''Rpullup''' parameters each time DNAMelter is run, so that the temperature is computed accurately. (Remember you are attempting to determine the melting ''temperature'' of a DNA sample.) Vref is the actual voltage supplied either by the reference or +15V supply, and Rpullup is the "pull-up" resistor in the thermistor circuit. Rt0 is the thermistor resistance at 0 C (1000 ohms) and alphaT is the thermistor temperature coefficient (3.85 ohm/degree).  Rt0 and alphaT should not be changed unless a different type of thermistor is used.   
+
On the left side of the window, DNAMelter displays the current sample block temperature.  Also shown are the temperature sensor circuit parameters used to compute the actual temperature.  '''Note''': it is important to set the '''Vref''' and '''Rpullup''' parameters each time DNAMelter is run, so that the temperature is computed accurately. (Remember you are attempting to determine the melting ''temperature'' of a DNA sample.) Vref is the actual voltage supplied either by the reference or +15V supply, and Rpullup is the "pull-up" resistor in the temperature sensor circuit. Rt0 is the thermistor resistance at 0 C (1000 ohms) and alphaT is the thermistor temperature coefficient (3.85 ohm/degree).  Rt0 and alphaT should not be changed unless a different type of sensor is used.   
  
 
DNAMelter graphs the fluorescence voltage signal as well as temperature data in multiple plots.  DNAMelter acquires the temperature and fluorescence signals at 1000 Hz every 0.1 seconds (100 data points).  The fluorescence signal and spectrum are displayed in the two left-hand graphs.  Florescence voltage and temperature (averaged over the 100 points every 0.1 seconds) versus time are plotted in the upper right-hand graph.  Florescence voltage versus temperature are plotted in the lower right-hand graph.
 
DNAMelter graphs the fluorescence voltage signal as well as temperature data in multiple plots.  DNAMelter acquires the temperature and fluorescence signals at 1000 Hz every 0.1 seconds (100 data points).  The fluorescence signal and spectrum are displayed in the two left-hand graphs.  Florescence voltage and temperature (averaged over the 100 points every 0.1 seconds) versus time are plotted in the upper right-hand graph.  Florescence voltage versus temperature are plotted in the lower right-hand graph.
Line 23: Line 23:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Option name !! Description
+
! Option name !! Description !! Default
 
|-
 
|-
| 'rate' || Data acquisition rate (default 1000 [Hz])
+
| 'rate' || Data acquisition rate || 1000 Hz
 
|-
 
|-
| 'duration' || Data acquisition time (default 0.1 [seconds])
+
| 'duration' || Data acquisition time || 0.1 seconds
 
|-
 
|-
| 'Vref' || Thermistor reference voltage (default 15 [V])   
+
| 'Vref' || Temperature circuit reference voltage || 15 V  
 
|-
 
|-
| 'Rpu' || Thermistor pullup (default 15000 [ohms])    
+
| 'Rpu' || Temperature circuit pullup resistor || 15000 ohms     
 
|-
 
|-
| 'Rt0' || Thermistor R at T=0 (default 1000 [ohms])
+
| 'Rt0' || Temperature sensor R at T=0 || 1000 ohms
 
|-
 
|-
| 'alphaT' || Thermistor coefficient (default 3.850 [ohms/degree])
+
| 'alphaT' || Temperature sensor coefficient || 3.850 ohms/degree
 
|-
 
|-
| 'CalculateTemperatureFcn' || User function to calculate temperature
+
| 'CalculateTemperatureFcn' || User function to calculate temperature || See below.
 
|-
 
|-
| 'taskbarHeight' || Height of Windows taskbar for sizing window (default 40 [pixels])
+
| 'taskbarHeight' || Height of Windows taskbar for sizing window || 40 pixels
 
|}
 
|}
  
Line 46: Line 46:
 
Starts the GUI with Rpullup set to 14860 and Vref set to 14.96.
 
Starts the GUI with Rpullup set to 14860 and Vref set to 14.96.
  
'CalculateTemperatureFcn' may be used to specify an external function to calculate temperature if a special temperature sensor such as an RTD is substituted for the standard thermistor.  The function takes two arguments, a struct and a voltage, and returns temperature.  The struct contains the standard thermistor parameters as well as any others specified in the command line.  The standard temperature function is equivalent to
+
'CalculateTemperatureFcn' may be used to specify an external function to calculate temperature if a special temperature sensor or circuit is used that cannot be accommodated by the standard conversion.  The function takes two arguments, a struct and a voltage, and returns temperature.  The struct contains the standard sensor parameters as well as any others specified in the command line.  The standard temperature function is equivalent to
 
: <code> @(params,V) (params.Rpu*V/(params.Vref - V) - params.Rt0)/params.alphaT </code>
 
: <code> @(params,V) (params.Rpu*V/(params.Vref - V) - params.Rt0)/params.alphaT </code>

Revision as of 17:25, 12 August 2013

Description:

The Matlab DNA Melting GUI ("Graphical User Interface") is called DNAMelter.m and is located in the CourseMaterials/Labs/DNAMelting. You may make a copy in your directory of choice, double click that copy to open the code in Matlab, then run the code via the Run button.

On the left side of the window, DNAMelter displays the current sample block temperature. Also shown are the temperature sensor circuit parameters used to compute the actual temperature. Note: it is important to set the Vref and Rpullup parameters each time DNAMelter is run, so that the temperature is computed accurately. (Remember you are attempting to determine the melting temperature of a DNA sample.) Vref is the actual voltage supplied either by the reference or +15V supply, and Rpullup is the "pull-up" resistor in the temperature sensor circuit. Rt0 is the thermistor resistance at 0 C (1000 ohms) and alphaT is the thermistor temperature coefficient (3.85 ohm/degree). Rt0 and alphaT should not be changed unless a different type of sensor is used.

DNAMelter graphs the fluorescence voltage signal as well as temperature data in multiple plots. DNAMelter acquires the temperature and fluorescence signals at 1000 Hz every 0.1 seconds (100 data points). The fluorescence signal and spectrum are displayed in the two left-hand graphs. Florescence voltage and temperature (averaged over the 100 points every 0.1 seconds) versus time are plotted in the upper right-hand graph. Florescence voltage versus temperature are plotted in the lower right-hand graph.

Before starting a run, use the "Clear Data" button to clear out data accumulated from setting up or a previous run.

At the end of a run, use the "Save Data" button to save to a file. The data will be tab-delimited and can be read into Matlab with the load command.

Troubleshooting: If Matlab gives you a data acquisition error, for example, "NO DATA ACQUISITION DEVICE FOUND!", open the Measurement and Automation Explorer ("MAX"), open the Devices and Interfaces drop-down on the left side, and make sure there is only one "NI USB-6xxx" entry and that it is called "Dev1." If it is not, or there is more than one device listed, physically disconnect the USB cable from your DAQ, then delete all "NI USB-6xxx" entries, then reconnect your DAQ, then verify that one entry reappears and that it is called "Dev1." Try to run the DNAMelter program again, and/or close it, re-open it, and run it again. If this does not work, consult a TA or Instructor.

Options:

DNAMelter may be run in the Matlab command window or in another script as

DNAMelter

or with optional Matlab-style 'Name', Value pairs which can be used to pre-set parameters in the GUI

DNAMelter('Name',Value,...)

The following options may be set:

Option name Description Default
'rate' Data acquisition rate 1000 Hz
'duration' Data acquisition time 0.1 seconds
'Vref' Temperature circuit reference voltage 15 V
'Rpu' Temperature circuit pullup resistor 15000 ohms
'Rt0' Temperature sensor R at T=0 1000 ohms
'alphaT' Temperature sensor coefficient 3.850 ohms/degree
'CalculateTemperatureFcn' User function to calculate temperature See below.
'taskbarHeight' Height of Windows taskbar for sizing window 40 pixels

Example:

DNAMelter('Rpu',14860,'Vref',14.96)

Starts the GUI with Rpullup set to 14860 and Vref set to 14.96.

'CalculateTemperatureFcn' may be used to specify an external function to calculate temperature if a special temperature sensor or circuit is used that cannot be accommodated by the standard conversion. The function takes two arguments, a struct and a voltage, and returns temperature. The struct contains the standard sensor parameters as well as any others specified in the command line. The standard temperature function is equivalent to

@(params,V) (params.Rpu*V/(params.Vref - V) - params.Rt0)/params.alphaT