Biol425 2011: Difference between revisions
imported>Cmartin |
imported>Yozen (→February 5: Added Perl assignment. Updated slides coming soon.) |
||
Line 102: | Line 102: | ||
|-style="background-color:powderblue;" | |-style="background-color:powderblue;" | ||
| '''Beginning Perl'''<br /> | | '''Beginning Perl'''<br /> | ||
# | 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. | |||
# Copy the code from page 221 in a new file. (Remember to put the code from the slides in the beginning of the file and to declare all variables on first use!) You must alter the code so that the resulting program accomplishes the following four tasks: | |||
##Instead of taking the average of 10 numbers, ask the user how many numbers to average and use that number instead. (Hint: see how the code asks for each number). This must be stored in a new variable. | |||
##If the number the user gave was 0 or negative, print a message telling the user so, and exit immediately. You can exit using <pre>exit;</pre> | |||
##The code always prints 'Enter another number:'. Change it so that on the '''first time only''' it instead prints 'Enter a number:'. | |||
##Just before printing the average, print a message saying 'The numbers to average are: '. Then print out out all the numbers the user entered. | |||
#More advanced programmers can try this assignment (you may wish to read all of Appendix 1 now): create a script which can take as input one or more DNA sequences from a file and translate directly to the correct amino acid sequence (single-letter format). You may implement this program in Perl however you wish, as long as it satisfies the following four criteria: | |||
##The format of the input file it reads must be: one DNA sequence per line, so that each DNA sequence is separated by a new line character. '''Also assume you are given the coding strand.''' | |||
##The name of the input file cannot be hard coded. You may either ask the user for the file location/name or take it as a command line argument. | |||
##It must tolerate all upper-case, lower-case or mixed-case sequences in the input | |||
##For every input DNA sequence, output the DNA sequence, the equivalent RNA, and the peptide sequence. The output '''must''' be informative, ie: | |||
##:Input: atgcgtcga | |||
##:Output: augcgucga | |||
##:Peptide: MRR | |||
#:Additionally, the program cannot use any outside dependencies/modules such as BioPerl (supposing you know how to use it.) | |||
|-style="background-color:powderblue;" | |-style="background-color:powderblue;" | ||
| '''Problems'''<br /> | | '''Problems'''<br /> |
Revision as of 14:56, 7 February 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%.
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.
Assignment #1 |
---|
Linux Proficiency
|
Read Chapter 1 |
February 5
- 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.)
Assignment #2 |
---|
Before you begin... Do this ONLY ONCE: echo "/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: /data/yoda/b/student.accounts/bio425_2011/bio425.profileat the end. |
Beginning Perl 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.
|
Problems (pg.31-32): 1.2, 1.3, 1.5,1.9, 1.10, 1.11 |
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]
- Tutorial: ORF Prediction using GLIMMER
February 26
- Appendix 1. Basic PERL [Lecture Slides]
March 5
- Object-Oriented PERL & BioPerl [Lecture Slides]
March 12
- Information Theory
- Tutorial: Sequence Logo
March 19
- Chapter 2. Data Search and Alignments
- Tutorial: Pairwise Alignment using BLAST & NUCMER
- Tutorial: Multiple Alignment using CLUSTALW
March 26
- Chapter 3. Molecular Evolution
April 2
NO CLASSES
April 9
- Chapter 4. Phylogenetics I. Distance Methods
- Tutorial: PROTDIST and NEIGHBOR using Mobyle Pasteur
April 16
- Chapter 5. Phylogenetics II. Character-Based Methods
- Tutorial: DNAML and bootstrap analysis using Mobyle Pasteur
April 23
- Relational Database and SQL
- Tutorial: the Borrelia Genome Database
April 30
- Statistics
- Tutorial: Statistical Visualization using R
May 7
- Chapter 6 (Gene Expression) & Chapter 8 (Proteomics)
- Tutorial: Array Data Visualization and Analysis
May 14
- Chapter 7. Protein Structure Prediction
May 21
- Final Project Due (TBA)
Useful Links
- 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".
- 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).
© Weigang Qiu, Hunter College, Last Update Jan 2011