Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

P2 2017 python_strings

Strings / List / Dictionaries

  • Be the first to comment

  • Be the first to like this

P2 2017 python_strings

  1. 1. FBW 03-10-2017 Wim Van Criekinge
  2. 2. Google Calendar Louis Coussement
  3. 3. Bioinformatics.be
  4. 4. Overview What is Python ? Why Python 4 Bioinformatics ? How to Python IDE: Eclipse & PyDev / Athena Code Sharing: Git(hub) Strings Regular expressions
  5. 5. Version 2.7 and 3.6 on athena.ugent.be
  6. 6. GitHub: Hosted GIT • Largest open source git hosting site • Public and private options • User-centric rather than project-centric • http://github.ugent.be (use your Ugent login and password) • URI (also on minerva) – https://github.ugent.be/wvcrieki/Bioinfo rmatics_2017.py.git
  7. 7. Control Structures if condition: statements [elif condition: statements] ... else: statements while condition: statements for var in sequence: statements break continue
  8. 8. range  The range function specifies a range of integers:  range(start, stop) - the integers between start (inclusive) and stop (exclusive)  It can also accept a third value specifying the change between values.  range(start, stop, step) - the integers between start (inclusive) and stop (exclusive) by step  Example: for x in range(5, 0, -1): print x print "Blastoff!" Output: 5 4 3 2 1 Blastoff!
  9. 9. Grouping Indentation In Python: for i in range(20): if i%3 == 0: print (i) if i%5 == 0: print ("Bingo!”) print ("---”) 0 Bingo! --- --- --- 3 --- --- --- 6 --- --- --- 9 --- --- --- 12 --- --- --- 15 Bingo! --- --- --- 18 --- ---
  10. 10. while  while loop: Executes a group of statements as long as a condition is True.  good for indefinite loops (repeat an unknown number of times)  Syntax: while condition: statements  Example: number = 1 while number < 200: print number, number = number * 2  Output: 1 2 4 8 16 32 64 128
  11. 11. if if statement: Executes a group of statements only if a certain condition is true. Otherwise, the statements are skipped. Syntax: if condition: statements Example: gpa = 3.4 if gpa > 2.0: print "Your application is accepted."
  12. 12. if/else  if/else statement: Executes one block of statements if a certain condition is True, and a second block of statements if it is False.  Syntax: if condition: statements else: statements  Example: gpa = 1.4 if gpa > 2.0: print "Welcome to Mars University!" else: print "Your application is denied."  Multiple conditions can be chained with elif ("else if"): if condition: statements elif condition: statements else: statements
  13. 13. Logic  Many logical expressions use relational operators:  Logical expressions can be combined with logical operators: Operator Example Result and 9 != 6 and 2 < 3 True or 2 == 3 or -1 < 5 True not not 7 > 0 False Operator Meaning Example Result == equals 1 + 1 == 2 True != does not equal 3.2 != 2.5 True < less than 10 < 5 False > greater than 10 > 5 True <= less than or equal to 126 <= 100 False >= greater than or equal to 5.0 >= 5.0 True
  14. 14. import random print ("Let's calculate Pin") c=0 maxx=1000 for l in range(1,maxx): # print ("We're generating point %d" % (l)) x = random.uniform(0,1) y = random.uniform(0,1) # print ("(" + str(x) + "," + str(y) + ")",end="n") r = x*x + y*y # print ("r = " + str(r)) if r < 1: # print ("In the circle",end="n") c+=1 p = float(c)*4/float(l) print ("Pi estimate after " + str(maxx) + " iterations = " + str(p) + "n")
  15. 15. PI-thon.py Introduction Buffon's Needle is one of the oldest problems in the field of geometrical probability. It was first stated in 1777. It involves dropping a needle on a lined sheet of paper and determining the probability of the needle crossing one of the lines on the page. The remarkable result is that the probability is directly related to the value of pi. https://www.youtube.com/watch?v=Vws1jvM bs64&feature=youtu.be
  16. 16. Python Videos http://python.org/ - documentation, tutorials, beginners guide, core distribution, ... Books include:  Learning Python by Mark Lutz  Python Essential Reference by David Beazley  Python Cookbook, ed. by Martelli, Ravenscroft and Ascher
  17. 17. Overview What is Python ? Why Python 4 Bioinformatics ? How to Python IDE: Eclipse & PyDev / Athena Code Sharing: Git(hub) Strings
  18. 18.  string: A sequence of text characters in a program.  Strings start and end with quotation mark " or apostrophe ' characters.  Examples: "hello" "This is a string" "This, too, is a string. It can be very long!"  A string may not span across multiple lines or contain a " character. "This is not a legal String." "This is not a "legal" String either."  A string can represent characters by preceding them with a backslash.  t tab character  n new line character  " quotation mark character  backslash character  Example: "HellottherenHow are you?" Strings
  19. 19. Indexes  Characters in a string are numbered with indexes starting at 0:  Example: name = "P. Diddy"  Accessing an individual character of a string: variableName [ index ]  Example: print name, "starts with", name[0] Output: P. Diddy starts with P index 0 1 2 3 4 5 6 7 character P . D i d d y
  20. 20. Strings • "hello"+"world" "helloworld" # concatenation • "hello"*3 "hellohellohello" # repetition • "hello"[0] "h" # indexing • "hello"[-1] "o" # (from end) • "hello"[1:4] "ell" # slicing • len("hello") 5 # size • "hello" < "jello" 1 # comparison • "e" in "hello" 1 # search • "escapes: n etc, 033 etc, if etc" • 'single quotes' """triple quotes""" r"raw strings” • "hello"[1:4:-1] "olleh” # reversed
  21. 21. String properties  len(string) - number of characters in a string (including spaces)  str.lower(string) - lowercase version of a string  str.upper(string) - uppercase version of a string  Example: name = "Martin Douglas Stepp" length = len(name) big_name = str.upper(name) print big_name, "has", length, "characters" Output: MARTIN DOUGLAS STEPP has 20 characters a.replace
  22. 22. Text processing  text processing: Examining, editing, formatting text.  often uses loops that examine the characters of a string one by one  A for loop can examine each character in a string in sequence.  Example: for c in "booyah": print c Output: b o o y a h
  23. 23. Strings and numbers  ord(text) - converts a string into a number.  Example: ord("a") is 97, ord("b") is 98, ...  Characters map to numbers using standardized mappings such as ASCII and Unicode.  chr(number) - converts a number into a string.  Example: chr(99) is "c"  Exercise: Write a program that performs a rotation cypher.  e.g. "Attack" when rotated by 1 becomes "buubdl"
  24. 24. Lists • Flexible arrays, not Lisp-like linked lists • a = [99, "bottles of beer", ["on", "the", "wall"]] • Same operators as for strings • a+b, a*3, a[0], a[-1], a[1:], len(a) • Item and slice assignment • a[0] = 98 • a[1:2] = ["bottles", "of", "beer"] -> [98, "bottles", "of", "beer", ["on", "the", "wall"]] • del a[-1] # -> [98, "bottles", "of", "beer"]
  25. 25. More List Operations >>> a = range(5) # [0,1,2,3,4] >>> a.append(5) # [0,1,2,3,4,5] >>> a.pop() # [0,1,2,3,4] >>> a.insert(0, 42) # [42,0,1,2,3,4] >>> a.pop(0) # [0,1,2,3,4] >>> a.reverse() # [4,3,2,1,0] >>> a.sort() # [0,1,2,3,4]
  26. 26. Dictionaries • Hash tables, "associative arrays" • d = {"duck": "eend", "water": "water"} • Lookup: • d["duck"] -> "eend" • d["back"] # raises KeyError exception • Delete, insert, overwrite: • del d["water"] # {"duck": "eend", "back": "rug"} • d["back"] = "rug" # {"duck": "eend", "back": "rug"} • d["duck"] = "duik" # {"duck": "duik", "back": "rug"}
  27. 27. More Dictionary Ops • Keys, values, items: • d.keys() -> ["duck", "back"] • d.values() -> ["duik", "rug"] • d.items() -> [("duck","duik"), ("back","rug")] • Presence check: • d.has_key("duck") -> 1; d.has_key("spam") - > 0 • Values of any type; keys almost any • {"name":"Guido", "age":43, ("hello","world"):1, 42:"yes", "flag": ["red","white","blue"]}
  28. 28. Dictionary Details • Keys must be immutable: – numbers, strings, tuples of immutables • these cannot be changed after creation – reason is hashing (fast lookup technique) – not lists or other dictionaries • these types of objects can be changed "in place" – no restrictions on values • Keys will be listed in arbitrary order – again, because of hashing
  29. 29. Find the answer in ultimate-sequence.txt >ultimate-sequence ACTCGTTATGATATTTTTTTTGAACGTGAAAATACT TTTCGTGCTATGGAAGGACTCGTTATCGTGAAGT TGAACGTTCTGAATGTATGCCTCTTGAAATGGA AAATACTCATTGTTTATCTGAAATTTGAATGGGA ATTTTATCTACAATGTTTTATTCTTACAGAACAT TAAATTGTGTTATGTTTCATTTCACATTTTAGTA GTTTTTTCAGTGAAAGCTTGAAAACCACCAAGA AGAAAAGCTGGTATGCGTAGCTATGTATATATA AAATTAGATTTTCCACAAAAAATGATCTGATAA ACCTTCTCTGTTGGCTCCAAGTATAAGTACGAAA AGAAATACGTTCCCAAGAATTAGCTTCATGAGT AAGAAGAAAAGCTGGTATGCGTAGCTATGTATA TATAAAATTAGATTTTCCACAAAAAATGATCTG ATAA Oefening
  30. 30. AA1 = {'UUU':'F','UUC':'F','UUA':'L','UUG':'L','UCU':'S',' UCC':'S','UCA':'S','UCG':'S','UAU':'Y','UAC':'Y','UA A':'*','UAG':'*','UGU':'C','UGC':'C','UGA':'*','UGG': 'W','CUU':'L','CUC':'L','CUA':'L','CUG':'L','CCU':'P', 'CCC':'P','CCA':'P','CCG':'P','CAU':'H','CAC':'H','CA A':'Q','CAG':'Q','CGU':'R','CGC':'R','CGA':'R','CGG' :'R','AUU':'I','AUC':'I','AUA':'I','AUG':'M','ACU':'T',' ACC':'T','ACA':'T','ACG':'T','AAU':'N','AAC':'N','AAA' :'K','AAG':'K','AGU':'S','AGC':'S','AGA':'R','AGG':'R', 'GUU':'V','GUC':'V','GUA':'V','GUG':'V','GCU':'A','G CC':'A','GCA':'A','GCG':'A','GAU':'D','GAC':'D','GA A':'E','GAG':'E','GGU':'G','GGC':'G','GGA':'G','GGG ':'G' } Dictionary

    Be the first to comment

    Login to see the comments

Strings / List / Dictionaries

Views

Total views

2,136

On Slideshare

0

From embeds

0

Number of embeds

1,852

Actions

Downloads

9

Shares

0

Comments

0

Likes

0

×