practical bioinformatics
play

Practical Bioinformatics Mark Voorhies 5/11/2015 Mark Voorhies - PowerPoint PPT Presentation

Introduction to Python Practical Bioinformatics Mark Voorhies 5/11/2015 Mark Voorhies Practical Bioinformatics Introduction to Python Good ideas shamelessly lifted from David Erle and Josh Pollack Mark Voorhies Practical Bioinformatics


  1. Introduction to Python Practical Bioinformatics Mark Voorhies 5/11/2015 Mark Voorhies Practical Bioinformatics

  2. Introduction to Python Good ideas shamelessly lifted from David Erle and Josh Pollack Mark Voorhies Practical Bioinformatics

  3. Introduction to Python Resources Getting “Scientific” Python https://store.enthought.com/#canopy-academic Mark Voorhies Practical Bioinformatics

  4. Introduction to Python Resources Getting “Scientific” Python https://store.enthought.com/#canopy-academic Course website: http://histo.ucsf.edu/BMS270/ Mark Voorhies Practical Bioinformatics

  5. Introduction to Python Resources Getting “Scientific” Python https://store.enthought.com/#canopy-academic Course website: http://histo.ucsf.edu/BMS270/ Resources on the course website: Syllabus Papers and code (for downloading before class) Slides and transcripts (available after class) (Whiteboard images will be added to slides during class) Mark Voorhies Practical Bioinformatics

  6. Introduction to Python Resources Getting “Scientific” Python https://store.enthought.com/#canopy-academic Course website: http://histo.ucsf.edu/BMS270/ Resources on the course website: Syllabus Papers and code (for downloading before class) Slides and transcripts (available after class) (Whiteboard images will be added to slides during class) On-line textbooks (Dive into Python, Numerical Recipes, ...) Programs for this course (Canopy, Cluster3, JavaTreeView, ...) Mark Voorhies Practical Bioinformatics

  7. Introduction to Python Goals At the end of this class, you should have the confidence to take on the day to day tasks of “bioinformatics”. Mark Voorhies Practical Bioinformatics

  8. Introduction to Python Goals At the end of this class, you should have the confidence to take on the day to day tasks of “bioinformatics”. Writing standalone scripts. Mark Voorhies Practical Bioinformatics

  9. Introduction to Python Goals At the end of this class, you should have the confidence to take on the day to day tasks of “bioinformatics”. Writing standalone scripts. Shepherding data between analysis tools. Mark Voorhies Practical Bioinformatics

  10. Introduction to Python Goals At the end of this class, you should have the confidence to take on the day to day tasks of “bioinformatics”. Writing standalone scripts. Shepherding data between analysis tools. Aggregating data from multiple sources. Mark Voorhies Practical Bioinformatics

  11. Introduction to Python Goals At the end of this class, you should have the confidence to take on the day to day tasks of “bioinformatics”. Writing standalone scripts. Shepherding data between analysis tools. Aggregating data from multiple sources. Implementing new methods from the literature. Mark Voorhies Practical Bioinformatics

  12. Introduction to Python Goals At the end of this class, you should have the confidence to take on the day to day tasks of “bioinformatics”. Writing standalone scripts. Shepherding data between analysis tools. Aggregating data from multiple sources. Implementing new methods from the literature. This is also good preparation for communicating with computational collaborators. Mark Voorhies Practical Bioinformatics

  13. Introduction to Python Course problems: expression and sequence analysis Mark Voorhies Practical Bioinformatics

  14. Introduction to Python Course problems: expression and sequence analysis Part 2: Genotype Part 1: Phenotype (Sequence analysis) (Expression profiling) Mark Voorhies Practical Bioinformatics

  15. Introduction to Python Course tool: Python Mark Voorhies Practical Bioinformatics

  16. Introduction to Python Python distribution: Enthought Canopy Mark Voorhies Practical Bioinformatics

  17. Introduction to Python Python distribution: Enthought Canopy Mark Voorhies Practical Bioinformatics

  18. Introduction to Python Python distribution: Enthought Canopy Mark Voorhies Practical Bioinformatics

  19. Introduction to Python Python shell: ipython notebook Mark Voorhies Practical Bioinformatics

  20. Introduction to Python Anatomy of a Programming Language Mark Voorhies Practical Bioinformatics

  21. Introduction to Python Anatomy of a Programming Language Mark Voorhies Practical Bioinformatics

  22. Introduction to Python Anatomy of a Programming Language Mark Voorhies Practical Bioinformatics

  23. Introduction to Python Anatomy of a Programming Language Mark Voorhies Practical Bioinformatics

  24. Introduction to Python Talking to Python: Nouns # This i s a comment # This i s an i n t ( i n t e g e r ) 42 # This i s a f l o a t ( r a t i o n a l number ) 4.2 # These are a l l s t r i n g s ( sequences of c h a r a c t e r s ) ’ATGC ’ ”Mendel ’ s Laws” ””” > CAA36839 .1 Calmodulin MADQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAEL QDMINEVDADDLPGNGTIDFPEFLTMMARKMKDTDSEEEIREAFRVFDK DGNGYISAAELRHVMTNLGEKLTDEEVDEMIREADIDGDGQVNYEEFVQ MMTAK””” Mark Voorhies Practical Bioinformatics

  25. Introduction to Python Python as a Calculator # Addition 1+1 # Subtraction 2 − 3 # M u l t i p l i c a t i o n 3 ∗ 5 # D i v i s i o n ( gotcha : be sure to use f l o a t s ) 5/3.0 # Exponentiation 2 ∗∗ 3 # Order of o p e r a t i o n s 2 ∗ 3 − (3+4) ∗∗ 2 Mark Voorhies Practical Bioinformatics

  26. Introduction to Python Remembering objects # Use a s i n g l e = f o r assignment : TLC = ”GATACA” YFG = ”CTATGT” MFG = ”CTATGT” # A name can occur on both s i d e s of an assignment : c o d o n p o s i t i o n = 1857 c o d o n p o s i t i o n = c o d o n p o s i t i o n + 3 # Short − hand f o r common updates : codon += 3 weight − = 10 e x p r e s s i o n ∗ = 2 CFU /= 10.0 Mark Voorhies Practical Bioinformatics

  27. Introduction to Python Displaying values with print # Use p r i n t to show the value of an o b j e c t message = ” Hello , world ” print ( message ) # Or s e v e r a l o b j e c t s : print (1 ,2 ,3 ,4) # Older v e r s i o n s of Python use a # d i f f e r e n t p r i n t syntax print ” Hello , world ” Mark Voorhies Practical Bioinformatics

  28. Introduction to Python Comparing objects # Use double == f o r comparison : YFG == MFG # Other comparison o p e r a t o r s : # Not equal : TLC != MFG # Less than : 3 < 5 # Greater than , or equal to : 7 > = 6 Mark Voorhies Practical Bioinformatics

  29. Introduction to Python Making decisions i f (YFG == MFG) : print ”Synonyms ! ” i f ( p r o t e i n l e n g t h < 60): print ” Probably too s ho rt to f o l d . ” e l i f ( p r o t e i n l e n g t h > 10000): print ”What i s t h i s , t i t i n ?” else : print ”Okay , t h i s looks r e a s o n a b l e . ” Mark Voorhies Practical Bioinformatics

  30. Introduction to Python Collections of objects # A l i s t i s a mutable sequence of o b j e c t s m y l i s t = [1 , 3.1415926535 , ”GATACA” , 4 , 5] # Indexing m y l i s t [ 0 ] == 1 m y l i s t [ − 1] == 5 # Assigning by index m y l i s t [ 0 ] = ”ATG” # S l i c i n g m y l i s t [ 1 : 3 ] == [3.1415926535 , ”GATACA” ] m y l i s t [ : 2 ] == [1 , 3.1415926535] m y l i s t [ 3 : ] == [ 4 , 5 ] # Assigning a second name to a l i s t a l s o m y l i s t = m y l i s t # Assigning to a copy of a l i s t m y o t h e r l i s t = m y l i s t [ : ] Mark Voorhies Practical Bioinformatics

  31. Introduction to Python Repeating yourself: iteration # A f o r loop i t e r a t e s through a l i s t one element # at a time : i [ 1 , 2 , 3 , 4 , 5 ] : for in print i , i ∗∗ 2 # A while loop i t e r a t e s f o r as long as a c o n d i t i o n # i s true : population = 1 while ( population < 1e5 ) : print population population ∗ = 2 Mark Voorhies Practical Bioinformatics

  32. Introduction to Python Verb that noun! return value = function(parameter, ...) “Python, do function to parameter ” # Built − in f u n c t i o n s # Generate a l i s t from 0 to n − 1 a = range (5) # Sum over an i t e r a b l e o b j e c t sum ( a ) # Find the length of an o b j e c t len ( a ) Mark Voorhies Practical Bioinformatics

  33. Introduction to Python Verb that noun! return value = function(parameter, ...) “Python, do function to parameter ” # Importing f u n c t i o n s from modules import numpy numpy . s q r t (9) m a t p l o t l i b . pyplot as p l t import f i g = p l t . f i g u r e () p l t . p l o t ( [ 1 , 2 , 3 , 4 , 5 ] , [ 0 , 1 , 0 , 1 , 0 ] ) from IPython . core . d i s p l a y d i s p l a y import d i s p l a y ( f i g ) Mark Voorhies Practical Bioinformatics

  34. Introduction to Python New verbs def f u n c t i o n ( parameter1 , parameter2 ) : ”””Do t h i s ! ””” # Code to do t h i s return r e t u r n v a l u e Mark Voorhies Practical Bioinformatics

  35. Introduction to Python Summary Python is a general purpose programming language. Mark Voorhies Practical Bioinformatics

  36. Introduction to Python Summary Python is a general purpose programming language. We can extend Python’s built-in functions by defining our own functions (or by importing third party modules). Mark Voorhies Practical Bioinformatics

Recommend


More recommend