La bioinformatique a fait son apparition dans les années 1980 avec les premières banques de biomolécules (EMBL et GenBank).
Elle propose des méthodes et des logiciels qui permettent:
de gérer, d'organiser, de comparer, d'analyser, d'explorer
l'information génétique et génomique stockée dans les bases de données
But : Prédire et produire des connaissances nouvelles dans le
domaine ainsi qu'élaborer de nouveaux concepts
Les anglosaxons, pour leur part, distinguent deux termes.
bioinformatics: équivalent à notre terme bioinformatique
biocomputing: terme générique pour désigner le traitement sur ordinateur des données biologiques qui recouvre :
Instrumentationrobotique et analyse d'images (acquisition des données)
Archivage des données (bases de données)
Consultation des données (visualisation des données
interfaces)
La bioinformatique est fondée sur les acquis:
de la biologie,
des mathématiques de l' informatique.
C'est l'approche "in silico", qui vient compléter les approches classiques
"in situ" (dans le milieu naturel),
"in vivo" (dans l'organisme vivant)
"in vitro" (en éprouvette) de la biologie traditionnelle.
Approche par modélisation
Approche probabiliste. Elle consiste à étudier les objets (ex. : séquences, structures, motifs, etc., ...) à travers la construction d'un modèle qui tente d'en extraire les propriétés communes. La relation entre les objets d'étude (et/ou leur reconnaissance) est alors exprimée en référence à ce modèle optimal commun.
Méthode comparative
Des logiciels de comparaison explorent les bases de données (séquences, structures) de gènes et de protéines déjà identifiés et annotés par d'autres équipes scientifiques pour établir des rapprochements (similarités, homologies ou identités) avec des séquences ou structures inconnues que l'on étudie et que l'on cherche à identifier.
Méthode statistique
Des logiciels appliquent des
analyses statistiques aux
données (sur la syntaxe des
séquences) pour tenter de
dégager et de repérer des
règles et des contraintes
présentant un caractère
systématique, régulier ou
général.
L'informatique s'est imposée comme outil universel
dans tous les domaines pour manipuler, gérer et traiter les données.
une capacité de gestion de l'information dans les ∙bases de données
une capacité de calcul, donnant ainsi toute l'ampleur et la puissance à l'outil mathématique (échantillonnage, statistiques, calcul)
l'automatisation/robotisation/miniaturisation des opérations répétitives (notamment, comme on l'a déjà vu, en matière de séquençage)
l'interaction Hommemachine par l'intermédiaire des interfaces donnant accès à la représentation des données et des connaissances.
l'ordinateur a colonisé toutes les paillasses des laboratoires.
le travail et la communication en réseau
∙
Banques de données
Système d'exploitation Logiciels (navigateur web) spécialisés bioinfo
Matériel Applications
Utilitaires
(compilateur, éditeur,...)
Système d'exploitation
MinGW
U ni té centrale
P érip hériqu es
Le clavier (keyboard)
Majuscule
Verrouillage majuscule Tab
AltGr
à
0
@
Mot inventé en 1967 par Philippe Renard pour remplacer le terme anglais
"software".
Le logiciel est la partie non tangible de l'ordinateur.
Ce terme est utilisé comme synonyme de programmes disponibles pour une machine donnée.
Le logiciel est aussi indispensable au fonctionnement d'un ordinateur que le matériel luimême.
Trois types de logiciels
Les logiciels de base comme le système d'exploitation Les utilitaires (les langages de programmation,....)
Les applications (Traitement de texte, comptabilité ...)
Le logiciel
(Anglais : Software)
Un ensemble de programmes qui remplissent deux grandes fonctions :
1) Gérer les ressources de l’installation matérielle en assurant leurs partages entre un ensemble plus ou moins grand d’utilisateurs
2) Assurer un ensemble de services en présentant aux utilisateurs une interface mieux adaptée à leurs besoins que celle de la machine physique
Le système d’exploitation d’un ordinateur
(OS: Operating System)
Finalités du système d’exploitation
Gestion des informations : stockage, recherche, protection
Gestion des ressources matérielles et logicielles : optimisation, sécurité, exécution des applications, partage entre usagers
Assurer une sécurité vis à vis du matériel et personnel
Rendre compte de l’activité de la machine
"Coeur" de l'OS
Qualités d'un système d'exploitation
Fiabilité :
Limiter les conséquences des défaillances matérielles ou des erreurs des utilisateursEfficacité
: Utiliser au mieux les ressources et possibilités matériellesFacilité d'emploi:
Offrir un langage de commande (dialogue usager/système) et des diagnostics d'erreurs (système/usager)Adaptabilité
: Permettre des modifications matérielles et logicielles les plus simples possibles à l'aide d'outils spécialisés.Mesurabilité
: Enregistrer la comptabilité des ressources utilisées par les usagers, mesurer les paramètres de fonctionnement et de charge.Système d'exploitation
Multitâche :
Il gère une file d’attente mais n’exécute pas deux tâches en même temps !Exécution séquentielle
Exécution pseudoséquentielle
Exécution parallèle Processeur #1
Processeur #2
Système d'exploitation
Monoutilisateur Multiutilisateur
UNIX
∙ Créé par Ritchies et Thomson, dans les laboratoires BELL en 1970
∙ Ecrit à 90 % en langage C.
∙ Marque déposée, d’où l’existence de versions voisines : HP/UX, XENIX, AIX, SOLARIS, LINUX...
∙
∙ Plusieurs interfaces graphiques (X11, GNOME, KDE). Interfaces aisées
∙ Gestion hiérarchique des fichiers (arbre inversé)
∙ Sécurité sur chaque fichier
∙ Indépendance des périphériques
∙ Informations temporelles sur les fichiers
∙ Exécution directe (interactif) ou masquée (tâche de fond)
∙ Redirection d’entrée/sortie
∙ Environnement modulable Multitâche
Multiutilisateurs
LINUX
Historique
En 1991, un étudiant finlandais, nommé Linus Torvalds, a acheté un micro
ordinateur de type PC, afin d'étudier la programmation du microprocesseur i386. Il a tout d'abord utilisé un clone d'Unix, peu cher, appelé Minix.
Linus Torvalds a commencé à réécrire certaines parties du système afin de lui ajouter des fonctionnalités et de le rendre plus efficace.
La première version (code source) de Linux (version 0.1 en août 1991) est diffusée via Internet.
Développement communautaire
Le développement du noyau Linux, ainsi que des utilitaires nécessaires pour en faire un système compatible avec Unix, a été mené de manière intensive par un ensemble de programmeurs, situés aux quatre coins du monde,
communiquant via le réseau Internet.
Linux pour tout type de processeur
Linux est aujourd'hui un clone efficace d'Unix fonctionnnant sur de nombreuses plateformes (PC386, Amiga , Atari, Apple, consoles de jeux, PDA,...).
L. Torvalds reste l'autorité suprême quant aux choix technologiques de l'organisation du noyau.
Linus Torvalds
Tux, mascotte de Linux
Windows NT/2000/XP (Microsoft)
Caractéristiques :
∙ système entièrement 32 bits
∙ portables sur plusieurs platesformes (Intel, Alpha, Mips, Power PC)
∙ système sécurisé
∙ permettent l’installation d’un réseau relativement facilement
∙ capacité de faire fonctionner des applications DOS™ et Windows™ 3.x relativement bien
∙ reconnaissance du système de fichiers FAT (DOS), NTFS (propre à WINDOWS NT™) et même HPFS (OS/2).
∙ Monoutilisateur
∙ Multitâche
MAC OS (Apple)
Caractéristiques :
∙ Système entièrement 32 bits
∙ Monoutilisateur
∙ Multitâche
Version MacOS X développé sur base UNIX
Ne fonctionne que sur des machines du constructeur Apple
Interface système d'exploitation / Utilisateur: Mode Texte Interaction via le clavier dans:
shell (UNIX)
Invite de commandes (Winxx)
Fenêtre DOS
Interface système d'exploitation / Utilisateur: Mode Graphique
Interaction via le clavier Un pointeur: la souris
Environnement multi-fenêtres
Fenêtres
Menus déroulants Boîtes de dialogue
Extrait de
Squeak: ObjectOriented Design with multimedia Applications, M. Guzdia
Pas à pas avec une fenêtre
Fenêtre active ou non Agrandir Fermer
Restaurer Réduire
Barre de titre
Barre de tâches
Pas à pas avec une fenêtre
1
2
3 1
2
4
3
3 3
Utilitaires
Compilateurs, interpréteurs .... langages de programmation Langages de bas niveau
Les ordinateurs ne peuvent exécuter que des programmes écrits en langages de bas niveau appelés aussi langage machine ou langage assembleur ( ~instructions des calculatrices).
Inconvénients: Très difficile
☺☺☺☺
A écrire pour chaque type d'ordinateur Langages de haut niveau
Exemples: C, C++, Eiffel, Fortran, Java, Pascal, Python, Perl, Ruby, ...
Avantages: Facilité d'utilisation:
Ecriture rapide, plus court, facile à lire et correct.
Les langages haut niveau sont portables (même texte fonctionne sur tout type d'ordinateurs).
Inconvénient: Traduire en langage bas niveau => temps de calcul
#include <stdio.h>
main() {
for(;;) {
printf ("Hello World!\n");
} }
class HELLO_WORLD creation
make feature
make is do
io.put_string("Hello World!%N") end make
end class HELLO_WORLD
while (1) :
print "Hello World";
class HelloWorld {
public static void main (String args[]) { for (;;) {
System.out.print("Hello World ");
} }
}
Langage C
Python
Java
Eiffel
204 langages de programmation
(instructions en langage haut niveau)
Utilitaires: Code source, compilé, interprété et exécutable Interpréteur
Compilateur
Alternativement lit une ligne et l'exécute
Avantage: Presque pas d'attente au lancement.Souplesse d'utilisation.
Inconvénient: Temps d'exécution lent pour applications critiques (graphique 3D).
Traduit l'ensemble en code objet ou exécutable
Avantage: Performant en vitesse.A chaque lancement de l'exécutable, il n'y a plus de calcul préalable.
Inconvénient: Temps de compilation long pour grosse application.
Applications et licences d'utilisation
Licences propriétaires
Exécutable est fourni au client gratuitement ou non. (Ex: Acrobat Reader (gratuit) ; MS Office (payant))
Le concepteur du logiciel en est le propriétaire.
Avoir une licence (souvent payante) par machine (et non par site!!).
Copies interdites.
Avantages:
Accès à des technologies protégées par des brevets.
Inconvénients:
Fiabilisation du logiciel longue car seul le propriétaire est en charge de la maintenance.
Logiciel souvent disponible sur faible nombre de plateformes
Si fermeture de l'entreprise, le logiciel disparaît et vos données sont inutilisables.
Logiciels libres
Selon la FSF (Free Software Foundation), à l'origine du concept, le logiciel libre est:
un logiciel fourni avec l'autorisation pour quiconque:
●de l'utiliser
●de le copier
●de le distribuer
soit sous une forme conforme à l'original, soit avec des modifications, ou encore gratuitement ou contre un certain montant.
Pour être libre, un logiciel doit respecter quatre libertés fondamentales :
la liberté d'exécution la liberté d'étude
la liberté de redistribution des copies la liberté d'amélioration
Cela siginifie en particulier que son code source doit être disponible.
Le logiciel libre estil toujours "gauche d'auteur" (copyleft)?
Le concept de la licence "gauche d'auteur" (copyleft en anglais) consiste à s'appuyer sur le droit d'auteur (copyright en anglais) pour
garantir qu'aucune personne morale ou physique ne pourra s'approprier le code source gauche d'auteur. Le code source est reversé à la communauté.
(Copyleft All rights reversed vs Copyright All rights reserved).
Les licences libres GPL (General Public Licence) et LGPL (Library General Public Licence)
Les licences BSD (Berkeley Software Distribution)
La licence GPL et ses consoeurs
La licence libre GPL (General Public Licence)
La forme la plus radicale est défendue par la FSF dont le président est Richard Stallman.
Inconvénients
(i): La liberté de diffusion est contrainte. Toute modification du code source sous GPL doit être rendue à la communauté.
Une entreprise est obligée de redistribuer le code source de son produit si elle a utilisé du code GPL.
(ii): Le code GPL appartient à son développeur qui peut changer de licence à tout moment.
Rencontres Mondiales du Logiciel Libre Pessac, 2004
La licence GPL et ses consoeurs
Licences libres adoucies
La licence LGPL (Library General Public Licence) est une GPL adoucie permettant d'utiliser une libraire sous logiciel propriétaire.
La licence BSD (Berkeley Software Distribution) antérieure à GPL plus permissive
>Possibilité de modifier le code source sans retour à la communauté.
La licence chronodégradable: Code source d'une version antérieure disponible à la sortie du nouveau produit. Ex: ID Software a libéré le code de Doom 4 ans après la sortie du logiciel de jeu.
Licences Open Source
Un logiciel libre est toujours Open Source;
Un logiciel Open Source est généralement libre.
L'OSI (Open Source Initiative) joue un rôle d'organe certificateur et, sur base de neuf critères caractérisant un logiciel Open Source, dresse une liste de licences respectant l'appellation Open Source.
A sa création, le terme Open Source devait lever l'ambiguité du free de Free Software. En anglais, Free signifie à la fois libre et gratuit. Hors, s'il l'est souvent, un logiciel libre n'est pas toujours gratuit.
Malheureusement, le terme Open Source entraîne une nouvelle ambiguité : celle qu'un logiciel "à source ouverte" n'est pas forcément libre.
Différence Free Software vs Open Source
Les partisans du Free Software s'attachent à l'importance de la liberté du logiciel
Les partisans de l'Open Source ont une optique plus commerciale (protéger la propriété intellectuelle de l'entreprise) et mettent l'accent sur le modèle technique de développement de logiciel.
Je suis utilisateur: Qu'estce que je fais?
Le logiciel libre
Le code source permet de maintenir le logiciel ad vitam eternam. C'est donc une sécurité pour l'utilisateur surtout pour les logiciels spécialisés à faible diffusion (comme les logiciels scientifiques)
Fiabilité et implantation de nouvelles fonctions d'un logiciel rapides.
Possibilité de se faire « dépanner » par la communauté d'utilisateurs et/ou de développeurs.
Le logiciel libre la plupart du temps gratuit est une:
alternative au "piratage" des logiciels payants
.Internet /intairnait/ n. m.
[INTERNET] Abrév. de « International Network ». réseau mondial de réseaux interconnectés par l'intermédiaire du protocole TCP/IP.
Le plus grand réseau d'ordinateurs du monde à l'heure actuelle, qui est en fait un ensemble de réseaux interconnectés. Les origines de
l'Internet remontent aux années 1960
Internet sert essentiellement au courrier électronique, au
téléchargement de fichiers dans le monde entier, à la discussion en
temps plus ou moins réel (IRC ou l'Usenet), au jeu (MUD, MUSE), ainsi qu'à l'accès à des serveurs en mode clientserveur comme ceux du
web. On ne se connecte jamais sur Internet directement, mais sur un autre réseau, qui sera peutêtre capable d'échanger des données avec le monde entier par l'intermédiaire du protocole TCPIP.
Réseau internet
« le réseau des réseaux »
Historique Réseau internet
années 60 : ARPA (U.S Defense Department's Advanced Research Projects Agency)
fin 1969 : premiers échanges entre 4 machines aux USA
système baptisé ARPANET (21 novembre 1969)
1973 : mise au point du protocole TCP/IP et des adresses IP (concept de transmission fiable)
1990 : fusion d'ARPANET et NFSNET en INTERNET
années 90 : croissance exponentielle (10 à 20 % par mois) sous l'impulsion du Web
1. Infrastructure
2. Moyen de transport
3. Service
Architecture réseau
Physique Réseau
Liaison données Transport
Session
Présentation
Application
Ethernet /etairnait/ np. m.
[PROT] Norme de réseau local (LAN) relativement puissante et très répandue, inventé en 1970.
Il autorise dans sa version de base, des transferts à 10 Mbps. On trouve actuellement des versions à 100 Mbps et à 1000 Mbps (gigabit).
L'ethernet a été inventé à l'université d'Hawaii, dont le problème était de relier des sites sur des îles distantes, d'où l'idée de passer par les ondes de la
radio, donc par « l'éther ».
Physique
Liaison données Connectique
Gestion des erreurs
●
Répéteur
●
Pont (Bridge)
●
Concentrateur (Hub)
●
Commutateur (Switch)
●
Routeur (Router)
Les équipements d'interconnexion
Réseau Transport
Physique
Liaison données
IP: Internet Protocol
Responsable de déplacer les paquets de données d'un noeud à un autre
TCP: Transmission Control Protocol
Responsable de vérifier si les données sont correctement distribuées
Protocoles TCP, UDP
Adresse IP et routage
Adresse IP
192.168.1.1
192.168.1.2
xxx.xxx.xxx.xxx
Réseau Classe C 130.132.91.*
Réseau Classe B 130.132.*.*
(64. 106 ordinateurs)
Réseau Classe A 130.*.*.*
130.132.91.120
FAI
DHCP
Attribution d'une adresse IP temporaire
Dynamic Host Configuration Protocol
Table routagede
Remise directe Remise indirecte
Architecture de réseau
Physique Réseau
Liaison données Transport
Session
Présentation
Application FTP
File Transfer ProtocolTransfert de fichier
SMTP
Simple Mail Transfer ProtocolPOP
Post office ProtocolCourrier électronique
HTTP
Hyper Text Transfer ProtocolHypertexte
Physique
Liaison données
Client Service Serveur
Client
Serveur
21
80
Service FTP
Service HTTP
Service #3
+ logiciel Client
Ports (0 à 65535)
IP + port = socket
Le World Wide Web
Historique
1965 : Naissance du langage hypertexte (Ted Nelson)
1987 : Lancement d'Hypercard (logiciel Apple) utilisant l'hypertexte
Mars 1989 : Tim BernersLee (CERN, Genêve) publie "Hypertexte et le CERN"
Octobre 1991 : Lancement du premier Web (CERN) en mode texte et du premier navigateur intitulé
"World Wide Web"
Janvier 1993 : Il existe une cinquantaine de serveurs http dans le monde. Version alpha du premier browser graphique pour Unix et Macintosh (CERN)
Février 1993 : Première version du navigateur Mosaic sous Unix au NCSA (National Center for Superconducting Application)
Octobre 1993 : Première version de Mosaic sous Macintosh et Windows Mars 1993 : Début du développement du navigateur Netscape
Juillet 1993 : Création du WWW Consortium pour établir les standards du Web Octobre 1994 : Lancement de Netscape 1.0 pour PC, Macintosh et Unix
Février 1995 : 4 millions d'utilisateurs de "Netscape" (75% des browsers) Novembre 1995 : Netscape sort en version 2.0 (News, Email, Javascript) Décembre 1995 : Microsoft lance Internet Explorer 2.0
1996 : "guerre" Netscape (Navigator 3.0) vs Microsoft (Internet Explorer 3.0)
HTTP
HTTP
HTTP Pag es H TML
Navigateur
<title>My first HTML document</title>
<h1>An important heading</h1>
<h2>A slightly less important heading</h2>
<p>This is the first paragraph.</p>
<img src="peter.jpg" width="200" height="150">
This is a link to <a href="http://www.w3.org/">W3C</a>.
An important heading
A slightly less important heading
This is the first paragraph
This is a link to W3C
Adresse IP
Adresse FQDN
Adresse URL
Adresse FQDN
(Fully Qualified Domain Name)
jean.dupont@iecb.ubordeaux1.fr nom@organisation.domaine
Domaines (regroupés en classes) com : entreprises commerciales edu : éducation
gov : organismes gouvernementaux mil : organisations militaires
net : organismes fournisseurs d'internet org : autres organismes
Domaines (regroupés par pays) fr : France
uk : Grande Bretagne ca : canada
iecb.ubordeaux1.fr
147.210.23.54
Adresses FQDN <> IP
DNS: Domain Name Service
147.210.23.54
Adresse URL
(Uniform ressource Locators)
Service://<user>:<passwd>@<host>:port/<urlpath>
file
file:///repertoire/fichier.txt
Permet d'accéder à un fichier présent sur votre disque dur
file:///home/etudiant/mes_images file:///c|tmp/fichier.txt
http
http://serveur:port/repertoire/fichier.html Permet d'accéder à un serveur Web.
http://www.google.fr
http://www.ubordeaux1.fr:8080/bx1/p1_presentation.html
ftp
ftp://serveur/repertoire/fichier.txt
Permet d'accéder à un fichier présent sur un serveur ftp
ftp://ftp.lip6.fr/pub/linux
mailto
mailto:nom@organisation.domaine
Permet d'envoyer un courriel à l'utilisateur.
mailto:jean.dupont@iecb.u_bordeaux.fr
telnet
telnet://nom:password@serveur:port
Permet d'ouvrir une session telnet sur une ordinateur distant
telnet://dupont:Kli65@iecb_graphic
Autres types d'URL
gopher, news, wais, prospero,...