An Introduction to Python – Part II Dr. Nancy Warter-Perez.

Slides:



Advertisements
Similar presentations
Introduction to Computing Science and Programming I
Advertisements

File I/O Dr. Nancy Warter-Perez. Introduction to Python – Part II2 Homework Submission Guidelines Submit your programs via
Designing Algorithms Csci 107 Lecture 4. Outline Last time Computing 1+2+…+n Adding 2 n-digit numbers Today: More algorithms Sequential search Variations.
An Introduction to Python – Part III Dr. Nancy Warter-Perez.
An Introduction to Python – Part II Dr. Nancy Warter-Perez.
An Introduction to Python – Part II Dr. Nancy Warter-Perez June 15, 2005.
An Introduction to Python – Part II Dr. Nancy Warter-Perez April 21, 2005.
An Introduction to Python – Part II Dr. Nancy Warter-Perez.
An Introduction to Python – Part III Dr. Nancy Warter-Perez May 1, 2007.
An introduction to Python and its use in Bioinformatics Csc 487/687 Computing for Bioinformatics Fall 2005.
Chapter 2 Writing Simple Programs
An Introduction to Python and Its Use in Bioinformatics Dr. Nancy Warter-Perez April 19, 2005.
An Introduction to Python – Part III Dr. Nancy Warter-Perez.
Geography 465 Assignments, Conditionals, and Loops.
An Introduction to Python Dr. Nancy Warter-Perez April 15, 2004.
An Introduction to Python and Its Use in Bioinformatics Dr. Nancy Warter-Perez.
Python programs How can I run a program? Input and output.
Introduction to Python Lecture 1. CS 484 – Artificial Intelligence2 Big Picture Language Features Python is interpreted Not compiled Object-oriented language.
COMPE 111 Introduction to Computer Engineering Programming in Python Atılım University
An Introduction to Textual Programming
Line Continuation, Output Formatting, and Decision Structures CS303E: Elements of Computers and Programming.
The if statement and files. The if statement Do a code block only when something is True if test: print "The expression is true"
Introduction to Python
Programming for Linguists An Introduction to Python 24/11/2011.
General Programming Introduction to Computing Science and Programming I.
Introduction to Programming Workshop 2 PHYS1101 Discovery Skills in Physics Dr. Nigel Dipper Room 125d
Introduction to Engineering MATLAB – 6 Script Files - 1 Agenda Script files.
Chapter 02 (Part III) Introduction to C++ Programming.
Linux Operations and Administration
Strings CS303E: Elements of Computers and Programming.
If statements while loop for loop
A Review of C++ Dr. Nancy Warter-Perez June 16, 2003.
Conditions. Objectives  Understanding what altering the flow of control does on programs and being able to apply thee to design code  Look at why indentation.
Data Structures and Debugging Dr. Nancy Warter-Perez June 18, 2003.
9/14/2015BCHB Edwards Introduction to Python BCHB Lecture 4.
Dictionaries.   Review on for loops – nested for loops  Dictionaries (p.79 Learning Python)  Sys Module for system arguments  Reverse complementing.
(A Very Short) Introduction to Shell Scripts CSCI N321 – System and Network Administration Copyright © 2000, 2003 by Scott Orr and the Trustees of Indiana.
A loop is a repetition control structure. body - statements to be repeated control statement - decides whether another repetition needs to be made leading.
Python 101 Dr. Bernard Chen University of Central Arkansas PyArkansas.
Susie’s lecture notes are in the presenter’s notes, below the slides Disclaimer: Susie may have made errors in transcription or understanding. If there.
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.
More Python!. Lists, Variables with more than one value Variables can point to more than one value at a time. The simplest way to do this is with a List.
1 CS 177 Week 6 Recitation Slides Review for Midterm Exam.
Python Basics  Values, Types, Variables, Expressions  Assignments  I/O  Control Structures.
Why Repetition? Read 8 real numbers and compute their average REAL X1, X2, X3, X4, X5, X6, X7, X8 REAL SUM, AVG READ *, X1, X2, X3, X4, X5, X6, X7, X8.
IST 210: PHP LOGIC IST 210: Organization of Data IST210 1.
Strings CSE 1310 – Introduction to Computers and Programming Alexandra Stefan University of Texas at Arlington 1.
Python Arithmetic Operators OperatorOperationDescription +AdditionAdd values on either side of the operator -SubtractionSubtract right hand operand from.
Python – Part 4 Conditionals and Recursion. Conditional execution If statement if x>0:# CONDITION print (‘x is positive’) Same structure as function definition.
1 Agenda  Unit 7: Introduction to Programming Using JavaScript T. Jumana Abu Shmais – AOU - Riyadh.
ENGINEERING 1D04 Tutorial 2. What we’re doing today More on Strings String input Strings as lists String indexing Slice Concatenation and Repetition len()
Introduction to Python
REPETITION CONTROL STRUCTURE
CSc 120 Introduction to Computer Programing II Adapted from slides by
An Introduction to Python and Its Use in Bioinformatics
Python: Control Structures
Engineering Innovation Center
Introduction to Python
For loops Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble Notes for 2010: I skipped slide 10. This is.
Introduction to Python
Iteration: Beyond the Basic PERFORM
Loops CIS 40 – Introduction to Programming in Python
Chapter 3 – Control Structures
Introduction to Python
While loops Genome 559: Introduction to Statistical and Computational Genomics Prof. William Stafford Noble.
Python programming exercise
CHAPTER 6: Control Flow Tools (for and while loops)
Introduction to Python
REPETITION Why Repetition?
Introduction to Computer Science
Presentation transcript:

An Introduction to Python – Part II Dr. Nancy Warter-Perez

