practical bioinformatics
play

Practical Bioinformatics Mark Voorhies 4/24/2017 Mark Voorhies - PowerPoint PPT Presentation

Introduction to Python Practical Bioinformatics Mark Voorhies 4/24/2017 Mark Voorhies Practical Bioinformatics Introduction to Python Resources Course website: http://histo.ucsf.edu/BMS270/ Resources on the course website: Syllabus Papers


  1. Introduction to Python Practical Bioinformatics Mark Voorhies 4/24/2017 Mark Voorhies Practical Bioinformatics

  2. Introduction to Python Resources 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) On-line textbooks (Dive into Python, Numerical Recipes, ...) Programs for this course (Canopy, Cluster3, JavaTreeView, ...) Mark Voorhies Practical Bioinformatics

  3. Introduction to Python Homework E-mail Mark your python sessions (.ipynb files) after class E-mail Mark any homework code/results before tomorrow’s class Mark Voorhies Practical Bioinformatics

  4. Introduction to Python Homework E-mail Mark your python sessions (.ipynb files) after class E-mail Mark any homework code/results before tomorrow’s class It is fine to work together and to consult books, the web, etc. (but let me know if you do) It is fine to e-mail Mark questions Don’t blindly copy-paste other people’s code (you won’t learn) Mark Voorhies Practical Bioinformatics

  5. Introduction to Python Homework E-mail Mark your python sessions (.ipynb files) after class E-mail Mark any homework code/results before tomorrow’s class It is fine to work together and to consult books, the web, etc. (but let me know if you do) It is fine to e-mail Mark questions Don’t blindly copy-paste other people’s code (you won’t learn) If you get stuck, try working things out on paper first. Mark Voorhies Practical Bioinformatics

  6. 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

  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”. Analyzing data. 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”. Analyzing data. 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”. Analyzing data. 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”. Analyzing data. 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”. Analyzing data. 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”. Analyzing data. 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 (jupyter) 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 Python as a Calculator 1 Calculate the molarity of a 70mer oligonucleotide with A 260 = . 03 using the formula from Maniatis: C = . 02 A 260 (1) 330 L 2 Calculate the T m of a QuickChange mutagenesis primer with length 25bp ( L = 25), 13 GC bases ( n GC = 13), and 2 mismatches to the template ( n MM = 2) using the formula from Stratagene: T m = 81 . 5 + 41 n GC − 100 n MM − 675 (2) L Mark Voorhies Practical Bioinformatics

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

Recommend


More recommend