Download presentation
Presentation is loading. Please wait.
Published byLeslie Anthony Modified over 6 years ago
1
An Introduction to Python and Its Use in Bioinformatics
Dr. Nancy Warter-Perez
2
Introduction to Python
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
3
Introduction to Python
Program Development Problem solving Problem specification Algorithm design Test by hand Implementation Code in target language Test code / debug Program/Script Introduction to Python
4
Introduction to 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
5
Introduction to 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
6
Introduction to Python
Useful Tutorials DNA from the Beginning Python Tutorial Introduction to Python
7
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 (we’re using python in class). 2. An integrated development environment for python called pythonwin, by Mark Hammond Introduction to Python
8
Python Basics - Comments
Python comments # line comment Header comments #Description of program #Written by: #Date created: #Last Modified: Introduction to Python
9
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
10
Introduction to Python
Numbers Numbers Normal Integers –represent whole numbers Ex: 3, -7, 123, 76 Long Integers – unlimited size Ex: L Floating-point – represent numbers with decimal places Ex: 1.2, ,3.14e-10 Octal and hexadecimal numbers Ex: O177, 0x9ff, Oxff Complex numbers Ex: 3+4j, j, 3J Introduction to Python
11
Python Basics – arithmetic operations
Operators Example + add - subract * multiply / divide % modulus/remainder 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 Introduction to Python
12
Python Basics – arithmetic operations
Operators Example << shift left >> shift right ** raise to power y=5; z=3 x = y << 1 x = y >> 2 x = y ** z x = 10 x = 1 x = 125 Introduction to Python
13
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 Introduction to Python
14
Python Basics – Relational Operators
Assume x = 1, y = 4, z = 14 Expression Value Interpretation x < y + z 1 True y == 2 * x + 3 False z <= x + y z > x x != y Introduction to Python
15
Python Basics – Logical Operators
Assume x = 1, y = 4, z = 14 Expression Value Interpretation x<=1 and y==3 False x<= 1 or y==3 1 True not (x > 1) not x > 1 not (x<=1 or y==3) Introduction to Python
16
Introduction to Python
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
17
String operations mystring = “Hello World!” Expression Value Purpose
len(mystring) 12 number of characters in mystring “hello”+“world” “helloworld” Concatenate strings “%s world”%“hello” “hello world” Format strings (like sprintf) “world” == “hello” “world” == “world” 0 or False 1 or True Test for equality “a” < “b” “b” < “a” Alphabetical ordering Introduction to Python
18
Introduction to Python
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
19
Introduction to Python
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 “blanks” Values to put in blanks Introduction to Python
20
Introduction to Python
Lists mylist=[“a”,”b”,3.58,”d”,4,0] mylist[0] mylist[2] a 3.58 Indexing mylist[-1] mylist[-2] 4 Negative indexing (counts from end) mylist[1:4] [“b”,3.58,”d”] Slicing (like strings) “b” in mylist “e” not in mylist 1 or True mylist.append(8) [“a”,”b”,3.58,”d”,4,0,8] Add to end of list Introduction to Python
21
Introduction to Python
Tuples Tuples – sequence of values like lists, but cannot be changed after it is created mytuple=(1,”a”,”bc”,3,87.2) mytuple[2] -> “bc” mytuple[1]=“3” Used when you want to pass several variables around at once Error! Introduction to Python
22
Introduction to Python
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’] -> 3 mydict[75] -> 2.85 mydict[‘a’] -> 4 Introduction to Python
23
Dictionaries mydict={“r”:1,”g”:2,”y”:3.5,8.5:8,9:”nine”} mydict.keys()
['y', 8.5, 'r', 'g', 9] List of the keys mydict.values() [3.5, 8, 1, 2, 'nine'] List of the values mydict[“y”] 3.5 Value lookup mydict.has_key(“r”) True or 1 Check for keys mydict.update({“a”:75}) {8.5: 8, 'a': 75, 'r': 1, 'g': 2, 'y': 3.5, 9: 'nine'} Add pairs to dictionary Introduction to Python
24
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
25
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) >>> mystr=raw_input("Enter a string:") Enter a string:Hello World! >>> mystr 'Hello World!' Introduction to Python
26
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”, print “a”+”b”+”c” abc Newline! No Newline! No spaces! Introduction to Python
27
Introduction to Python
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" Introduction to Python
28
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
29
Introduction to Python
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
30
Introduction to Python
Workshop #1P 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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.