Perl for Bioinformatics


Introduction to Bioinformatics
Introduction to Perl

Perl

Scalar Data

101

Numbers

102

Strings, 5-5,

103

Double-quoted strings

104

Single-quoted strings, 4-1, 4-2,

105

Scalar operators

106

Operators for numbers

107

Operators for numbers-cont

108

Operators for strings

109

Program protocol.pl

110

Reading data from Standard Input

111

The chop and chomp function

112

Summary

 


Built in Functions

Arrays

401

Definition and syntax

402

The foreach construct

403

A slight diversion - binary assignment operators

404

Examples for using the foreach construct - cont.

405

Printing all array elements at once, 4-8,

406

Accessing individual array elements

407

Accessing a group of elements from an array

 

Assignment of a list into an array slice

 

Assignment of an array (or list) into another array

408

Summary of main concepts until now

409

Array content: examples

410

The sort function

411

The push and shift functions

412

What will happen if...

413

Length of a given array

414

Summary


Array Functions

Functions

301

Syntax

302

Arguments, return value and the my operator, 6-1,

303

Global vs. Private Variables in Functions

304

More on Passing Arguments to a Function

305

More on Capturing Arguments in a Function

306

Functions can be called without arguments


Writing Safe Code

001

Declare your variables with my

002

Examples for the effect of my in loops

003

Examples for the effect of my in functions, 6-2,

004

An example program using my (I)

005

An example program using my (II)

006

Enforcing the usage of my by the strict module

007

Using the warnings module or the -w switch

008

Using the diagnostics module


Control Structures

701

Introduction

702

The if and unless statements, 5-1, 5-2, 5-3,

703

Variations on the if statement

704

What is truth?

705

The while and until loops

706

Comparison operators

707

The do {} while / until loop

708

The foreach loop

709

The for loop

710

Summary


File Input/Output

801

Redirection of output to a file

802

Filehandles

803

Opening a filehandle

804

Closing a filehandle, 4-5, 4-6, 4-7,     

805

The die function

806

Using filehandles for writing

807

Using filehandles for reading

808

Examples, 5-6,

809

The printf function

810

Filehandles and Buffers


Basic Text Processing

901

The substr function

902

Examples for using the substr function, 8-1,

903

The split function

904

Example for using the split function

905

The join function


Hashes,
Loop Control

b01

Definition and syntax

b02

Examples

b03

Assignment into a hash variable

b04

Accessing individual hash elements

b05

Adding and deleting elements to/from a hash

 

Checking whether a hash is empty.

b06

The keys function

b07

The values function

b08

Iterating over all elements of a hash using the each function

b09

Iterating over all hash elements: When should I use the keys and when the each function?

a01

The loop control statements

a02

An example for using the last command

a03

An example for using the next command

a04

An example for using the redo command


Data Base Management, Sorting

b02

Opening and Closing DBM Hashes

b03

Using a DBM Hash

b04

Storing multiple fields under one key

c01

Sorting array elements

c02

Sorting a hash by value


Regular Expressions

d01

Definitions and uses

d02

Match to a sequence of characters

d03

Match to a character class

d04

Predefined character classes

d05

Quantifiers

d06

The dot special character

d07

Case-insensitive pattern matching

d08

Alternation

d09

Anchoring a pattern to the beginning or end of a string

d10

Parenthesis as memory

d11

Greediness and laziness

d12

Parenthesis as memory - notes

d13

Substitutions, 5-4, 5-7,

d14

Variable interpolation

 

Meta-characters

 

6-3

6-4

7-1

7-2

7-3

7-4

8-2

8-3

 

 


Assignments


Server

Internet

WWW

Browser

HTML

HTML HP


CGI Programming

e01

Introduction

e02

Creating a static HTML file by a Perl program

e03

Creating a Web page "on the fly" by a CGI-program

e04

Guidelines for HTML page generation by a CGI-program

e05

Receiving CGI-program arguments from the URL

e06

Receiving CGI-program arguments from the URL (cont)

e07

Using CGI.pm for parsing the query string

e08

Receiving CGI-program arguments from a Web form

e09

HTML forms

e10

Form Example

e11

Read more about CGI.pm

e12

When should I use the URL and when a Web form for passing arguments to a CGI-program?

e13

Querying a Web-based database - an example

e14

Handling error messages

 

CGI.pm - a Perl5 CGI Libray


Process Management
References and Data Structures

Bioinformatics

Public Databases Data Formats
Sequence Alignment and Searching
Gene Prediction
Multiple Sequence Alignment
Phylogenetic Analysis
Patterns and Profiles from Sequence Data
Protein Sequence Analysis
Protein Structure Prediction
Protein Structure Property Analysis
Protein Structure Alignment and Comparison
Predicting Structure & Function from Sequence
Tools for Genomics and Proteomics

References:

Perl Programming Course for Bioinformatics and Internet  .... Dr Jaime Prilusky

Beginning Perl for Bioinformatics   By James Tisdall

Developing Bioinformatics Computer Skills  By Cynthia Gibas, Per Jambeck

Mastering Perl for Bioinformatics  By James Tisdall

Introduction to Bioinformatics By Arthur M. Lesk

Learning Perl, Second Edition
Randal L. Schwartz and Tom Christiansen, O'Reilly & Associates, Inc., Sebastpool, CA (1997).
Programming Perl, Second Edition
Larry Wall, Tom Christiansen and Randal L. Schwartz, O'Reilly & Associates, Inc., Sebastpool, CA (1996).
Official Guide to Programming with CGI.pm
Lincoln Stein, John Wiley & Sons, Inc. (1998).