UCSCBaskin School of Engineering  
General Information Events, News & Organizations Degrees & Departments Research Classes Admissions & Advising People & Jobs Administration

BME 060 logo
BME 060 - Winter 2006
Programming for Biologists and Biochemists -
Syllabus


Week 1


Thurs, Jan 5th
Schedule

Introduction: biology's digital age
Lecture Notes

Introduction
[pdf] [ppt]
Reading

Tisdall: Chap 1-4

Week 2

Tues, Jan 10 Thurs, Jan 12
Schedule
Data manipulation and computation Finding and eliminating bugs
Lecture Notes
Building Blocks
[pdf] [ppt]
Debugging
[pdf] [ppt]
Reading
Tisdall: Chap 5
Tisdall: Chap 6, pgs 104-116

Week 3

Tues, Jan 17 Thurs, Jan 19
Schedule

Making your code resuable with subroutines and functions

Lecture Notes
 Variables & I/O
[pdf] [ppt]

Subroutines
[pdf] [ppt]

Reading

Tisdall: Chap 6, pgs 87-103, Appendix B pg 330-333

Tisdall: Chap 6

Week 4

Tues, Jan 24 Tues, Jan 26
Schedule

Basic pattern matching

Libraries
Lecture Notes

Regular Expressions I
[pdf] [ppt]

Libraries
[pdf] [ppt]
In class example: Searching for patterns in a URL. The two files we wrote were: search_url.pl and webLib.pm. Put these in the same directory and you should be able to call it with a command like:
> search_url.pl http://www.cnn.com death

Reading
Tisdall: Chap 5 pg 67-70,81-84
Tisdall: Chapter 6 pg 102-103, Appendix B pg 341-343

Week 5

Tues, Jan 31 Thurs, Feb 2
Lecture Notes
References & Hashes II
[pdf][ppt]
Statistics
Reading
Tisdall: Continue Chapter 6, pg 99-102
Tisdall: Appendix B pg 320-321
 

Week 6

Tues, Feb 7 Thurs, Feb 9
Lecture Notes
Regular Expressions II
[pdf] [ppt]


Reading
Tisdall, Chap 9, Appendix B 334-340


Week 7

Tues, Feb 14 Thurs, Feb 16
Lecture Notes

Parsing a PDB file

 
Reading
Announcements [pdf] [ppt]
Example script we wrote in class to find records in a PDB file [atoms.pl]
 

Week 8

Tues, Feb 21 Thurs, Feb 23
Schedule
Communicating with UNIX from inside your Perl program
 
Lecture Notes
Communicating [pdf] [ppt]
 
Reading

BioPerl Tutorial [HTML] [TXT], sections III.3 and III.4
Use the BioPerl tuturial script, bptutorial. To do this, change directory to:
/afs/cats.ucsc.edu/courses/bme060-js/software/bioperl-1.4
To read the manual, type:
perldoc bptutorial.pl
To see documentation on Bio::Seq type:
perl bptutorial.pl 100 Bio::Seq

 

Week 9

Tues, Feb 28
Thurs, Mar 2
Schedule
Lecture on Object-oriented programming  
Lecture Notes
Networks and Object-oriented Programming
[pdf] [ppt]  
 
Reading
Tisdall: Chapter 12, pgs 294-300
 

Week 10

Tues, Mar 7
Thurs, Mar 9
Schedule

 
Lecture Notes
BioPerl I
[pdf] [ppt]  
We worked together to write a script that reads a list of gene names from the command line, fetches their associated sequences from Genbank, and then prints them out in 3 different formats. This example used BioPerl objects to do the heavy lifting.
Reading
Read Brian Osborne's BioPerl Tutorial for Beginners [HTML]

The main script we wrote is in the getGenbank.pl script. This script uses the readAliases() function from libLab5.pm, so make sure that package is in the directory if you run the getGenbank.pl script. While you could use this for human genes, we tested it on yeast genes. We used a small yeast alias file called yeast.alias.txt. Note that you could instead use the human.alias.txt file from lab 6 here instead. Of course then you would need to type a valid human gene, instead of a yeast gene, into the command prompt.

To run the program, type the following command in a directory where both libLab5.pm and yeast.alias.txt are present:

perl getGenbank.pl YAP2

This should print out the protein sequence coded by the YAP2 gene in the Genbank, Ensembl, and FASTA formats in that order (see my yap2.out.txt file for an example of what should be printed out).


Week 11

Tues, Mar 14
Thurs, Mar 16
Schedule
Instructor / TA Evals
In class BioPerl workshop using BLAST.
Lecture Notes
BioPerl II
[pdf] [ppt]  
We wrote a script that uses BLAST to identify homologous sequences in yeast for a set of given human sequences.
Reading


We first used our getGenbank.pl script from last time to get the FASTA sequence of the human STK24 gene. This gene has a known yeast homolog (the yeast STE20 gene). We saved the amino acid sequence of the STK24 protein in the stk24.fa file.

We wrote a new script call blast.pl to find homologous sequences for a set of supplied protein sequences given in FASTA format. This script helps solve part II of lab 6. To call the program, we can send the FASTA sequence(s) to the blast.pl program's standard input using the following UNIX command:

perl blast.pl < stk24.fa

Remember that the code does not work at this stage because NCBI has recently changed their output format. In the future, we will instead use the XML-based BioPerl parser so that it does not break when NCBI updates their format.


General info · News · Events · Degree Programs · Research · Classes · Admissions · Advising · People · Jobs · Administration
SOE Webmail · SOE SSH · SOE Wiki · Search · Sitemap · Contact us · Driving directions · Privacy · UCSC
© Baskin School of Engineering, University of California, Santa Cruz
1156 High St., Santa Cruz, CA 95064 · (831) 459-2158 · webmaster@soe.ucsc.edu