click on the Biowiki logo to go to homepage Home Home | EditEdit | Attach Attach | New New | Site Map Site Map | Help Help
Research | Teaching | Fall11
Biowiki > Fall11 > TWikiUsers > TobitNarciso > TobitNarcisoHomeworkFour


Advanced search...


Hammerhead Ribozyme YES Gate

  1. OFF position
    1. The RNA sequence was obtained from Figure 2a of the Breaker and Penchovsky article. Saved in the file YES-1.
    2. RNAfold was used to predict the MFE structure of the RNA sequence (saved as, and to obtain the base pairing probability plot ( This is accomplished by running RNAfold -p < YES-1.
    3. The PostScript files were converted to pdf using convert YES-OFF.pdf and convert YES-OFF-DOT.pdf.
  2. ON position
    1. The YES-1 file was modified to annotate the constraints on the OBS part of the sequence, forcing them to be unpaired. The constrained sequence file is saved as YES-1.on.
    2. RNAfold was again used to predict the MFE structure and to obtain the base pairing probabilities. This time, we also use the -C option to force the constraints. RNAfold -p -C < YES-1.on.
    3. The PostScript files were converted to pdf using convert YES-ON.pdf and convert YES-ON-DOT.pdf.

The predicted MFE structures and base-pairing probability plots are consistent with the ones given in the paper. It predicts that in the OFF position, stem II of the hammerhead structure does not form, choosing instead to pair with the OBS segment. This prevents the structure from cleaving itself. In contrast, in the ON position, stems I, II, and III of the hammerhead structure are present, and thus the structure can cleave itself.

Software for verifying YES gate

We can verify the correctness of the YES gate by verifying that the sequences making up the hammerhead structure pair up properly during the ON input and that they don't during the OFF input. Since we know which sequence of nucleotides that form the hammerhead structure, we can use it to verify that the sequence performs as designed. The design of the program follows:

  1. Parse the inputs, storing the nucleotide sequence it in $sequence, and the start and end coordinates in $start and $end.
  2. Locate the segments corresponding to stems I, II, and III of the hammerhead structure in the sequence. This can be done with regular expressions. Store the coordinates of these for use later.
  3. Create the constraint string for use in verifying the ON state. We put 'x' at the positions we want the nucleotide to be unpaired. $constraint = ' 'x$start . 'x'x($end-$start);
  4. To verify the OFF state, open a filehandle that pipes into the RNAfold program. Redirect the output of RNAfold to another file we will access later. open RNAFOLD_OFF, "| RNAfold -noPS > off_match";
  5. To verify the ON state, we open another filehandle that pipes into RNAfold, redirecting the output to a second file. open RNAFOLD_ON, "| RNAfold -C -noPS > on_match";
  6. print RNAFOLD_OFF "$sequence\n"; print RNAFOLD_ON "$sequence\n$constraint\n";
  7. close RNAFOLD_OFF; close RNAFOLD_ON;
  8. Create filhandles to read from off_match and on_match. open OFF_MATCH "off_match"; open ON_MATCH "on_match";
  9. Parse the files, to obtain the mfe structures in bracket notation. These should match the regular expression /[.()]+/.
  10. Once we have the the strings corresponding to the mfe structure, we can verify that stems I, II, and III are formed/not formed by the following algorithm:
    1. Let $mfe contain the string corresponding to the mfe structure.
    2. Create an array @matches of length equal to the length of $mfe. This array will be such that $matches[i] == j if the ith nucleotide in the sequence pairs with the jth nucleotide. Initially, set all values to -1.
    3. Create a stack to hold the positions of the '(' occurences in $mfe.
    4. Go through each character of $mfe and do the following:
      1. if the character is a '.', do nothing and go to next character.
      2. if the character is a '(', push its index on the stack.
      3. if the character is a ')' and the stack is not empty, pop the stack and set matches[i] = j; matches[j] = i; where i is the current index, and j is the value popped from the stack. If the stack is empty, we get an error.
    5. At the end of this process, $matches will hold the indices of the matches in the sequence. We can then verify by checking that each index k in the hammerhead structure matches the correct index.
  11. We can then output the truth table, based on the results of the verification results above.

Hammerhead ribozyme structure

After copying the sequence from Genbank and passing it through RNAfold, we obtain the following predicted MFE structure (left image):

Comparing it with the structure in RFAM (right image), we find that our prediction forms more base pairs and has longer stems than the structure in RFAM. Upon further reading, what classifies this as a Type-I Hammerhead Ribozyme is the fact the the 5' and 3' loops contribute to stem I of the structure. This is not the case in the MFE prediction; the ends are not even paired! From this, we can conclude that the MFE structure prediction for this sequence does not correspond at all to the structure described in RFAM.

I Attachment History Action Size Date Who Comment
Pngpng AF404053.1.png r1 manage 17.7 K 2011-10-16 - 00:45 TobitNarciso  
YES-1EXT YES-1 r1 manage 0.1 K 2011-10-15 - 20:53 TobitNarciso  
Onon YES-1.on r1 manage 0.1 K 2011-10-15 - 20:53 TobitNarciso  
Pdfpdf YES-OFF-DOT.pdf r1 manage 7.1 K 2011-10-15 - 20:52 TobitNarciso  
Pdfpdf YES-OFF.pdf r1 manage 4.2 K 2011-10-15 - 20:52 TobitNarciso  
Pdfpdf YES-ON-DOT.pdf r1 manage 4.3 K 2011-10-15 - 20:52 TobitNarciso  
Pdfpdf YES-ON.pdf r1 manage 4.1 K 2011-10-15 - 20:52 TobitNarciso  
Actions: Edit | Attach | New | Ref-By | Printable view | Raw view | Normal view | See diffs | Help | More...