Tuesday, November 9, 2010  14:00 - 15:00

16 ETCS points = 16 weeks of work, 30 hours a week

Tuti Andriani, M.Sc 4th semester, B.Sc. from Indonesia, raudlah_ind@yahoo.com
Zhilu Chang, M.Sc. 3rd semester, B.Sc. from China, zhilu.chang@googlemail.com

Thursday, November 11, 2010  11:00 - 12:00

You can checkout your repository from our svn with svn checkout http://vulcano.informatik.uni-freiburg.de/svn/student-projects/tuti+zhilu, username is tuti+zhilu, password is tz10.
Add a new file to the SVN with svn add  ...
Commit your changes to the SVN with svn commit ...
et the latest changes from the SVN with svn update
Get the history of all changes so far with svn log
If you need help with SVN, there is svn help and a lot of documentation and tutorial on the web.

Get Linux on your PCs/notebooks, either dual boot or a virtual box. 
Make sure the network / internet with your Linux. (For example, you should be able to call a browser within your Linux and connect to the Internet.)


Tuesday, November 23, 2010  15:00 - 16:00

Get some help with C++ and try to implement the computeStructure function (in NussinovAlgorithm.cpp) so that it really computes the structure and not just (0,0).
Also consider watching the first few lectures of the C++ course I gave last semester: http://vulcano.informatik.uni-freiburg.de/wiki/teaching/ProgrammierenCplusplusSS2010


Tuesday, November 30, 2010  15:00 - 16:00

Add documentation before each class and each method.
Use cpplint.py from now on, and make sure it passes without errors / warning before you commit code to the repository. Call with python cpplint.py .
Here is the link to the Google C++ styleguide: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml.
Write unit tests for every method (in your case: computeStructure, computeNussinoxMatrix, tracebackNussinovMatrix). Here is the gtest documentation: http://code.google.com/p/googletest/
The output of the matrix should not be in your computeStructure method, but in a separate method (say showNussinovMatrix), which you can call from your main function.
Add usage info of the kind Usage: ./NussinovAlgorithmMain  when you call your Main without parameters. It should read the input sequence without -s just by typing something like ./NussinovAlgorithmMain ACGUUUCGA.


Tuesday, December 14, 2010  15:00 - 16:00

Continue fixing the errors which are there, and add the unit tests, as explained below + the other things from the list below.
For computer problems, you can always try the HiWi room (to the left of my office), for example: Jens Hoffmann, Axel Lehmann, Simon Skilevic, Ina Baumgarten, Robin Schirrmeister, ...
For problems of general understanding you can always send me an email or try to get me in my office (but I am usually very busy).


Tuesday, February 8, 2011  15:00 - 16:00

Write an implementation for the ZukerAlgorithm class. I put the (first version of the) .h file in the SVN, extend as appropriate.
Add unit tests for every method you write (not only for computeStructure, also for the method which does the incremental matrix computation + the method for the traceback).
s usual, find small examples, and do the computation on paper (with all the matrices). This you can use for your unit tests and to find errors.
I would suggest the following order: (1) do the paper examples + understand, (2) write the unit tests, (3) write the code.


Next meeting: if you can foresee that you are finished within a week, sent me an email and we will find an appointment. But no earlier than April (I am away for almost all of March).

Implement the third (McCaskill) algorithm from the RNA lecture. As usual with unit tests of all the methods. About the algorithm ask the people from the RNA lecture for help. For computer / C++ / SVN questions, you can ask the HiWis next door for help.
Also fix the lint errors in the code which is already there. (make lint should pass without errors)
Make up your mind between these two options: (A) stop after MsCaskill with a just so passing grade; (B) try and get a better grade by implementing something considerably more complex like Locarna (described in the paper I sent you), which was the original goal of the team project.


Tuesday, April 5, 2011   15:00 - 16:00

Remaining TODOS:
      Write missing tests for McCaskill
      The Main program should take as input an RNA sequence (as before) AND a structure, and then it should output the probability of that structure for that sequence computed using McCaskill. For example, ./McCaskillAlgorithmMain ACGU "(1,4),(2,3)". See slide 44 from the McCaskill slides (link above) for the formula. Note that you have to write a small parser to convert the second argument from a string to a std::vector

Make a small website for the project with all the basic information: who, when, what. Here is a nice example, you can copy the structure if you like: http://stromboli.informatik.uni-freiburg.de/student-projects/zhongjie-cai/. Commit it to the SVN in a subfolder called www.


Tuesday, April 12, 2011   15:00 - 16:00

Next (maybe last) meeting