Biol425 2011: Difference between revisions

From QiuLab
Jump to navigation Jump to search
imported>Yozen
m (→‎March 5: lp17.fas is the correct file name, not .seq (Thanks Mary Ellen!))
imported>Cmartin
 
(38 intermediate revisions by 2 users not shown)
Line 215: Line 215:
! Assignment #5
! Assignment #5
|-style="background-color:powderblue;"
|-style="background-color:powderblue;"
 
| '''BioPerl Assignment'''  
 
| '''BioPerl Assignment Below & For next class read CH 3'''  


For this assignment, you will use the .predict file you made with glimmer in [[#February_19 | assignment 3]].
For this assignment, you will use the .predict file you made with glimmer in [[#February_19 | assignment 3]].
Line 249: Line 246:
Protein: ...
Protein: ...
</pre>
</pre>
|-style="background-color:powderblue;"
| '''Read'''
'''For next class, read CH 3'''
|}
|}


===March 12===
===March 12===
*Chapter 3. Molecular Evolution
*Chapter 3. Molecular Evolution [[Media:CH3.pdf|Lecture Slides Ch.3-Che]]
* '''Homework:''' (TBA)
* '''Homework:''' (TBA)


Line 266: Line 266:


===April 2===
===April 2===
'''NO CLASSES'''
*'''Chapter 4.''' Phylogenetics I. Distance Methods  [[Media:CH4.pdf|Lecture Slides Ch.4-Che]]
*"Tree Thinking" Puzzles - ([http://diverge.hunter.cuny.edu/~weigang/lab-website/SummerWorkshop/Baum_etal05_sup_part1.pdf Download])
*'''Tutorial:''' PROTDIST and NEIGHBOR using [http://mobyle.pasteur.fr/cgi-bin/portal.py#welcome Mobyle Pasteur]
{| class="collapsible collapsed wikitable"
|- style="background-color:lightsteelblue;"
! Assignment #6
|-style="background-color:powderblue;"
| '''Chapter 4 ''' Questions & Problems (pg.95-96): 4.1, 4.3, 4.4, 4.7, 4.8
|}


===April 9===
===April 9===
*Chapter 4. Phylogenetics I. Distance Methods
*'''Chapter 5.''' Phylogenetics II. Character-Based Methods [[Media:CH4.pdf|Lecture Slides Ch.5-Che]]
*Tutorial: PROTDIST and NEIGHBOR using [http://mobyle.pasteur.fr/cgi-bin/portal.py#welcome Mobyle Pasteur]
*'''Tutorial:''' DNAML and bootstrap analysis using [http://mobyle.pasteur.fr/cgi-bin/portal.py#welcome Mobyle Pasteur]
<!--*Assignment #9. '''(To be posted)'''
<!--*Assignment #10. '''(To be posted)'''
Questions & Problems (pg.95-96): 4.1, 4.3, 4.4, 4.7, 4.8-->
Questions & Problems (pg.115-116): 5.1, 5.2, 5.3, 5.4-->


===April 16===
===April 16===
*Chapter 5. Phylogenetics II. Character-Based Methods
*'''Topic:''' Relational Database and SQL
*Tutorial: DNAML and bootstrap analysis using [http://mobyle.pasteur.fr/cgi-bin/portal.py#welcome Mobyle Pasteur]
*'''Tutorial:''' the Borrelia Genome Database
<!--*Assignment #10. '''(To be posted)'''
*'''Homework:''' SQL-embedded PERL
Questions & Problems (pg.115-116): 5.1, 5.2, 5.3, 5.4-->
{| class="collapsible collapsed wikitable"
|- style="background-color:lightsteelblue;"
! Assignment #7
|- style="background-color:powderblue;"
| '''SQL-embedded PERL'''<br />
 
Continue work on the assignment we began in class. It is reproduced below, with some added functionality.
 
Your script will:
 
# Retrieve TEN orfs from the orf table that belong to the strain Pko.
# Find and store the sequences described by those orfs and their lengths.
# Determine if the orf is on the reference or reverse complement strand, and use that information to print the correct sequence.
# Print the orf name, sequence, and the length for each orf.
# '''In addition to printing the above information to the screen,''' write out the sequence information '''(in FASTA format)''' to a file
called "Pko_orfs.fasta". The sequence ID should be of the form:
Pko_orfname
 
Note that the above will require the use of BioPerl.
 
 
For those looking for extra challenges, you can try adding the following:
 
* Ask the user for the strain and contig *names* that they want orfs from, and only retrieve those rows. This means you must find a way
of obtaining their respective IDs from just their names. Make sure the sequence IDs are informative. They should look like this:
strainname_contigname_orfname
* If asking users for input, fail if they gave a strain or contig name which does not exist in the database.
* Also if asking users for input, the output file's name should be changed to reflect the chosen strain.
* Ask the user the minimum length the orf is allowed to be, and only print orfs as long, or longer, than what the user specifies.
 
 
Sample scripts will go up slowly, over time, including example SQL statements.
|-style="background-color:powderblue;"
| '''Questions from Text''' <br /> (pg.115-116): 5.1, 5.3
|}


===April 23===
===April 23===
*Relational Database and SQL
'''NO CLASSES''' (Spring recess)
*Tutorial: the Borrelia Genome Database
<!--*Assignment #11. '''(To be posted)'''
SQL-embedded PERL-->


===April 30===
===April 30===
*Statistics
*'''Topic:''' Statistics
*Tutorial: Statistical Visualization using R
*'''In-class exercise:''' [https://docs.google.com/document/d/1wq-s8WpqyURVeGiLUxhEyBvHRDrK__Cr7XjkuLicP-c/edit?hl=en&authkey=CJ2g4qsI R basics and short demonstration of a simple boxplot]
*'''Tutorial:''' Statistical Visualization using R [[Media:R-implementations.pdf|Lecture Slides-Che]]
<!--*Assignment #12. '''(To be posted)'''
<!--*Assignment #12. '''(To be posted)'''
R Exercises-->
R Exercises-->


===May 7===
===May 7===
*Chapter 6 (Gene Expression) & Chapter 8 (Proteomics)
*'''Chapter 6''' (Gene Expression) & '''Chapter 8''' (Proteomics)
*Tutorial: Array Data Visualization and Analysis
*'''Tutorial:''' Array Data Visualization and Analysis ([[Media:Array_Data_Visualization_and_Analysis.pdf| Micro-Array Analysis Slides]])
<!--*Assignment #13. '''(To be posted)'''
*'''Homework:'''Data Analysis using R
Gene Expression Data Analysis using R-->
{| class="collapsible collapsed wikitable"
|- style="background-color:lightsteelblue;"
! Assignment #8
|-style="background-color:powderblue;"
| '''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'''.
 
 
'''Part 2 Gene Expression Data Analysis:'''
 
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.
 
|-style="background-color:powderblue;"
| '''Read'''
'''For next class, read CH 7'''
|}


===May 14===
===May 14===
*Chapter 7. Protein Structure Prediction
*'''Chapter 7.''' Protein Structure Prediction
<!--*Assignment #14 (Final Comprehensive Project). '''(To be posted)'''-->
<!--*Assignment #14 (Final Comprehensive Project). '''(To be posted)'''-->


===May 21===
===May 21===
*Final Project Due (TBA)
*Final Project Due (TBA)


==Useful Links==
==Useful Links==


===Unix Tutorials===
===Unix Tutorials===
*A very nice [http://info.ee.surrey.ac.uk/Teaching/Unix/ UNIX tutorial] (you will only need up to, and including, tutorial 4).
*A very nice [http://www.ee.surrey.ac.uk/Teaching/Unix/ UNIX tutorial] (you will only need up to, and including, tutorial 4).
*FOSSWire's [http://files.fosswire.com/2007/08/fwunixref.pdf Unix/Linux command reference] (PDF). Of use to you: "File commands", "SSH", "Searching" and "Shortcuts".
*FOSSWire's [http://files.fosswire.com/2007/08/fwunixref.pdf Unix/Linux command reference] (PDF). Of use to you: "File commands", "SSH", "Searching" and "Shortcuts".


===Perl Help===
===Perl Help===
* 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 [http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci132/csci132_f10.php here].
* 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 [http://compsci.hunter.cuny.edu/~sweiss/course_materials/csci132/csci132_f10.php here].
* Perl documentation at [http://perldoc.perl.org 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===
===Bioperl===
Line 319: Line 382:
* BioPerl-live [http://doc.bioperl.org/bioperl-live developer documentation]. (We use bioperl-live in class.)
* BioPerl-live [http://doc.bioperl.org/bioperl-live developer documentation]. (We use bioperl-live in class.)
* Yozen's tutorial on [http://diverge.hunter.cuny.edu/wiki/HOWTO:Bioperl-live_on_Mac_OS_X installing bioperl-live on your own Mac OS X machine]. (Let me know if there are any issues!).
* Yozen's tutorial on [http://diverge.hunter.cuny.edu/wiki/HOWTO:Bioperl-live_on_Mac_OS_X installing bioperl-live on your own Mac OS X machine]. (Let me know if there are any issues!).
* [https://spreadsheets.google.com/pub?key=0AjfPzjrqY7BndHpyRHlDZUlGcktINm1IbXVzX1QzMXc&single=true&gid=0&output=html A small table] showing some methods for BioPerl modules with usage and return values.
===SQL===
* [https://docs.google.com/document/d/1zYLPeenwsqPYchkpXnndzphBbTKqX2GjjLHDxlBnt78/edit?hl=en&authkey=CLnh_88K SQL Primer], written by Yozen.
===R Project===
* Install location and instructions for [http://lib.stat.cmu.edu/R/CRAN/bin/windows/base/ Windows]
* Install location and instructions for [http://lib.stat.cmu.edu/R/CRAN/ 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


===Utilities===
===Utilities===
*An [https://chrome.google.com/webstore/detail/nlbjncdgjeocebhnmkbbbdekmmmcbfjd RSS button extension] for chrome. Can add feeds to Google Reader and others.
*An [https://chrome.google.com/webstore/detail/nlbjncdgjeocebhnmkbbbdekmmmcbfjd RSS button extension] for chrome. Can add feeds to Google Reader and others.
*A [https://chrome.google.com/webstore/detail/hcamnijgggppihioleoenjmlnakejdph similar extension] which adds a "Live bookmarks"-like feature to Chrome (like Firefox's RSS bookmarks).
*A [https://chrome.google.com/webstore/detail/hcamnijgggppihioleoenjmlnakejdph similar extension] which adds a "Live bookmarks"-like feature to Chrome (like Firefox's RSS bookmarks).
===Other Resources===
* [http://www.ccrnp.ncifcrf.gov/~toms/papers/primer/primer.pdf Information Theory Primer] by Thomas D. Schneider. Useful in understanding sequence logo maps.




© Weigang Qiu, Hunter College, Last Update Jan 2011
© Weigang Qiu, Hunter College, Last Update Jan 2011

Latest revision as of 02:05, 10 May 2011

Computational Molecular Biology

BIOL 425/790.49, Spring 2011

Hunter College of the City University of New York

The best way to track changes made to this page is to click on the History tab above, and add the RSS feed that shows up there in your browser. If you use Chrome, please see #Useful Links below for two very handy extensions if you don't have them, or other RSS extensions, already.


Course information

Instructors: Che Martin and Yozen Hernandez

Class Hours: Room 1000G HN; Saturday 11am-2pm

Office Hours: Room 830 HN; Thursdays 12-2pm or by appointment

Contact information:

  • Che: cmartin@gc.cuny.edu, 917-684-0864
  • Yozen: yzhernand@gmail.com, 347-829-6936


Course Description

Background

Biomedical research is becoming a high-throughput science. As a result, information technology plays an increasingly important role in biomedical discovery. Bioinformatics is a new interdisciplinary field formed between molecular biology and computer science.

Contents

This course will introduce both bioinformatics theories and practices. Topics include: database searching, sequence alignment, molecular phylogenetics, structure prediction, and microarray analysis. The course is held in a UNIX-based instructional lab specifically configured for bioinformatics applications. Each session consists of a first-half instruction on bioinformatics theories and a second-half session of hands-on exercises.

Learning Goals

Students are expected to be able to:

  • Approach biological questions evolutionarily ("Tree-thinking")
  • Evaluate and interpret computational results statistically ("Statistical-thinking")
  • 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")

Pre-requisites

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.

Textbook

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.

January 29

  • 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.

February 5

February 12

NO CLASS

(Read Chapter 6 for next class)

February 19

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.

February 26

March 5

March 12

March 19

  • REVIEW Session for MID-TERM EXAMS

March 26

  • MID-TERM

April 2

April 9

April 16

  • Topic: Relational Database and SQL
  • Tutorial: the Borrelia Genome Database
  • Homework: SQL-embedded PERL

April 23

NO CLASSES (Spring recess)

April 30

May 7

  • Chapter 6 (Gene Expression) & Chapter 8 (Proteomics)
  • Tutorial: Array Data Visualization and Analysis ( Micro-Array Analysis Slides)
  • Homework:Data Analysis using R

May 14

  • Chapter 7. Protein Structure Prediction

May 21

  • Final Project Due (TBA)

Useful Links

Unix Tutorials

Perl Help

  • 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

SQL

R Project

  • 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

Utilities

Other Resources


© Weigang Qiu, Hunter College, Last Update Jan 2011