an introduction to python and its use in bioinformatics n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
An Introduction to Python and Its Use in Bioinformatics PowerPoint Presentation
Download Presentation
An Introduction to Python and Its Use in Bioinformatics

Loading in 2 Seconds...

play fullscreen
1 / 30

An Introduction to Python and Its Use in Bioinformatics - PowerPoint PPT Presentation


  • 109 Views
  • Uploaded on

An Introduction to Python and Its Use in Bioinformatics. Dr. Nancy Warter-Perez April 10, 2007. Overview. Overview of program/script development ( BP Ch 1 ) Python Basics ( BP Ch1 ) Python Types and Operators Numbers and Arithmetic operators ( BP Ch1, App B ) Strings ( BP Ch3 )

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'An Introduction to Python and Its Use in Bioinformatics' - jadzia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
overview
Overview
  • Overview of program/script development (BP Ch 1)
  • Python Basics (BP Ch1)
  • Python Types and Operators
    • Numbers and Arithmetic operators (BP Ch1, App B)
    • Strings (BP Ch3)
    • Lists and Dictionaries (BP Ch2 and Ch4)
    • Input & Output (BP Ch1)
  • Programming Workshop #1

Introduction to Python

program development
Program Development

Problem solving

Problem specification

Algorithm design

Test by hand

Implementation

Code in target language

Test code / debug

Program/Script

Introduction to Python

what is python
What is Python?
  • A portable, interpretive, object-oriented programming language
  • Elegant syntax
  • Powerful high-level built-in data types
    • Numbers, strings, lists, dictionaries
  • Full set of string operations

Introduction to Python

why python
Why Python?
  • Previously used C++
  • Scripting languages useful for bioinformatics
  • Perl was “bioinformatics standard”
  • Python is more “robust” for larger software projects

Introduction to Python

useful tutorials
Useful Tutorials
  • DNA from the Beginning
    • http://www.dnaftb.org/dnaftb/
  • Python Tutorial
    • http://www.python.org/doc/current/tut/tut.html

Introduction to Python

python development open source software
Python Development Open-Source Software
  • Python interpreter - will run on windows, you need to download it in two parts:

1. The actual interpreter and core of python http://www.python.org/download/releases/2.5/ (we’re using python-2.3.3 in class).

2. An integrated development environment for python called pythonwin, by Mark Hammond http://sourceforge.net/project/showfiles.php?group_id=78018

Introduction to Python

python basics comments
Python Basics - Comments
  • Python comments

# line comment

  • Header comments

#Description of program

#Written by:

#Date created:

#Last Modified:

Introduction to Python

python basics variables
Python Basics - Variables
  • Python variables are not “declared”.
    • To assign a variable, just type: identifier=literal
  • Identifiers
    • Have the following restrictions:
      • Must start with a letter or underscore (_)
      • Case sensitive
      • Must consist of only letters, numbers or underscore
      • Must not be a reserved word
    • Have the following conventions:
      • All uppercase letters are used for constants
      • Variable names are meaningful – thus, often multi-word (but not too long)
        • Convention 1: alignment_sequence (align_seq)
        • Convention 2: AlignmentSequence (AlignSeq)
      • Python specific conventions (Avoid _X, __X__, __X, _)

Introduction to Python

numbers
Numbers
  • Numbers
    • Normal Integers –represent whole numbers

Ex: 3, -7, 123, 76

    • Long Integers – unlimited size

Ex: 9999999999999999999999L

    • Floating-point – represent numbers with decimal places

Ex: 1.2, 3.14159,3.14e-10

    • Octal and hexadecimal numbers

Ex: O177, 0x9ff, Oxff

    • Complex numbers

Ex: 3+4j, 3.0+4.0j, 3J

Introduction to Python

python basics arithmetic operations
Python Basics – arithmetic operations

+ add

- subract

* multiply

/ divide

% modulus/remainder

OperatorsExample

y=5; z=3

x = y + z

x = y – z

x = y * z

x = y / z

x = y % z

x = 8

x = 2

x = 15

x = 1

x = 2

Introduction to Python

python basics arithmetic operations1
Python Basics – arithmetic operations

<< shift left

>> shift right

** raise to power

OperatorsExample

y=5; z=3

x = y << 1

x = y >> 2

x = y ** z

x = 10

x = 1

x = 125

Introduction to Python

python basics relational and logical operators
Relational operators

== equal

!=, <> not equal

> greater than

>= greater than or

