practical bioinformatics
play

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

Practical Bioinformatics Mark Voorhies 4/6/2017 Mark Voorhies Practical Bioinformatics Loading and re-loading your functions # Use import the f i r s t time you load a module # (And keep using import u n t i l i t loads # s u c c


  1. Practical Bioinformatics Mark Voorhies 4/6/2017 Mark Voorhies Practical Bioinformatics

  2. Loading and re-loading your functions # Use import the f i r s t time you load a module # (And keep using import u n t i l i t loads # s u c c e s s f u l l y ) import my module my module . my function (42) # Once a module has been loaded , use r e l o a d to # f o r c e python to read your new code i m p o r t l i b r e l o a d from import r e l o a d ( my module ) Mark Voorhies Practical Bioinformatics

  3. Pearson distances Pearson similarity � N i ( x i − x offset )( y i − y offset ) s ( x , y ) = �� N �� N i ( x i − x offset ) 2 i ( y i − y offset ) 2 Mark Voorhies Practical Bioinformatics

  4. Pearson distances Pearson similarity � N i ( x i − x offset )( y i − y offset ) s ( x , y ) = �� N �� N i ( x i − x offset ) 2 i ( y i − y offset ) 2 Pearson distance d ( x , y ) = 1 − s ( x , y ) Mark Voorhies Practical Bioinformatics

  5. Pearson distances Pearson similarity � N i ( x i − x offset )( y i − y offset ) s ( x , y ) = �� N �� N i ( x i − x offset ) 2 i ( y i − y offset ) 2 Pearson distance d ( x , y ) = 1 − s ( x , y ) Euclidean distance � N i ( x i − y i ) 2 N Mark Voorhies Practical Bioinformatics

  6. Comparing all measurements for two genes Comparing two expression profiles (r = 0.97) ● ● 5 ● ● ● YFG1 log2 relative expression ● ● ● ● ● ● ● ● ● ● ● 0 ● ● ● ● ● ● ● ● ● −5 ● ● ● ● ● −5 0 5 TLC1 log2 relative expression Mark Voorhies Practical Bioinformatics

  7. Comparing all genes for two measurements ● ● ● ● ● ● ● ● 5 ● ● ● ● ● ● ● ● Array 2, log2 relative expression ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 0 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● −5 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● −10 ● ● −10 −5 0 5 10 Array 1, log2 relative expression Mark Voorhies Practical Bioinformatics

  8. Comparing all genes for two measurements Euclidean Distance ● ● ● ● ● ● ● ● 5 ● ● ● ● ● ● ● ● Array 2, log2 relative expression ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 0 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● −5 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● −10 ● ● −10 −5 0 5 10 Array 1, log2 relative expression Mark Voorhies Practical Bioinformatics

  9. Comparing all genes for two measurements Uncentered Pearson ● ● ● ● ● ● ● ● 5 ● ● ● ● ● ● ● ● Array 2, log2 relative expression ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 0 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● −5 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● −10 ● ● −10 −5 0 5 10 Array 1, log2 relative expression Mark Voorhies Practical Bioinformatics

  10. Measure all pairwise distances under distance metric Mark Voorhies Practical Bioinformatics

  11. Hierarchical Clustering Mark Voorhies Practical Bioinformatics

  12. Hierarchical Clustering Mark Voorhies Practical Bioinformatics

  13. Hierarchical Clustering Mark Voorhies Practical Bioinformatics

  14. Hierarchical Clustering Mark Voorhies Practical Bioinformatics

  15. Hierarchical Clustering Mark Voorhies Practical Bioinformatics

  16. It’s hard work at times, but you have to be realistic. If you have a large database with many variables and your goal is to get a good understanding of the interrelationships, then, unless you get lucky, this complex structure is bound to require some hard work to understand. Bill Cleveland and Rick Becker http://stat.bell-labs.com/project/trellis/interview.html Mark Voorhies Practical Bioinformatics

  17. Using JavaTreeView Mark Voorhies Practical Bioinformatics

  18. Adjust pixel settings for global view Mark Voorhies Practical Bioinformatics

  19. Adjust pixel settings for global view Mark Voorhies Practical Bioinformatics

  20. Select annotation columns Mark Voorhies Practical Bioinformatics

  21. Select annotation columns Mark Voorhies Practical Bioinformatics

  22. Select URL for gene annotations Mark Voorhies Practical Bioinformatics

  23. Select URL for gene annotations Mark Voorhies Practical Bioinformatics

  24. Activate and detach annotation window Mark Voorhies Practical Bioinformatics

  25. Activate and detach annotation window Mark Voorhies Practical Bioinformatics

  26. Activate and detach annotation window Mark Voorhies Practical Bioinformatics

  27. Clustering exercises – Negative controls Write functions to reproduce the shuffling controls in figure 3 of the Eisen paper (removing correlations among genes and/or arrays). Mark Voorhies Practical Bioinformatics

  28. Clustering exercises – Negative controls Write functions to reproduce the shuffling controls in figure 3 of the Eisen paper (removing correlations among genes and/or arrays). s h u f f l e G e n e s ( s e l f , seed = None ) : def ””” S h u f f l e e x p r e s s i o n matrix by row . ””” random import i f ( seed != None ) : random . seed ( seed ) i n d i c e s = range ( l e n ( s e l f . genes )) random . s h u f f l e ( i n d i c e s ) genes = [ s e l f . geneName [ i ] f o r i i n i n d i c e s ] s e l f . geneName = genes a n n o t a t i o n s = [ s e l f . geneAnn [ i ] f o r i i n i n d i c e s ] s e l f . geneAnn = genes num = [ s e l f . num [ i ] f o r i i n i n d i c e s ] s e l f . num = num Mark Voorhies Practical Bioinformatics

  29. Clustering exercises – Negative controls Write functions to reproduce the shuffling controls in figure 3 of the Eisen paper (removing correlations among genes and/or arrays). Mark Voorhies Practical Bioinformatics

  30. Clustering exercises – Negative controls Write functions to reproduce the shuffling controls in figure 3 of the Eisen paper (removing correlations among genes and/or arrays). def shuffleRows ( s e l f , seed = None ) : ”””Permute r a t i o v a l u e s w i t h i n rows . ””” import random i f ( seed != None ) : random . seed ( seed ) i s e l f . num : f o r i n random . s h u f f l e ( i ) Mark Voorhies Practical Bioinformatics

  31. Clustering exercises – Negative controls Write functions to reproduce the shuffling controls in figure 3 of the Eisen paper (removing correlations among genes and/or arrays). def shuffleRows ( s e l f , seed = None ) : ”””Permute r a t i o v a l u e s w i t h i n rows . ””” import random i f ( seed != None ) : random . seed ( seed ) i s e l f . num : f o r i n random . s h u f f l e ( i ) s h u f f l e C o l s ( s e l f , seed = None ) : def ”””Permute r a t i o v a l u e s w i t h i n columns . ””” random import i f ( seed != None ) : random . seed ( seed ) # Transpose the e x p r e s s i o n matrix c o l s = [ ] f o r c o l i n xrange ( l e n ( s e l f . num [ 0 ] ) ) : c o l s . append ( [ row [ c o l ] f o r row i n s e l f . num ] ) # S h u f f l e f o r i i n c o l s : random . s h u f f l e ( i ) # Transpose back to o r i g i n a l o r i e n t a t i o n s e l f . num = [ ] f o r row i n xrange ( l e n ( c o l s ) ) : s e l f . num . append ( [ c o l [ row ] f o r c o l i n row ] ) Mark Voorhies Practical Bioinformatics

  32. Homework 1 Explore different clustering methods and/or distance methods 2 Try additional shufflings of the data: how do they affect your ability to cluster the data? C.f. figure 3 the Eisen paper Permute the columns Independently permute the columns of each row Mark Voorhies Practical Bioinformatics

Recommend


More recommend