Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lane Medical Library & Knowledge Management Center Perl Programming for Biologists A bold experiment into the unknown… PART 1:

Similar presentations


Presentation on theme: "Lane Medical Library & Knowledge Management Center Perl Programming for Biologists A bold experiment into the unknown… PART 1:"— Presentation transcript:

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?


Download ppt "Lane Medical Library & Knowledge Management Center Perl Programming for Biologists A bold experiment into the unknown… PART 1:"

Similar presentations


Ads by Google