Forums Programming Assignment Help A DNA sequence is a sequence of pairs of special molecules called bases

Viewing 1 post (of 1 total)
• Author
Posts
• #8502

DNA Melting Temperature

A DNA sequence is a sequence of pairs of special molecules called bases. The bases are: adenine (A), thymine

(T), guanine (G), and cytosine (C). Since A can only be paired with T, and G can only be paired with C, we can represent

a DNA sequence as a single sequence of bases, by listing all the bases in the bottom strand from left to right. For

example, the sequence in Figure 1 can be represented as TACGTACGACGT.

In this question, we ask you to compute the temperature at which the DNA sequence melts. We provide two

formulae for computing this temperature:

The Classical Formula: In the classical formula, we begin with a base temperature of 25 C. For each pair of A and

T in the sequence, the temperature is increased by 3%. For each pair of C and G in the sequence, the temperature

is increased by 5%. For example, the melting temperature of the DNA sequence in Figure 1 according to the

classical formula is approximately 40:0036 C.

The Modern Formula: In the modern formula, we start with the temperature computed by the classical formula.

For each time A and T are adjacent, we add 1% to the temperature. For example, the melting temperature of

the DNA sequence in Figure 1 according to the modern formula is approximately 40:8077 C.

Your task is to write a function meltingTemperature(char *dnaSequence, char formula), where

dnaSequence is an array of characters that represents a DNA sequence. A valid sequence contains characters

from the set f’a’, ‘A’, ‘t’, ‘T’, ‘g’, ‘G’, ‘c’, ‘C’g (i.e a base can be represented with either a

lower-case or an upper-case letter) and ends with the character ‘!’. You may assume as a precondition that

the last character in dnaSequence is null (which is represented in C by ‘n0’).

formula is

the character ‘c’, if we wish to calculate the melting temperature using the classical method, and

the character ‘m’, if we wish to calculate the melting temperature using the modern method

The function meltingTemperature returns the temperature (a double) in degrees Kelvin calculated according to

the formula requested (via its second argument).

Reminder: to convert between temperature in degrees Celsius ( C) and temperature in Kelvin (K), you can use the

formula C = K-273:15.

If the input is invalid, the function meltingTemperature returns -1. Since a negative number is not a valid

temperature in Kelvin, this is an acceptable way to indicate error.

For example, meltingTemperature(“”TACgtACGaCGT!””,’c’) should return approximately 313:1536

meltingTemperature(“”TACgtACGaCGT!””,’m’) should return approximately 313:9577

meltingTemperature(“”TACgtACGaCGx””,’m’) should return -1

Submission: Put all the functions in the answer to this question in a file named dna.c. Put the prototypes of all

functions in dna.c in a file named dna.h.

Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.