Introduction to Python

Slides:



Advertisements
Similar presentations
CS107 Introduction to Computer Science Lecture 3, 4 An Introduction to Algorithms: Loops.
Advertisements

Basic Elements of Programming A VB program is built from statements, statements from expressions, expressions from operators and operands, and operands.
Program Design and Development
INTRODUCTION TO PYTHON PART 3 - LOOPS AND CONDITIONAL LOGIC CSC482 Introduction to Text Analytics Thomas Tiahrt, MA, PhD.
Recitation 1 Programming for Engineers in Python.
Group practice in problem design and problem solving
COMPE 111 Introduction to Computer Engineering Programming in Python Atılım University
Python – Making Decisions Lecture 02. Control Structures A program that only has one flow is useful but limited. We can use if statements to make these.
Introduction. 2COMPSCI Computer Science Fundamentals.
9/16/2015BCHB Edwards Introduction to Python BCHB Lecture 5.
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.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley STARTING OUT WITH Python Python First Edition by Tony Gaddis Chapter 4 Decision.
8/29/2014BCHB Edwards Introduction to Python BCHB Lecture 2.
Functions. Built-in functions You’ve used several functions already >>> len("ATGGTCA")‏ 7 >>> abs(-6)‏ 6 >>> float("3.1415")‏ >>>
Python uses boolean variables to evaluate conditions. The boolean values True and False are returned when an expression is compared or evaluated.
CSCI/CMPE 4341 Topic: Programming in Python Review: Exam I Xiang Lian The University of Texas – Pan American Edinburg, TX 78539
9/14/2015BCHB Edwards Introduction to Python BCHB Lecture 4.
9/23/2015BCHB Edwards Advanced Python Data Structures BCHB Lecture 7.
9/28/2015BCHB Edwards Basic Python Review BCHB Lecture 8.
9/21/2015BCHB Edwards Python Data Structures: Lists BCHB Lecture 6.
11/4/2015BCHB Edwards Advanced Python Concepts: Object Oriented Programming BCHB Lecture 17.
1 CS 177 Week 6 Recitation Slides Review for Midterm Exam.
September 7, 2004ICP: Chapter 3: Control Structures1 Introduction to Computer Programming Chapter 3: Control Structures Michael Scherger Department of.
8. DECISION STRUCTURES Rocky K. C. Chang October 18, 2015 (Adapted from John Zelle’s slides)
Introduction to Computing Using Python Repetition: the for loop  Execution control structures  for loop – iterating over a sequence  range() function.
9/11/2015BCHB Edwards Introduction to Python BCHB Lecture 3.
PH2150 Scientific Computing Skills Control Structures in Python In general, statements are executed sequentially, top to bottom. There are many instances.
 Type Called bool  Bool has only two possible values: True and False.
Introduction to Python
Introduction to Python
Advanced Python Idioms
Introduction to Python
Introduction to Python
Advanced Python Data Structures
Introduction to Python
Advanced Python Data Structures
Introduction to Python
Introduction to Python
Think What will be the output?
Topics The if Statement The if-else Statement Comparing Strings
Advanced Python Concepts: Object Oriented Programming
Conditionals (if-then-else)
Topics The if Statement The if-else Statement Comparing Strings
Selection CIS 40 – Introduction to Programming in Python
Types, Truth, and Expressions (Part 2)
Basic Python Review BCHB524 Lecture 8 BCHB524 - Edwards.
Structured Program
Types, Truth, and Expressions (Part 2)
Types, Truth, and Expressions (Part 2)
Introduction to Programming
Python Data Structures: Lists
Introduction to Programming Using Python PART 2
Introduction to Python
Selection Statements.
Advanced Python Concepts: Exceptions
Introduction to Python
Advanced Python Data Structures
Introduction to Python
Advanced Python Idioms
Basic Python Review BCHB524 Lecture 8 BCHB524 - Edwards.
Python Data Structures: Lists
Advanced Python Concepts: Exceptions
Introduction to Python
Python Data Structures: Lists
Advanced Python Idioms
Advanced Python Concepts: Object Oriented Programming
Types, Truth, and Expressions
Introduction to Programming
COMPUTING.
Types, Truth, and Expressions (Part 2)
Presentation transcript:

Introduction to Python BCHB524 Lecture 4 BCHB524 - Edwards

Outline Homework #1 Solutions Review Control flow: if statement Control flow: for statement Exercises BCHB524 - Edwards

Review Printing and execution Variables and basic data-types: integers, floats, strings Arithmetic with, conversion between String characters and chunks, string methods Functions, using/calling and defining: Use in any expression Parameters as input, return for output Functions calling other functions (oh my!) If statements – conditional execution BCHB524 - Edwards

Control Flow: if statement Execution path depends on string in seq. Make sure you change seq to different values. # The input DNA sequence seq = 'atggcatgacgttattacgactctgtgtggcgtctgctggg' # Remove the initial Met codon if it is there if seq.startswith('atg'): print "Sequence without initial Met:",seq[3:] else: print "Sequence (no initial Met):",seq BCHB524 - Edwards