Introduction to Python – Part II2 Overview Solution to Programming Workshop #1 If tests Loops for while Example amino acid search program Programming Workshop #2

Introduction to Python – Part II3 Solution to Programming Workshop 1 Write a Python program to compute the hydrophobicity of an amino acid # Program to compute the hydrophobicity of an amino acid # (solution only includes first 3 amino acids) # Written by: Prof. Warter-Perez # Date created: April 15, 2004 # Last modified: hydro = {"A":1.8,"C":2.5,"D":-3.5} aa = raw_input ("Please enter amino acid: ") print "The hydrophobicity of %s is %f."% (aa, hydro[aa])

Introduction to Python – Part II4 Make solution case insensitive # Program to compute the hydrophobicity of an amino acid # Written by: Prof. Warter-Perez # Date created: April 15, 2004 # Last modified: April 20, made script case insensitive for # amino acids hydro = {"A":1.8,"C":2.5,"D":-3.5} aa = raw_input ("Please enter amino acid: ") aa = aa.upper() print "The hydrophobicity of %s is %f."% (aa, hydro[aa])

Introduction to Python – Part II5 Python Basics – Relational and Logical Operators Relational operators ==equal !=not equal >greater than >=greater than or equal <less than <=less than or equal Logical operatorsandornot

Introduction to Python – Part II6 if Statement if expression: action Example: a1 = 'A' a2 = 'C' match = 0 if a1 == a2 : match = match+1

Introduction to Python – Part II7 if-elif-else Statement if expression: action 1 elif expression: action 2 else : action 3 Example: mismatch = 0 match = 0; gap = 0 if a1[i] == a2[j]: match+=1 elif a1[i] == '-' or a2[i]] == '-' : gap += 1 else: mismatch += 1

Introduction to Python – Part II8 String operations mystring = “Hello World!” ExpressionValuePurpose 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” 1 or True 0 or False Alphabetical ordering

Introduction to Python – Part II9 Lists mylist=[“a”,”b”,3.58,”d”,4,0] mylist[0] mylist[2] a 3.58 Indexing mylist[-1] mylist[-2] 0404 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 – Part II10 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.5Value lookup mydict.has_key(“r”)True or 1Check 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 – Part II11 for Statement for var in list: action Sets var to each item in list and performs action range() function generates lists of numbers: range (5) -> [0,1,2,3,4] Example mylist=[“hello”,”hi”,”hey”,”!”]; for i in mylist: print i Iteration 1 prints: hello Iteration 2 prints: hi Iteration 3 prints: hey Iteration 4 prints: !

Introduction to Python – Part II12 while Statement while expression: action Example x = 0; while x != 3: x = x + 1 Iteration 1: x=0+1=1 Iteration 2: x=1+1=2 Iteration 3: x=2+1=3 Iteration 4: don’t exec / 2 Infinite loop!

Introduction to Python – Part II13 Example: Amino Acid Search Write a program to count the number of occurrences of an amino acid in a sequence. The program should prompt the user for A sequence of amino acids (seq) The search amino acid (aa) The program should display the number of times the search amino acid (aa) occurred in the sequence (seq)

Introduction to Python – Part II14 Example: Amino Acid Search (2) #this program will calculate the number of occurrences of an amino acid in a #sequence #by Bryce Ready done=0 while (not done): sequence=raw_input("Please enter a sequence:"); aa=raw_input("Please enter the amino acid to look for:");

Introduction to Python – Part II15 Example: Amino Acid Search (3) #compute the number of occurrences using for loop cnt=0 for i in sequence: if i == aa: cnt+=1 if cnt == 1: print "%s occurs in that sequence once" % aa; else: print "%s occurs in that sequence %d times" % (aa, cnt); answer=raw_input("try again? [yn]") if answer == "n" or answer == "N": done = 1

Introduction to Python – Part II16 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 – Part II17 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 – Part II18 File I/O To open a file myfile = open('pathname', ) modes: 'r' = read 'w' = write Ex: infile = open("D:\\Docs\\test.txt", 'r') Ex: outfile = open("out.txt", 'w') – in same directory

Introduction to Python – Part II19 Common input file operations OperationInterpretation input = open ('file', 'r')open input file S = input.read()read entire file into string S S = input.read(N)Read N bytes (N>= 1) S = input.readline()Read next line L = input.readlines()Read entire file into list of line strings

Introduction to Python – Part II20 Common output file operations OperationInterpretation output = open('file', 'w')create output file output.write(S)Write string S into file output.writelines(L)Write all line strings in list L into file output.close()Manual close (good habit)

Introduction to Python – Part II21 Homework #1P Chapter 13 – Problem 2 Write a sliding window program that computes the %GC of DNA sequence. The program should prompt the user for the DNA sequence and the window size. You can assume that the window increment is 1, that is, as the program slides the window it will move the window over one nucleotide. Test your program on the following DNA sequence: GAACTCATACGAATTCACGTCAGCCCATCGTGCCACGT

Introduction to Python – Part II22 Homework #1P Chapter 13 – Problem 5 Write a program to detect transmembrane regions in a protein. Your program should input the protein file and the results.txt file generated by the Kyte_Doolittle_v3.py program. Kyte and Doolittle found that to detect transmembrane regions in a protein a window size of 19 is needed. Transmembrane regions are identified by average hydropathy scores greater than 1.6. Your program should output the following information in tabular form: ****************** Transmembrane Regions ****************** Window Window SequenceAverage Hydropathy (> 1.6) Steps: 1. Write your program. 2. Run the Kyte_Doolittle_v3.py program (see exercise 3) on the bacteriorhodopsin protein with a window size of Test your program using the bacteriorhodopsin protein file with the result.txt file generated from step ii.