Download presentation
Presentation is loading. Please wait.
1
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu Perl Programming for Biologists A bold experiment into the unknown… PART 1: Tue Aug 21 st 2007 update 8/22/2007 Yannick Pouliot, PhD Bioresearch Informationist Lane Medical Library & Knowledge Management Center
2
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 2 Class Requirements You must be registered for this workshop have a PC (sort of) have a power supply have wireless access have the admin password to your machine Please put your cell phone/pager on vibrate No cell calls in class, please
3
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 3 To Dos Close all programs other than IE on your laptop Log into virtual room YP: log into Safari
4
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 4 To Do - 2 Please download all class materials from http://lane.stanford.edu/howto/index.html?id=_2593
5
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 5 Class Focus Creating, writing and reading Excel files Reformatting data files for input to an analysis program Writing and reading from a database such as MS Access or other locally installed relational database, as well as from databases available on the Internet. And remember: Ask LOTS OF QUESTIONS
6
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 6 Cautions All examples pertain to MS Office 2003 Unclear what is to be expected for MS Office 2007 All contents pertain to Perl 5.x, not 6.x V.5 and 6 are NOT compatible V.5 is far far more common, so not much of an issue
7
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 7 So Why Perl? Perl = Practical Extraction and Reporting Language Perl Free Very widely used Especially in biological community Very flexible and portable Not the only language of this type E.g., Python Not the absolute easiest … but pretty easy Not suited for everything E.g., for ultra-fast mathematically-oriented code, C is still best
8
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 8 Today’s session: - Installing and understanding what is required to run Perl - Understanding the basics of a Perl program
9
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 9 Part 1: Installation
10
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 10 Components to Install & Configure 1. Perl itself More accurately, the Perl interpreter We’ll use ActiveState Perl 5.8x (ActivePerl) www.activestate.com/store/freedownload.aspx?prdGuid=81fbce82-6bd5-49bc-a915- 08d58c2648ca 2. Additional Perl modules Module = extra functions not part of the interpreter Described at Comprehensive Perl Archive Network (CPAN)CPAN 3. Open Perl IDE IDE = integrated development environment: Editor to write/edit your program Debugger to find bugs A compiler/interpreter to run your program from within the IDE sourceforge.net/project/showfiles.php?group_id=23334&release_id=91440 sourceforge.net/project/showfiles.php?group_id=23334&release_id=91440 4. Configuring the ODBC manager (next week) Part of Windows Allows different programs to interact with databases on your machine or anywhere on the Web via single “doorway”
11
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 11 What is an Interpreter? = A program that translates an instruction into the computer’s language and executes it before proceeding to the next instruction = compiled and executed once instruction at a time Perl is usually used in interpreted mode Can also be compiled once (= faster)
12
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 12 Installing Perl from ActiveState 1. Go to www.activestate.com/store/freedownload.aspx?p rdGuid=81fbce82-6bd5-49bc-a915- 08d58c2648ca 2. Select Windows MSI package for Perl 5.8x 3. Run the installer Install under c:\Perl
13
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 13 Installing Additional Perl Modules The fountain of all things Perl: CPAN = Comprehensive Perl Archive Network http://www.cpan.org/ http://www.cpan.org/ What does a module look like?look Why modules? PPM for downloading & installing modules PPM What modules are in MY Perl? What
14
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 14 Perl Modules We’ll Be Using When to installNameFunction 8/21/07File::Copymanipulating files 8/21/07File::Findmanipulating files 8/21/07File::Pathmanipulating files 8/21/07IO::Fileaccessing the insides of files 8/21/07Spreadsheet::WriteExcelwriting into an MS Excel spreadsheet 8/21/07Spreadsheet::ParseExcelparsing an MS Excel spreadsheet 8/21/07Spreadsheet::BasicReadreading the contents of an MS Excel spreadsheet 8/21/07Win32::OLEprovides easy access to Windows (e.g., launching Excel) you do itDBIprovides access to relational databases you do itDBD::ODBCprovides access to relational databases URIaccessing URLs you do itLWP::Simpleinteracting with a Web site via http you do itArray::Uniquereturns unique elements of an array you do itList::Uniquereturns unique elements of a list you do itData :: Dumperdumping data out of a data structure you do itSwitchswitch function ("multiple if-else-then")
15
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 15 Why an IDE? IDE = integrated development environment: Editor to write/edit your program Debugger to find bugs A “runner” (compiler/interpreter) to run your program from within the IDE IDEs provide facilities to facilitate writing & debugging E.g., automatic code highlighting We’ll use Open Perl IDE Free, open source, portable sourceforge.net/project/showfiles.php?group_id=23334&relea se_id=91440 sourceforge.net/project/showfiles.php?group_id=23334&relea se_id=91440 IDE: Definition, descriptionDefinition, description
16
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 16 Installing Open Perl IDE 1. Go to sourceforge.net/project/showfiles.php?group_id= 23334&release_id=91440 sourceforge.net/project/showfiles.php?group_id= 23334&release_id=91440 and download the code 2. Create folder Program Files/OpenPerlIDE 3. Unzip into Program Files/OpenPerlIDE 4. Update Path (under System Properties, Advanced, Environment Variables, System Variables) → this makes it possible to run Open Perl IDE from anywhere on your machine…
17
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 17 BREAK
18
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 18 Part 2: What does it all do?
19
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 19 Example Short Program 1. Start Open Perl IDE 2. Load Simple1.pl 3. Run Simple1.pl
20
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 20 Learning by Looking Simple2.pl
21
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 21 Exploring Perl’s Major Language Elements http://en.wikipedia.org/wiki/Perl#Data_types
22
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 22 Going Further: Programming Tips Plan your program Write down how you intend to process the data in more-or-less plain language Goal: making sure that it really does make sense Hacking doesn’t really pay… Have documentation handy eBooks ActivePerl documentation (searchable)documentation Perl language referencereference → eBooks: help served on a silver plattereBooks Lane FAQFAQ When you’re stuck: Search the Web Google can answer almost any programming question … though quality documentation is still best
23
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 23 Excel3.pl: Introducing Object Programming Purpose: From an Excel worksheet that lists public identifiers for DNA sequences associated with genes, the program retrieves: UniGene cluster ID UniGene Gene symbol NCBI Gene ID … and writes the result into another Excel worksheet Mix of procedural and object programmingobject programming Relevant links: http://www.ncbi.nlm.nih.gov/sites/entrez?db=unigene&orig_ db=unigene http://www.ncbi.nlm.nih.gov/sites/entrez?db=unigene&orig_ db=unigene Entrez Utilities Entrez Utilities
24
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 24 What Excel3.pl Does
25
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 25 Toying with Excel3.pl
26
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 26 Some Key Books/Resources Perl Programming for Biologists Perl Cookbook Perl Quick Reference Guide My favorite: Perl Quick ReferencePerl Quick Reference
27
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 27 Assignments Install reminder of Perl modules from listlist Look at code for Example3.pl Modify it, break it Write down at least one question so we can talk about it next week
28
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 28
29
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 29 eBooks Rule
30
Lane Medical Library & Knowledge Management Center http://lane.stanford.edu 30 What Does A Module Look Like?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.