equal

< less than

<= less than or equal

Logical operators

and and

or or

not not

Python Basics – Relational and Logical Operators

Introduction to Python

python basics relational operators
Python Basics – Relational Operators
  • Assume x = 1, y = 4, z = 14

Introduction to Python

python basics logical operators
Python Basics – Logical Operators
  • Assume x = 1, y = 4, z = 14

Introduction to Python

strings
Strings
  • Enclosed in single or double quotes

Ex: ‘Hello!’ , “Hello!”, “3.5”, “a”, ‘a’

  • Sequence of characters:mystring=“hello world!”

mystring[0] -> “h” mystring[1] -> “e”

mystring[2] -> “l” mystring[-1] -> “!”

-1 is last,

-2 next to last, etc…

Introduction to Python

string operations
String operations

Introduction to Python

strings 2
Strings (2)
  • slicing:mystring = “spoon!”

mystring[2:] -> “oon!”mystring[:3] -> “spo”#note last element is never included!mystring[1:3]-> “po”

  • Many useful built-in functions
    • mystring.upper() -> “SPOON!”
    • mystring.replace(‘o’, ‘O’) -> “spOOn!”

Introduction to Python

strings 3

“blanks”

Values to put in blanks

Strings (3)
  • “%” operator:sort of “fill in the blanks” operation:mystring=“%s has %d marbles” % (“John”,35) mystring -> “John has 35 marbles”
  • %s replace with string
  • %d,%i replace with integer
  • %f replace with float

Introduction to Python

lists
Lists

Introduction to Python

tuples

Error!

Tuples
  • Tuples – sequence of valueslike lists, but cannot be changed after it is createdmytuple=(1,”a”,”bc”,3,87.2)mytuple[2] -> “bc”

mytuple[1]=“3”

  • Used when you want to pass several variables around at once

Introduction to Python

dictionaries
Dictionaries
  • Dictionaries – map ‘keys’ to ‘values’
    • like lists, but indices can be of any type
    • Also, keys are in no particular order
    • Eg:mydict={‘b’:3, ’a’:4, 75:2.85}mydict[‘b’] -> 3mydict[75] -> 2.85mydict[‘a’] -> 4

Introduction to Python

dictionaries1
Dictionaries

Introduction to Python

dictionaries other considerations
Dictionaries – other considerations
  • Slicing not allowed
  • Referencing invalid key is an error:

>>> mydict={8.5: 8, 'a': 75, 'r': 1, 'g': 2, 'y': 3.5, 9: 'nine'}

>>> mydict["red"]

Traceback (most recent call last): File "<interactive input>", line 1, in ?

KeyError: 'red‘

Use mydict.get(“red”) instead, it returns None if key is not found

Introduction to Python

input output
Function raw_input() designed to read a line of input from the user

1 optional argument: string to prompt user

If int or float desired, simply convert string:

int(mystring)->convert to int (if possible)

float(mystring)->convert to float (if possible)

Input/Output

>>> mystr=raw_input("Enter a string:")

Enter a string:Hello World!

>>> mystr

'Hello World!'

Introduction to Python

output
Function print

Prints each argument, followed by space

After all arguments, prints newline

Put comma after last arg to prevent newline

“add” strings to avoid spaces

print “a”,”b”,”c”

a b c

print “a”,”b”,”c”,

a b c

print “a”+”b”+”c”

abc

Newline!

No Newline!

No spaces!

Output

Introduction to Python

output example
Output Example

>>> print"hello","world";print"hello","again"

hello world

hello again

>>> print"hello","world",;print "hello","again"

hello world hello again

>>> print"hello %s world" % "cold and cruel"

hello cold and cruel world

>>> print"hello","cold"+ " " + "and","cruel","world"

hello cold and cruel world

Introduction to Python

creating a python program
Creating a Python Program
  • Enter your program in the editor
    • Notice that the editor has a color coding
      • Comments
      • Key words
      • Etc…
    • Also notice that it automatically indents
      • Don’t override!! – this is how python tells when block statements end!
      • If doesn’t indent to proper location – indicates bug

Introduction to Python

running your program
Running your Program
  • To build your program
    • Under File->Run…
      • Select No Debugging in the drop-down window
    • Fix any errors, then run again

Introduction to Python

workshop 4
Workshop #4
  • Write a Python program to compute the hydrophobicity of an amino acid
  • Program will prompt the user for an amino acid and will display the hydrophobicity

Introduction to Python