Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS4710 Why Progam?. Why learn to program? Utility of programming skills: understand tools modify tools create your own automate repetitive tasks automate.

Similar presentations


Presentation on theme: "CS4710 Why Progam?. Why learn to program? Utility of programming skills: understand tools modify tools create your own automate repetitive tasks automate."— Presentation transcript:

1 CS4710 Why Progam?

2 Why learn to program? Utility of programming skills: understand tools modify tools create your own automate repetitive tasks automate system tasks renaming files searching entire directories perform simulations

3 Paradigms of programming imperative  Perl  Fortran  C  Python object-oriented  Java  C++  Perl  Python functional  Lisp  Scheme

4 Notable Resources GenBank  www.ncbi.nlm.nih.gov/GenBank www.ncbi.nlm.nih.gov/GenBank  (Nat’l center for biotechnical info)  most know sequence data Protein Data Bank (PDB)  http://www.rcsb.org/pdb http://www.rcsb.org/pdb  structural info of proteins BLAST  alignment tool BioPerl module

5 Why Perl? de facto standard for bioinformatics researchers  BioPerl module especially apt for “string” manipulation  “ASCII text” available for every platform useful for “scripts” useful for CGI-scripts (web app.) PERL: Practical Extraction and Report Language relatively quick program development

6 May want to also consider Python also extensively used for Bioinformatics especially apt for “string” manipulation  “ASCII text” available for every platform useful for “scripts”, function writing, and even object-oriented style quick program development very clean syntax supports regular expressions  via the module re http://www.python.org re module info biopython.org modules biopython.org

7 ASCII American Standard Code for Information Exchange assigns a numeric value to characters letters, punctuation, digits,... used to help store info in computer form (binary)

8 ASCII codes 32 is space 33 is ! 48-57 are 0-9 65-90 are A-Z 97-122 are a-z http://www.asciitable.com why is ascii important to you?  (db query results)

9 “Platform” Operating system  MS Windows Vista XP NT 2000  Unix Sun Solaris SGI  Linux RedHat's Fedora distribution SuSE distribution Gentoo distribution  Mac OS X (based on BSD Unix)

10 Operating System Is a layer of software running on the computer’s hardware Controls the hardware resources Determines the user interface  remember DOS?  Macintosh/Apple led graphical interfaces Application programs run on top of the OS

11 Open Source Programs Allows one access to the original code of a program (vs. big business)  Linux  Perl  Mozilla's web browser Firefox Mozilla  Mozilla's news and email reader Thunderbird Mozilla  Apache web server OSI - open source initiative  http://opensource.org http://opensource.org  http://bioinformatics.org http://bioinformatics.org

12 Writing and running a perl program 1)enter source code into a file (.pl) 2)save the file 3)compile and run a) perl filename.pl, or b)./filename.pl*do chmod first 4)make modifications and repeat if needed

13 Types of debugging incremental programming helpful thorough testing  white box  black box  regression print statements - old reliable actual debuggers - software to help you trace your code, set breakpoints, view variable values, etc

14 Types of program errors syntax semantic (logic) runtime

15 Windows vs Unix terminology file  program source code  data directory  same as MS Windows “folder”  subdirectory  in Unix,. always refers to your current directory.. always refers to the parent directory

16 Unix command: chmod file and directory security changes file or directory permissions your perl file must be set to executable  ls -l  chmod u+x filename.pl  ls -l user/group/other & r w x

17 Perl Resources http://www.cpan.org  comprehensive perl archive network O’Reilly sources:  http://www.perl.com/catalog/begperlbio http://www.perl.com/catalog/begperlbio  http://www.perl.com http://www.perl.com  http://www.perl.org http://www.perl.org We will use Perl version 5 or higher  perl -v  Unix command:which perl  get the “binary” not the source code

18 Other software and info Use http://www.google.comhttp://www.google.com MS Windows: download and install “putty”  SSH client  security vs. Telnet and ftp  host: acme.gatech.edu know where to get GT computer account help  http://www.oit.gatech.edu http://www.oit.gatech.edu  http://faq.oit.gatech.edu/cgi-bin/mainmenu?all http://faq.oit.gatech.edu/cgi-bin/mainmenu?all

19 Newsgroups & Website locate some for biology, genetic research, bioinformatics set up a newsgroup & email “client”  http://www.mozilla.org (Thunderbird) http://www.mozilla.org set up a better browser if you like: Firefox  http://www.mozilla.org http://www.mozilla.org  “tabbed” web browser The course’s newsgroup:  git.cc.class.cs4710 The course's website:  http://www.cc.gatech.edu/~sweat (and click from there) http://www.cc.gatech.edu/~sweat  also have a "swiki" or "coweb" for the class.


Download ppt "CS4710 Why Progam?. Why learn to program? Utility of programming skills: understand tools modify tools create your own automate repetitive tasks automate."

Similar presentations


Ads by Google