practical bioinformatics
play

Practical Bioinformatics Mark Voorhies 5/13/2019 Mark Voorhies - PowerPoint PPT Presentation

Introduction to Python Practical Bioinformatics Mark Voorhies 5/13/2019 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 5/13/2019 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 (VirtualBox, 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 tool: Python Mark Voorhies Practical Bioinformatics

  14. Introduction to Python Course platform: VirtualBox Host operating system (e.g., OS X) VirtualBox Debian Linux Web 8888 8088 Jupyter Browser launches Python3 Bash Bash 22 8022 Mark Voorhies Practical Bioinformatics

  15. Introduction to Python Host side bash commands # Unlock your RSA p r i v a t e key ssh − add ˜/. ssh /VM rsa # Copy a f i l e to the VM scp − P 8022 m y f i l e . t x t e x p l o r e r @ l o c a l h o s t : # Log i n t o the VM ssh − p 8022 e x p l o r e r @ l o c a l h o s t # Get help on a command man ssh Mark Voorhies Practical Bioinformatics

  16. Introduction to Python Guest side bash commands # Reboot the VM su shutdown − r now # Shut down the VM su shutdown − hP now # S t a r t a screen s e s s i o n screen # S t a r t Jupyter j u p y t e r notebook Mark Voorhies Practical Bioinformatics

  17. Introduction to Python Python shell: ipython (jupyter) notebook Mark Voorhies Practical Bioinformatics

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

  19. Introduction to Python Anatomy of a Programming Language 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 Binary files are like genomic DNA hexdump -C computers.png fp = open(“computers.png”) fp.read(50) fp.close() Mark Voorhies Practical Bioinformatics

  23. Introduction to Python Text files are like ORFs hexdump -C 3 4 2010.txt Mark Voorhies Practical Bioinformatics

  24. Introduction to Python OS X sometimes uses CR newlines hexdump -C macfile.txt tr ’ \ r’ ’ \ n’ < macfile.txt > unixfile.txt Mark Voorhies Practical Bioinformatics

  25. Introduction to Python Windows uses CRLF newlines hexdump -C dosfile.txt Mark Voorhies Practical Bioinformatics

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

  27. 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 5/3 # Exponentiation 2 ∗∗ 3 # Order of o p e r a t i o n s 2 ∗ 3 − (3+4) ∗∗ 2 Mark Voorhies Practical Bioinformatics

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

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

  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

Recommend


More recommend