Control Flow: if statement # The input DNA sequence seq = 'atggcatgacgttattacgactctgtgtggcgtctgctggg' # Remove the initial Met codon if it is there if seq.startswith('atg'): initMet = True newseq = seq[3:] else: initMet = False newseq = seq # Output the results print "Original sequence:",seq print "Sequence starts with Met:",initMet print "Sequence without initial Met:",newseq BCHB524 - Edwards

Control Flow: if statement # The input DNA sequence seq = 'atggcatgacgttattacgactctgtgtggcgtctgctggg' # Remove the initial Met codon if it is there initMet = seq.startswith('atg'): if initMet: newseq = seq[3:] else: newseq = seq # Output the results print "Original sequence:",seq print "Sequence starts with Met:",initMet print "Sequence without initial Met:",newseq BCHB524 - Edwards

Control Flow: if statement # The input DNA sequence seq = 'atggcatgacgttattacgactctgtgtggcgtctgctggg' # Remove the initial Met codon if it is there initMet = seq.startswith('atg') if initMet: seq = seq[3:] # Output the results print "Sequence starts with Met:",initMet print "Sequence without initial Met:",seq BCHB524 - Edwards

Serial if statement # Determine the complementary nucleotide def complement(nuc): if nuc == 'A': comp = 'T' if nuc == 'T': comp = 'A' if nuc == 'C': comp = 'G' if nuc == 'G': comp = 'C' return comp # Use the complement function print "The complement of A is",complement('A') print "The complement of T is",complement('T') print "The complement of C is",complement('C') print "The complement of G is",complement('G') BCHB524 - Edwards

Compound if statement # Determine the complementary nucleotide def complement(nuc):     if nuc == 'A':         comp = 'T'     elif nuc == 'T':         comp = 'A'     elif nuc == 'C':         comp = 'G'     elif nuc == 'G':         comp = 'C'     else:         comp = nuc     return comp # Use the complement function print "The complement of A is",complement('A') print "The complement of T is",complement('T') print "The complement of C is",complement('C') print "The complement of G is",complement('G') BCHB524 - Edwards

If statement conditions Any expression (variable, arithmetic, function call, etc.) that evaluates to True or False Any expression tested against another expression using: == (equality), != (inequality) < (less than), <= (less than or equal) > (greater than), >= (greater than or equal) in (an element of) Conditions can be combined using: and, or, not, and parentheses BCHB524 - Edwards

For (each) statements Sequential/Iterative execution Note use of indentation to define a block! # Print the numbers 0 through 4 for i in range(0,5): print i # Print the nucleotides in seq seq = 'ATGGCAT' for nuc in seq: print nuc BCHB524 - Edwards

For (each) statements # Input to program seq = 'AGTAGTTCGCGTAGCTAGCTAGCTATGCG' # Examine each symbol in seq and count the A's count = 0 for nuc in seq: if nuc == 'A': count = count + 1 # Output the result print "Sequence",seq,"contains",count,"A symbols" BCHB524 - Edwards

For (each) statements # Examine each symbol in seq and count the A's def countAs(seq): count = 0 for nuc in seq: if nuc == 'A': count = count + 1 return count # Input to program inseq = 'AGTAGTTCGCGTAGCTAGCTAGCTATGCG' # Compute count aCount = countAs(inseq) # Output the result print "Sequence",inseq,"contains",aCount,"A symbols" BCHB524 - Edwards

For (each) statements # Examine each symbol in seq and count those that match sym def countSym(seq,sym): count = 0 for nuc in seq: if nuc == sym: count = count + 1 return count # Input to program inseq = 'AGTAGTTCGCGTAGCTAGCTAGCTATGCG' # Compute count aCount = countSym(inseq,'A') # Output the result print "Sequence",inseq,"contains",aCount,"A symbols" BCHB524 - Edwards

Exercise 1 Write a Python program to compute the reverse complement of a codon Use my solution to Homework #1 Exercise #1 as a starting point Add the “complement” function of this lecture (slide 9) as provided. Modularize! Place the reverse complement code in a new function. Call the new function with a variety of codons Change the complement function to handle upper and lower-case nucleotide symbols. Test your code with upper and lower-case codons. BCHB524 - Edwards

Exercise 2 Write a Python program to determine whether or not a DNA sequence consists of a (integer) number of (perfect) "tandem" repeats. Test it on sequences: AAAAAAAAAAAAAAAA CACACACACACACAC ATTCGATTCGATTCG GTAGTAGTAGTAGTA TCAGTCACTCACTCAG Hint: Is the sequence the same as many repetitions of its first character? Hint: Is the first half of the sequence the same as the second half of the sequence? BCHB524 - Edwards

Homework 2 Due Monday, September 17th. Use only the techniques introduced so far. Make sure you can run the programs demonstrated in lecture. Submit Exercise 3.1, 4.1, 4.2 solutions to Canvas. BCHB524 - Edwards