An Introduction to Python and Its Use in Bioinformatics

Slides:



Advertisements
Similar presentations
Introduction to C Programming
Advertisements

1 Chapter 2 Introduction to Java Applications Introduction Java application programming Display ____________________ Obtain information from the.
Introduction to C Programming
An Introduction to Python – Part II Dr. Nancy Warter-Perez.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
C Programming Language 4 Developed in 1972 by Dennis Ritchie at AT&T Bell Laboratories 4 Used to rewrite the UNIX operating system 4 Widely used on UNIX.
An Introduction to Python – Part II Dr. Nancy Warter-Perez April 21, 2005.
 2007 Pearson Education, Inc. All rights reserved Introduction to C Programming.
An Introduction to Python – Part II Dr. Nancy Warter-Perez.
Introduction to C Programming Overview of C Hello World program Unix environment C programming basics.
Introduction to Python
An introduction to Python and its use in Bioinformatics Csc 487/687 Computing for Bioinformatics Fall 2005.
An Introduction to Python and Its Use in Bioinformatics Dr. Nancy Warter-Perez April 19, 2005.
 2002 Prentice Hall. All rights reserved. 1 Chapter 2 – Introduction to Python Programming Outline 2.1 Introduction 2.2 First Program in Python: Printing.
Introduction to C Programming
An Introduction to Python Dr. Nancy Warter-Perez April 15, 2004.
An Introduction to Python and Its Use in Bioinformatics Dr. Nancy Warter-Perez.
Introduction to Programming Prof. Rommel Anthony Palomino Department of Computer Science and Information Technology Spring 2011.
Python Programming Fundamentals
Introduction to Python Lecture 1. CS 484 – Artificial Intelligence2 Big Picture Language Features Python is interpreted Not compiled Object-oriented language.
Introduction to Python
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
Chapter 3 Processing and Interactive Input. 2 Assignment  The general syntax for an assignment statement is variable = operand; The operand to the right.
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
Input, Output, and Processing
Computer Science 101 Introduction to Programming.
Strings CS303E: Elements of Computers and Programming.
A Review of C++ Dr. Nancy Warter-Perez June 16, 2003.
Constants Numeric Constants Integer Constants Floating Point Constants Character Constants Expressions Arithmetic Operators Assignment Operators Relational.
An Introduction to Python – Part II Dr. Nancy Warter-Perez.
CSCI 3133 Programming with C Instructor: Bindra Shrestha University of Houston – Clear Lake.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Introduction to Scripting.
Introduction to Python Dr. José M. Reyes Álamo. 2 Three Rules of Programming Rule 1: Think before you program Rule 2: A program is a human-readable set.
Jim Havrilla. Invoking Python Just type “python –m script.py [arg]” or “python –c command [arg]” To exit, quit() or Control-D is used To just use the.
Python Let’s get started!.
Strings CSE 1310 – Introduction to Computers and Programming Alexandra Stefan University of Texas at Arlington 1.
1 Agenda  Unit 7: Introduction to Programming Using JavaScript T. Jumana Abu Shmais – AOU - Riyadh.
2.1 The Part of a C++ Program. The Parts of a C++ Program // sample C++ program #include using namespace std; int main() { cout
28 Formatted Output.
Whatcha doin'? Aims: To start using Python. To understand loops.
Topics Designing a Program Input, Processing, and Output
Python Variable Types.
Python Let’s get started!.
Introduction to Python
ICS103 Programming in C Lecture 3: Introduction to C (2)
The Selection Structure
Variables, Expressions, and IO
Introduction to Scripting
Python is a general-purpose interpreted, interactive, object-oriented, and high-level programming language. It was created by Guido van Rossum during.
Engineering Innovation Center
Introduction to Python
INPUT & OUTPUT scanf & printf.
Introduction to C++ Programming
WEB PROGRAMMING JavaScript.
Lecture 2 Python Programming & Data Types
PHP.
T. Jumana Abu Shmais – AOU - Riyadh
CS 100: Roadmap to Computing
Introduction to C++ Programming
Topics Designing a Program Input, Processing, and Output
Lecture 2 Python Programming & Data Types
Python Primer 1: Types and Operators
elementary programming
Topics Designing a Program Input, Processing, and Output
Topics Designing a Program Input, Processing, and Output
Python Review
Unit 3: Variables in Java
CS 100: Roadmap to Computing
Class code for pythonroom.com cchsp2cs
PYTHON - VARIABLES AND OPERATORS
Presentation transcript:

An Introduction to Python and Its Use in Bioinformatics Dr. Nancy Warter-Perez

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

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

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

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

Introduction to Python 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 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/ (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 comments # line comment Header comments #Description of program #Written by: #Date created: #Last Modified: Introduction to Python

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

Introduction to Python 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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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