EXPERIMENT # 4
BIOL 200 Cell Biology II LAB, Spring 2013
Hunter College of the City University of New York
Class Hours: Room TBD HN; TBD
Office Hours: Room 830 HN; Thursdays 2-4pm or by appointment
- Dr. Weigang Qiu: email@example.com, 1-212-772-5296
The Tree of Life and Molecular Identification of Microorganisms
To classify microorganisms and determine their relatedness using molecular sequences.
LAB REPORT GRADING GUIDE
CELL BIO II Experiment #4:
- Introduction 1 point:
Statement of objectives or aims of the experiment in the student’s own words. (not to be copied from the Lab Manual)
- MATERIALS AND METHODS 0 point:
This should be a brief synopsis and must include any changes or deviations from the procedures outlined in the Lab Manual. Specify which organisms were used to create the phylogram.
- Formulate informatics questions quantitatively and precisely ("Abstraction")
- Design efficient procedures to solve problems ("Algorithm-thinking")
- Manipulate high-volume textual data using UNIX tools, Perl/BioPerl, R, and Relational Database ("Data Visualization")
This 3-credit course is designed for upper-level undergraduates and graduate students. Prior experiences in the UNIX Operating System and at least one programming language are required. Hunter pre-requisites are CSCI132 (Practical Unix and Perl Programming) and BIOL300 (Biochemistry) or BIOL302 (Molecular Genetics), or permission by the instructor.
Krane & Raymer (2003). Fundamental Concepts of Bioinformatics. Pearson Education, Inc. (ISBN 0-8053-4633-3)
This book should be available in the Hunter Bookstore, as well as through several popular retailers and resellers online.
Grading & Academic Honesty
Hunter College regards acts of academic dishonesty (e.g., plagiarism, cheating on examinations, obtaining unfair advantage, and falsification of records and official documents) as serious offenses against the values of intellectual honesty. The College is committed to enforcing the CUNY Policy on Academic Integrity and will pursue cases of academic dishonesty according to the Hunter College Academic Integrity Procedures.
Student performance will be evaluated by weekly assignments and projects. While these are take-home projects and students are allowed to work in groups and answers to some of the questions are provided in the back of the textbook, students are expected to compose the final short answers, computer commands, and code independently. There are virtually an unlimited number of ways to solve a computational problem, as are ways and personal styles to implement an algorithm. Writings and blocks of codes that are virtually exact copies between individual students will be investigated as possible cases of plagiarism (e.g., copies from the Internet, text book, or each other). In such a case, the instructor will hold closed-door exams for involved individuals. Zero credits will be given to ALL involved individuals if the instructor considers there is enough evidence for plagiarism. To avoid being investigated for plagiarism, Do Not Copy from Others & Do Not Let Others Copy Your Work.
Submit assignments in Printed Hard Copies. Email attachments will NOT be accepted. Each assignment will be graded based on timeliness (10%), completeness (30%), whether executable or having major errors (20%), correctness of the final output (20%), algorithm efficiency (10%), and cleanness and readability in programming styles (10%).
The grading scheme for the course, is as follows (Subject to some change. You will be notified with sufficient time):
- Assignments (50%): 10 exercises.
- Mid-term (20%): In class Assignment + Take home to be collected on the same day.
- Final exam (20%)
- Classroom Q & A (5%): Read the chapters before lecture.
- Attendance (5%): 1-2 absences = -2.5%. More than 2 = -5%.
Programming Assignment Expectations
All code must begin with the lines in the Perl slides, without exception. For each assignment, unless otherwise stated, I would like the full text of the source code. Since you cannot print using the text editor in the lab (even if you are connected from home), you must copy and paste the code into a word processor or a local text editor. If you are using a word processor, change the font to a fixed-width/monospace font. On Windows, this is usually Courier.
Code indentation is your personal taste, so long as it is consistent and readable. Use comments whenever you think either the code is unclear, or simply as a guideline for yourself. Well-commented code improves readability, but be careful not overdo it.
Also, unless otherwise stated, both the input and the output of the program must be submitted as well. This should also be in fixed-width font, and you should label it in such a way so that I know it is the program's input/output. This is so that I know that you've run the program, what data you have used, and what the program produced.
If you are working from the lab, one option is to email the code to yourself, change the font, and then print it somewhere else as there is no printer in the lab.
Course Schedule (All Saturdays)
Dates and assignments below are subject to some change
"Lecture slides" links will be available either during or before each lecture, in PDF.
Homework assignments are due the week *after* the date under which they appear. ie, an assignment posted under Jan 29 is due the following lecture, on Feb 5.
- Course Overview
- Tutorial: UNIX Account, Tools, & Emacs [Lecture Slides]
- UNIX Tutorial: Please check the new #Useful Links section below
- How to connect remotely: (Windows) (Mac)
- Homework: This homework will *not* be graded. It is for practice purposes ONLY.
|Read Chapter 1|
- Chapter 1. Central Dogma & Wet Lab Tools Lecture Slides Ch.1-Che
- Beginning Perl (Beginning Perl, Part 1 Slides)
- Homework: (this assignment *will* be graded.)
|Before you begin...|
Do this ONLY ONCE:
echo "source /data/yoda/b/student.accounts/bio425_2011/bio425.profile" >> ~/.bash_profileAlternatively, you can open ~/.bash_profile in a text editor (ask me if don't know how) and paste the line:
source /data/yoda/b/student.accounts/bio425_2011/bio425.profileat the end.
For the homework, read up to page 221 in Appendix 1. For February 26, read all of Appendix 1.
There are two choices for the homework. The first is recommended for novices. The second is for those who are either comfortable with Perl, or feel the need for a challenge this early. Only complete ONE of these assignments, as I will only accept one. Please follow the guidelines listed above.
(pg.31-32): 1.2, 1.3, 1.5,1.9, 1.10, 1.11
(Read Chapter 6 for next class)
Yozen will not be lecturing
- Chapter 6. Gene and Genome Structures [Lecture Slides Lecture Slides Ch.6-Che
- Tutorial: ORF Prediction using GLIMMER
- Homework: This homework will be graded.
|Bacterial gene identification using Glimmer|
Remember to first log in to mysql by doing:
|Read All of Appendix 1.|
- Appendix 1. More PERL (Lecture Slides)
This time, both novices and experienced programmers do the same homework, with one small difference in the use of the program.
Recall from the first class where I introduced the FASTA-format. In this format, sequence data is recorded as follows:
Of course, the ID portion is itself not standardized, and the sequence can also be an amino acid sequence. For simplicity, let's assume that in the ID field, you have a "Strain" name followed by a "protein" name, separated by an underscore (_). You will write a program to read a FASTA file with the ID format described above, and a nucleotide sequence. For both novice-level and experienced level programmers, your program will:
Your program will just print the above information for all sequences, in a readable form. Sample output could be:
Strain: B31 Protein: ospA Seq Length: 819 GC content: 33.58% Base composition: A 42.98 %, T 23.44 %, C 14.77 %, G 18.80 %
If your percentages have more than 2 decimal places, that's OK.
The only difference from novices is that your program will ask the user for the name of a strain and protein, separated by an underscore (ie, B31_opsA). Once given that input, it will print the exact same output as above, but only for the sequence described by that input. If the input doesn't exist, it will say so and exit. Your program will continue to ask the user for the sequence ID until the user types 'quit' or they give an invalid sequence ID. You can do this by using a while loop.
Calculating the GC content and the base composition is easy if you make use of the tr (transliterate) function as described at the bottom of page 232, and divide the result by the sequence length. GC content is just the sum of total G and C nucleotides, divided by the sequence length. I do want percents, so remember to multiply the results by 100 and to append a '%' at the end.
Getting the strain name and the protein name separately can be accomplished with the split() function (check new slides or search on the internet).
You will test your program the with the file /data/yoda/b/student.accounts/bio425_2011/data/Borrelia_osp.dna.fasta as input. You don't have to include the file itself with your homework, but I do still want you to copy the program output and submit it with your assignment.
Again, the program cannot use any outside dependencies/modules such as BioPerl (supposing you know how to use it.) Besides that, you can implement it however you like. If you know about references, it is possible to do this assignment without using them.
- Chapter 2. Data Search and Alignments Lecture Slides Ch.2-Che
- Object-Oriented PERL & BioPerl (Link to Bioperl site and HOWTOs)
For this assignment, you will use the .predict file you made with glimmer in assignment 3.
If connecting from home: open gedit before logging on to mysql.
For BioPerl to work, you must log on to mysql.
Complete the assignment by following these steps. Make sure each part works before trying to solve the next part:
See these sample scripts for how to use revcom and subseq:
And I linked to the HOWTO above in case you forgot.
Output should be informative:
ORF: orf00002 DNA: ... Protein: ...
For next class, read CH 3
- Chapter 3. Molecular Evolution Lecture Slides Ch.3-Che
- Homework: (TBA)
- REVIEW Session for MID-TERM EXAMS
- Chapter 4. Phylogenetics I. Distance Methods Lecture Slides Ch.4-Che
- "Tree Thinking" Puzzles - (Download)
- Tutorial: PROTDIST and NEIGHBOR using Mobyle Pasteur
|Chapter 4 Questions & Problems (pg.95-96): 4.1, 4.3, 4.4, 4.7, 4.8|
- Chapter 5. Phylogenetics II. Character-Based Methods Lecture Slides Ch.5-Che
- Tutorial: DNAML and bootstrap analysis using Mobyle Pasteur
- Topic: Relational Database and SQL
- Tutorial: the Borrelia Genome Database
- Homework: SQL-embedded PERL
Continue work on the assignment we began in class. It is reproduced below, with some added functionality.
Your script will:
called "Pko_orfs.fasta". The sequence ID should be of the form:
Note that the above will require the use of BioPerl.
of obtaining their respective IDs from just their names. Make sure the sequence IDs are informative. They should look like this:
|Questions from Text |
(pg.115-116): 5.1, 5.3
NO CLASSES (Spring recess)
- Topic: Statistics
- In-class exercise: R basics and short demonstration of a simple boxplot
- Tutorial: Statistical Visualization using R Lecture Slides-Che
- Chapter 6 (Gene Expression) & Chapter 8 (Proteomics)
- Tutorial: Array Data Visualization and Analysis ( Micro-Array Analysis Slides)
- Homework:Data Analysis using R
|Part 1 Data Analysis:
For this assignment, you will use sample data to answer the question: Do men and women have different body temperatures?
The file temps.txt located in ../bio425_2011/data on eniac, contains body temperature data for a sample of adults.
Use a hypotheses test with α = .05 to answer the above question of interest.
NOTE: For this part of the assignment you will need to turn in your answer to the question with p-values in addition to the R syntax used. Indicate your null hypothesis.
Using the files GSM129276_cy3.txt & GSM129276_cy5.txt located in ./bio425_2011/data on eniac, conduct an analysis to produce a histogram of fold changes.
In addition to the histogram, you will need to turn in the R syntax used in every step of the analysis in R, along with an explanation as to why the step was necessary.
For next class, read CH 7
- Chapter 7. Protein Structure Prediction
- Final Project Due (TBA)
- A very nice UNIX tutorial (you will only need up to, and including, tutorial 4).
- FOSSWire's Unix/Linux command reference (PDF). Of use to you: "File commands", "SSH", "Searching" and "Shortcuts".
- Professor Stewart Weiss has taught CSCI132, a UNIX and Perl class. His slides go into much greater detail and are an invaluable resource. They can be found on his course page here.
- Perl documentation at perldoc.perl.org. Besides that, running the perldoc command before either a function (with the -f option ie, perldoc -f substr) or a perl module (ie, perldoc Bio::Seq) can get you similar results without having to leave the terminal.
- BioPerl's HOWTOs page.
- BioPerl-live developer documentation. (We use bioperl-live in class.)
- Yozen's tutorial on installing bioperl-live on your own Mac OS X machine. (Let me know if there are any issues!).
- A small table showing some methods for BioPerl modules with usage and return values.
- SQL Primer, written by Yozen.
- Install location and instructions for Windows
- Install location and instructions for Mac OS X
- For users of Ubuntu/Debian:
sudo apt-get install r-base-core
- For users of Fedora/Red Hat:
su - yum install R
- An RSS button extension for chrome. Can add feeds to Google Reader and others.
- A similar extension which adds a "Live bookmarks"-like feature to Chrome (like Firefox's RSS bookmarks).
- Information Theory Primer by Thomas D. Schneider. Useful in understanding sequence logo maps.
© Weigang Qiu, Hunter College, Last Update Jan 2013