0. Introductory Block on Basics on Linux and Programming (6 Hrs.)
0.1. Hardware and Software Basic concepts.
0.2. Linux environment.
• History.
• Why Linux? Key properties.
• Basic concepts and usage.
• Useful command-line utilities for text file processing: grep, find, sed, awk, pipes…
0.3. Programming languages basic concepts
• Machine language and language levels
• Compiled and interpreted languages
• Programming paradigms
• Basic syntax
• Basic Data Structures and Data Types
• Operators
• Flow Control Structures
• Conditionals
• Loops
• Subroutines
• Input/Output
1. Introduction to Bioinformatics
1.1. R programming language and environment (6 Hrs.)
• Brief introduction and summary of key properties.
• Input data formatting.
• Main general-purpose functions.
• Main statistical functions.
• Plotting your data.
1.2. Perl and BioPerl (8 Hrs.)
• Summary of Perl concepts and properties.
• Principles of Perl Object-Oriented programing.
• Sequence and file manipulation with Perl and BioPerl (a comparison).
• Using the SAMTools Bioperl interface.
• Creating graphics from sequence data with BioPerl.
1.3. Relational Databases (6 Hrs.)
• What is a database? What is a Relational Database?
• Relational concept and SQL.
• SQL: Characteristics and summary of main elements.
• Brief introduction to MySQL RDBMS.
• Creating relational databases from sequence data.
• Scheme models.
• Perl DBI interface.
• Creating, querying and manipulating databases with Perl (DBI, BioPerl, …).
1.4. Computing clusters (2 Hrs.)
• CRAG computing cluster as an example
1.5. Useful computing concepts in Bioinformatics (4 Hrs.)
• Random number generation and simulation concepts
• Basic principles of parallel programming
• Need for speed? Use C language.
• Needs, questions, advices, suggestions for specific problems of attendees.