Regular Expressions

Regular Expressions

Biology Chemistry Informatics Welcome! Mass Spectrometry meets ChemInformatics WCMC Metabolomics Course 2013 Tobias Kind Course 1: General Introduction http://fiehnlab.ucdavis.edu/staff/kind 1 What is ChemInformatics? Chemistry Mathematics Statistics Informatics Chemometrics est. 1975 Cheminformatics est. 1998 2 Who uses Cheminformatics? All parts of chemistry heavily depend on cheminformatics. Life sciences, biochemistry, drug industries use cheminformatics. 20 years ago: 80% in lab – 20% in front of computer Now: 20% in lab - 70% in front of computer (*) Examples: • Organic chemistry – automated reaction planning, Beilstein search • Physical chemistry – modeling of structure properties (boiling points) • Inorganic chemistry – ligand bond interactions • Analytical chemistry – structure elucidation of small compounds • Biochemistry – protein/small molecule interaction networks (*) 10% fixing and installing new programs 3 PhD Motivation for Mass Spectrometry meets ChemInformatics To be a master of spectra you need to be a master of structures in the first place. 765 100 OH N NH O O 50 N 807 747 O 705 O N O HO O O O 676 723 604 265 353 395 455 513 538 636 0 260 310 360 410 460 510 560 610 660 710 760 810 (nist_msms) Vincristine Complex MS data interpretations only possible with software MS data obtained by hyphenated techniques (GC-MS, LC-MS) Mass spectral database search and structure search routinely are used Mass spectrometers deliver multidimensional data 4 Computer Illiteracy – a threat to your research Your computer is your friend You don’t have a computer? You don’t have a friend (just kidding) PDP-11 www.bell-labs.com • Assume you have a computer: Please step forward name: CPU, speed, memory, hard disk, OS • You are a chemist, biochemist, biologist: Please step forward name: Computer language or DB you know 5 OS = operating system; DB = database, CPU = central processing unit Fighting Computer Illiteracy - name your PC CPU INTEL,AMD,IBM,HP Pentium, Opteron, Xeon 12-20 Core Memory DDR, DDR2 GEIL, KINGSTON 16-128 GByte Hard disk SEAGATE, WD Raptor, Barracuda, Cheetah 100-1000 GByte OS MICROSOFT, LINUX Windows, Linux, OSX, Virtual OS Language C, Basic, Perl, JAVA Bit < Byte < kByte < MByte < GByte < TByte Single Core < Dual Core < QuadCore < MultiCore MFLOP/s < GFLOP/s < TFLOP/s < PFLOP/s Cray 2 in rot, Nixdorfmuseum, 2004, 1 Thread < Dual Thread < MultiThreaded 6 The free lunch is over – multithreading needed Can your metabolomics software use multiple CPUs? NO YES 7 Herb Sutter (MS): http://www.gotw.ca/publications/concurrency-ddj.htm The free lunch is over – multithreading needed Course example MZMINE alignment (7 files -18 min LC-MS) Single core vs. multi-core 50 seconds Mors certa, hora incerta! 3:29 minutes 8 Herb Sutter (MS): http://www.gotw.ca/publications/concurrency-ddj.htm Best recommendation ever for slow computers Install an SSD! Single hard disk SSD RAID10 RAMDISK Seagate 750 GB Samsung 830 (2 TB) OSFMount SSDs and Ramdisks have 200 to 1000-fold(!) 4k speed. 4k speed matters. 9 Computer Illiteracy – learn a programming language Why should you? 20% lab time – 80% computer time Mass spectrometers deliver data – not results Why shouldn't you? (fake reasons) You are too old to learn… You are not good with computers… Your have more important research to do… You are so rich you have programmers who work for you… 10 Picture Source: WIKI James Manners from Genova, Italia Computer Illiteracy – learn a programming language • Learn any language which has a large code and user base (JAVA, Perl, Visual Basic) • Use IDEs with automatic code completion like MS Visual Express or Eclipse • Don’t re-invent code - use (and document) code search engines like http://code.ohloh.net/ (formerly koders now ohloh); google.com/codesearch http://krugle.org moOMoOMoOMoOMoOmoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMo >>++++++++[<++++>-] OMMMmoOMMMMoOMoOMoOMoOMoOMoO >++++++++++++++[<+++++++>-] MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMo OMMMmoOMMMommMoOMoOMoOMoOMoO +>+++++++++++[<++++++++++>-] MoOMoOMoOMoOMoOMoOMoOMMMmoOMMMMoOMoOMMMmoOMMM ++>+++++++++++++++++++[<++++++>-] MoOMoOMoOMoOMoOMoOMoOMoOMoOMoO ++>+++++++++++++++++++[<++++++>-] MoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMoOMo >++++++++++++[<+++++++++>-] OMoOMoOMoOMoOMoOMoOMoOMoOMoO Language “cow” Language “brainfuck” Do *not* learn these working but esoteric languages 11 There are 1123 programming languages http://99-bottles-of-beer.net/ Program development – Eclipse for JAVA example JAVA or C code Projects Text output 12 Your computer Illiteracy – your emergency helpers Regular expressions; SQL database requests; EXCEL VBA scripts or Perl scripts are special tools for data handling (Swiss army knifes) Regular expressions (RegEx) are used for finding and replacing text [0-9] – represents all numbers Examples: \n\n – find double empty lines [a-z] – represents all small letters find \t replace with spaces “ “ \n – represents new line (CR/LF) find two numbers in brackets ([0-9][0-9]) \t – represents TAB Learn about RegEx SQL is used for programming databases Large Database Table SQL query Result yr subject winner yr subject winner 1901 Chemistry Jacobus H. van 't Hoff SELECT yr, subject, winner 1909 Chemistry Wilhelm Ostwald 1902 Chemistry Emil Fischer 1903 Chemistry Svante Arrhenius FROM nobel 1904 Chemistry Sir William Ramsay WHERE yr = 1909 and 1905 Chemistry Adolf von Baeyer subject = 'chemistry' 1906 Chemistry Henri Moissan 1907 Chemistry Eduard Buchner 1908 Chemistry Ernest Rutherford 1909 Chemistry Wilhelm Ostwald 1910 Chemistry Otto Wallach Visit the SQL Zoo 1913 … 13 Regular Expressions – example MS data Task: create a list of 4 columns with names, formulas, CAS numbers and peaks Problem: 24,000 lines of mass spectral data (*.msp) Program: Textpad (WIN), Smultron (Mac) 104 100 O N O 50 189 78 51 14 28 39 63 89 117 131 160 0 10 30 50 70 90 110 130 150 170 190 (mainlib) 2,5-Pyrrolidinedione, 1-methyl-3-phenyl- (m/z - intensity pair) Enter (CR/LF) in gray Number of lines in text 14 Regular Expressions – example MS data Solution: replace Enter (\n) with TAB (\t) and use Replace ALL 1 2 Result: Metadata in one line 3 15 Regular Expressions – example MS data Solution: copy only lines of interest (Mark ALL – Copy Bookmarked Lines) 16 Regular Expressions – Result for MS data Solution: Replace redundant code with nothing, copy tab separated file to EXCEL Result: 1:30 min for RegEx job (1 hour manually?) Average spectrum size: 70 peaks Minimum size: 5 peaks Maximum size: 439 peaks Most spectra have 35 and 45 peaks 17 Be prepared – visualize your structures Try Marvin Space via Webstart 18 Calculation of tetrahedral and double bond stereoisomers How many stereoisomers can you expect from glucose (KEGG)? Example: separation of species with ion mobility MS (FAIMS) O OH HO HO OH OH Glucose Example calculated with MarvinView (via JAVA Webstart) 19 Computation of resonance forms (electron shifts) What are possible resonant structures? Important for mass spectral interpretation (electron impact, electrospray) OH Phenol Example calculated with MarvinView Start via WebStart 20 Generation of tautomers using MSketch How many tautomers can you expect? Important for mass spectral interpretations and LC-MS. O CH3 H3C O Methyl acetate Example calculated with MarvinView Start via WebStart Derivatization in GC-MS and LC-MS solves the tautomer problem Common tautomerisms: Enol/Keto, Lactams, Amines/Imines, Amides/Imides 21 Property calculations on chemicalize.org 22 Mass spectral database search – know what exists How many mass spectra with formula C11H8O3 in NIST DB? Result: 19 for C11H8O3 in NIST05 DB Download NIST-MS-Search 23 Mass spectral interpretation Assign structural elements to mass spectral peaks Download Mass Spectrum Interpreter Version 2 24 Mass Spec Scissors (ACDLabs Free) Q: What is peak m/z 281 in negative mode? http://www.hmdb.ca/metabolites/HMDB09837 25 Molecular Weight Calculator Calculate isotopic masses Find formulas from masses Calculate isotopic patterns 100.0 80.0 60.0 40.0 20.0 Download MWTWIN 0.0 522.00 524.00 526.00 528.00 530.00 532.00 26 Structure search – know what could be possible How many compounds (isomer structures) are found in public databases? Result: 272 for C11H8O3 http://www.chemspider.com/ 27 Stay tuned – new mass spectrometry publications via Yahoo Pipes [LINK] [RSS] 28 Be open minded – NMR can do some things better 2D-NMR needed for de-novo structure elucidation NMR metabolic profiling is highly reproducible with low variance 29 ChenomX Profiler – with 312 pH and frequency tuned reference spectra NMR prediction with ChemAxon Msketch 30 The Last Page - What is important to remember: Learn about CPU type, memory, hard disks, bits and bytes; shock you colleagues with random questions about their computer Think about automation, thinks you would like to do (even if you can’t) shock you colleagues with a small computer script Use regular expressions for stupid or boring jobs you delete/replace data more than 3x - remember RegEx, RegEx, Regex Use scripting languages for small problems (EXCEL VBA, PERL) steal some small examples and color your EXCEL data in rainbow color Generate yourself a collection of programs and databases for MS try such programs in a Virtual Machine without messing up your system 31 .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    31 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us