20170519 class lecture note

From Biolecture.org

2017.05.19 Bioinformatics class lecture note.


Topic : Bioprogramming

> Today, we mainly talk about definition of bioprogramming, some Perl functions and 'grammar'.


I. Some Perl functions

  1. #!/usr/bin/perl : As the Perl is a program, we need to load to use it. This code meens load and make a new script.
  2. use : A calling function. We also need some 'rules' for using and handling codes, so by use 'use' function, load the set of rules.
    • ex) use strict / warning
    • At the above codes, 'strict' and 'warning' are  'library'; by definition of the professor, it's 'a set of books', but in the programming, 'a set of rules' for handling the Perl program comfortably.
  3. my* : Function restricting a boundary of a section. Computer has memory divided as sections, and when we use the function, we can make or define a variable's boundary.
    • ex ) my $Bioinformatics
  4. Also there are some types of variables.
    • @ : array ( sets in a box; the 'a' means 'array' and a circle surrounding 'a' means box. It's easy to understand when imagining the mathematical array form.)
      • ex) ( 1, 2, 3, ... )
    • % : hash ( divided key and value. A circle is a key and the another is a value.)
      • ex) ( 1, 2 / 3, 4 / .... )
    • $ : scaler ( just simply, one unit. 'S' means the name 'Scaler' and the bar means 'one'.)
      • ex) 1, 2, 3 ....

II. Bioprogramming.

> There are two definition of 'Bioprogramming' by the professor, Jong.

  1. Bioprogramming as the natural process of information "propagation" in the universe.
  2. Bioprogramming as programming technique in bioinformatics.

- In point of second definition, Jong said Bioprogramming is quite different with IT programming because bioprogramming is dealing with biological data to define the "rules" of nature. However the IT programming may just handle and consider the data from human beings such as bank data or Big data. That means we need to keep well biological knowledges if we'd like to do the bioprogramming.

- Jong said, Bioinformatics are hacking a circuit of life based on the protein or other biological data like genomics, and analyzing it.

- In point of the second definition again, there are several important things we need to achive. 

  1. Guru level coding.
  2. Understanding computer hardware.
  3. Parsing ability. (text manipulation; finding and applying rules.)
  4. Database. ( MySQL; an effective program taking and dealing with test and huge data.)

III. Grammar and Compiler

> We also discuss the grammar ( or rules ) and compiler ( translater ).

- First, there are several languages for computer. The basic and first one is machine code, which is recognized by computers, and expressed by 0 and 1. The next steps of codes' development are assembly code, C code, basic easy program languages and Perl, in order.

- Actually it's almost impossible to write the machine code by human hands, so we use the 'compilers', translaters converting source codes ( for example, the Perl. ) to binary code ( which computer can recognize and execute. ).

- Then, What is the 'grammar' in bioprogramming? Saying easily, that is the common 'rule'. To explain this concept, Jong took the Avram Noam Chomsky's linguistic structures and rules, and expanding that, he said some rules do also exist in programming as the source codes are a kind of languages.

- Compilers have the rules* for translating source codes to binary forms and understanding the rules are most important point. Expanding that thoughts, if it's possible to understand the rules or grammars of life, we can understatnd and know the 'life' when we've done.

End.

Lecture note and Summary

Jeonghu Kim - Bioinformatics