LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Bonjour ! ● LAMY Jean­Baptiste – – ● [email protected] Bureau 149 Campus virtuel – Document du cours et TP à venir sur : http://www­limbio.smbh.univ­paris13.fr/campusvirtuel/ LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Programme d'informatique L2 ● 7 TD/cours de 2H chacun 1)Introduction et commande Unix 2)Programmation Python – base et conditions 3)Programmation Python – boucles 4)Programmation Python – dictionnaires 5)Programmation Python – fonctions 6)Programmation Python – modules 7)Programmation Python ● 4 TD/TP de 4H chacun 1)Programmation Python 2)Programmation Python 3)Programmation Python 4)Programmation Python LAMY Jean­Baptiste 1/2007 Introduction, Unix TD/cours 1 : Introduction, Unix LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Informatique et biologie ? ● ● La biologie génère énormément de données, d'informations et de connaissances Les problèmes sont de plus en plus complexes LAMY Jean­Baptiste ● Chimie – Structures moléculaires 1/2007 TD/cours 1 : Introduction, Unix LAMY Jean­Baptiste ● Biochimie – Métabolisme 1/2007 TD/cours 1 : Introduction, Unix LAMY Jean­Baptiste ● Génétique – – Séquence d'ADN Puce à ADN 1/2007 TD/cours 1 : Introduction, Unix LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Le traitement initial du diabète de type 2 doit toujours reposer sur le régime et les modifications des habitudes de vie (exercice physique), dont l’effet sera apprécié au bout six mois (Recommandation de grade A). Ces règles hygiéno­diététiques seront poursuivies indéfiniment avec la même rigueur durant le traitement médicamenteux (Recommandation de grade A). ● Médecine – – Guide de bonnes pratiques Données patient Dans la forme commune du diabète de type 2, la mise à un traitement par insuline n’est pas recommandée lors de la découverte de la maladie (Accord professionnel). Chez les sujets avec surpoids important (indice de masse corporelle > 28 kg/m²), l’utilisation de la metformine en monothérapie est recommandée comme traitement de première intention de normalisation glycémique (Recommandation de grade B). Chez les sujets sans surpoids ou avec surpoids modéré (indice de masse corporelle < 28 kg/m²), il est proposé de laisser en libre choix pour le traitement de première intention de normalisation glycémique les sulfamides hypoglycémiants (SH) (et les molécules apparentées), la metformine et les inhibiteurs des alphaglucosidases (Accord professionnel). Le choix de la classe thérapeutique dépend de l’âge, des comorbidités et du degré d’hyperglycémie. En situation d’hyperglycémie importante, les sulfamides hypoglycémiants et la metformine seront privilégiés (Recommandation de grade B). Une majoration progressive des posologies, quelle que soit la classe thérapeutique utilisée sera entreprise par paliers d’une durée le plus souvent 4 semaines (Accord professionnel). Chez tous les patients, l’effet du traitement médicamenteux de première intention sera évalué à 3 mois et à 6 mois en mesurant l’hémoglobine glyquée (HbA1c) (Recommandation de grade B). Lorsque la valeur de l’ HbA1c se situe entre 6,5 % et 8 %, une modification du traitement peut être envisagée en prenant en compte l’âge du patient, l’ancienneté du diabète, ses comorbidités et le rapport avantages / inconvénients d’un changement de traitement (Accord professionnel). Lorsque la valeur de l’HbA1c est 8 %, une réévaluation de la stratégie thérapeutique doit habituellement être envisagée en prenant compte l’âge du patient, l’ancienneté du diabète, ses comorbidités (Accord professionnel). [...] LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix À quoi peut servir l'informatique ? ● Stocker de grandes quantités de données : – – Séquences d'ADN, génômes Base de données de patients ● Rechercher parmi ces données ● Traiter ces données très rapidement – ● Visualiser les résultats de manière efficace – ● La puissance des ordinateurs doublent tous les ans ! Images 3D, CD­ROM grand public,... Communiquer avec la communauté scientifique – Email, forum, écriture d'articles,... LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix À quoi peut servir l'informatique ? ● ● L'informatique devient un outil indispensable pour le biologiste Cependant ce nouvel outil demande un minimum d'apprentissage pour que le biologiste puisse déléguer une partie de son travail à la machine – Cours de programmation LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Débouchés : la bioinformatique ● Profils recherchés : – – ● Techniciens et ingénieurs double compétence Chercheurs, en milieu public et privé (R&D) Types de travaux : – – – Création d'outils d'analyse de données, promis à une large diffusion dans la communauté : DB, LIMS ... Création d'outils de recherche dédiés, spécifiques à une problématique, et utilisés pour ses propres travaux Interface entre équipes de biologistes et informaticiens LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Débouchés : informatique médicale ● Profils recherchés : – – ● Types de travaux : – – ● Gestion des données médicales (dans les hôpitaux,...) Logiciels pour les médecins, les pharmaciens, les biologistes,... Peu de filières spécialisées en L et M, mais des modules (exceptions : Paris 7, ex­DESS sur Evry et Rouen) – ● Techniciens et ingénieurs double compétence Chercheurs, en milieu public et privé (R&D) M1­M2 Informatique bio­médicale Les débouchés sont ouverts aux autodidactes ! LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix L'ordinateur ● Matériel (hardware) : un ordinateur comprend un processeur et une mémoire (mémoire vive, disques,...). Le processeur lit les données de la mémoire, calcule et écrit les résultats dans la mémoire. – ● Cartes réseaux, cartes graphiques, clavier, souris,... Logiciel (software) : un logiciel est une suite d'instructions ou d'«ordres» donnée au processeur – Il est possible d'écrire ses propres logiciels = programmation LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Mémoire ● 2 types de mémoire : – – Mémoire vive : elle est effacée lorsque l'ordinateur est éteint Mémoire morte : elle reste lorsque l'ordinateur est éteint ● ● ● ● ● ● Disque dur Disquette CD Clef USB ... La mémoire morte est organisée sous forme de fichiers et de répertoires LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Fichiers ● Un fichier contient : – – – ● ● Un nom Diverses propriétés (permissions, dates de création,...) Des données Plusieurs types de fichier : texte, image, son, logiciel,... Format des données : du texte... même pour un fichier image ou un fichier son ! LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Répertoires ● ● Un répertoire (=dossier, directory) est un groupe de fichiers et d'autres répertoires auquel est associé un nom Structure arborescente : /home/lamy /home/lamy/vacances /home/lamy/thèse /home/lamy/vacances/photo1 /home/lamy/thèse/doc /home/lamy/vacances/musique1 /home/lamy/thèse/prog1 LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Système d'exploitation (OS) ● ● ● ● Le système d'exploitation (Operating System, OS) sert d'intermédiaire entre le matériel et le logiciel L'OS facilite l'écriture de logiciels en prenant en charge la gestion de la mémoire, des fichiers... D'autres couches facilitent encore la gestion de la mémoire, des fichiers, des interfaces graphiques,... => plus on se place «haut» dans ces couches, plus la programmation de logiciel est facile LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Système d'exploitation (OS) Logiciels 00101110 11001101 00110110 Mémoire Traitement de texte Processeur Autres périphériques OS Python LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Système d'exploitation (OS) ● Plusieurs OS existent : – – – Windows Mac OS Unix / Linux ● ● Sécurisé Libre et gratuit LAMY Jean­Baptiste 1/2007 Unix / Linux ● Interfaces très variables !!! TD/cours 1 : Introduction, Unix LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Système de fichier Unix / Linux ● / racine /dev périphériques (considérés comme des fichiers) /etc fichier de configuration de la machine /home/<votre_login> fichiers des utilisateurs (dont vous !) /mnt point de montage des périphériques (CD, clef USB) /root fichiers de l'administrateur /tmp fichiers temporaires /usr la majorité des logiciels installés /usr/bin fichiers exécutables (bin = «binaires») /usr/share fichiers accompagnant les exécutables /usr/share/doc documentation des logiciels LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Gestion des fichiers sous Linux ● Interface graphique (ex. nautilus, konqueror,...) – Avantage : facile à utiliser LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Gestion des fichiers sous Linux ● Ligne de commande («shell») – Avantage : ● ● plus rapide permet d'automatiser la gestion des fichiers : en mettant les commandes dans un fichier (appelé «script») LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Ligne de commande ● Noms des fichiers : . ~ .. ● = répertoire courant = répertoire de l'utilisateur («home», ex: /home/lamy, /root) = répertoire parent (ex: /home/lamy/.. = /home) Commandes (correspondent à des programmes/logiciels) : cd répertoire ls répertoire mkdir répertoire cat fichier rm fichier rm ­r répertoire rm ­rf répertoire change le répertoire courant lister le contenu d'un répertoire (. par défaut) crée un répertoire affiche le contenu d'un fichier supprime un fichier supprime un répertoire et tout ce qu'il contient pareil, mais sans demander de confirmation LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Ligne de commande ● Commandes (suite) : cp fichier_à_copier nouveau_fichier copie un fichier cp ­r répertoire_à_copier nouveau_répertoire copie un répertoire mv ancien_fichier nouveau_fichier déplace un fichier grep mot fichiers rechercher un mot dans un fichier programme lancer un programme man commande obtenir de l'aide sur une commande wget télécharger un fichier sur internet ... ● Astuce : – La touche «tab» permet de compléter les noms de fichiers automatiquement en ligne de commande ! LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Ligne de commande ● Exercice ● Quelles commandes pour : – – – – créer un répertoire TP/ aller dans ce répertoire télécharger le fichier http://www­limbio.smbh.univ­paris13.fr/campusvirtuel/TP.py afficher le contenu de ce fichier LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Ligne de commande ● Exercice ● Quelles commandes pour : – – – – créer un répertoire TP/ aller dans ce répertoire télécharger le fichier http://www­limbio.smbh.univ­paris13.fr/campusvirtuel/TP.py afficher le contenu de ce fichier mkdir TP cd TP wget http://www­limbio.smbh.univ­paris13.fr/campusvirtuel/TP.py cat TP.py LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Ligne de commande ● Redirections – Éxécuter un programme en redirigeant sa sortie vers un fichier : programme > fichier Ex : ls > liste_des_fichiers_du_répertoire.txt – Éxécuter un programme en redirigeant sa sortie vers un autre programme : programme1 | programme2 Ex : lister les fichiers contenant .py dans leur nom : ls | grep .py LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Permissions ● Les permissions permettent d'interdire l'accès de certains fichiers à certains utilisateurs – – ● Chaque fichier ou répertoire appartient à un utilisateur et un groupe d'utilisateur Chaque utilisateur peut appartenir à un ou plusieurs groupes => Pour un fichier donné, on distingue 3 catégories d'utilisateurs : – u : l'utilisateur auquel le fichier appartient g : les membres du groupe auquel le fichier appartient o : les autres utilisateurs – a : tout le monde (= u + g + o) – – LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Permissions ● Il existe 3 types de permissions : – – – ● R : permission de lire le fichier / répertoire W : permission de modifier le fichier / répertoire X : permission d'exécuter le fichier / permission d'entrer dans le répertoire (avec cd). Les 3 types de permissions peuvent être définies différamment pour les 3 catégories d'utilisateurs LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Permissions ­ : fichier, d : répertoire u : utilisateur g : groupe a : tous (all) o : autre (other) ­rwxrw­r­­ r : lecture permise (read) w : écriture permise (write) x : exécution / cd permise (execute) LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Permissions : ligne de commande ● Changer l'utilisateur ou le groupe d'un fichier : chown utilisateur : groupe fichier – Ex. : chown lamy:limbio document.pdf LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Permissions : ligne de commande ● Changer les permissions d'un fichier : chmod catégorie_d'utilisateur +ou­ permission ● Exercice Le fichier TP1.pdf doit pouvoir être lu par tout le monde chmod a+r TP1.pdf – Le fichier script.py doit être exécutable par tout le monde ??? – LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Permissions : ligne de commande ● Changer les permissions d'un fichier : chmod catégorie_d'utilisateur +ou­ permission ● Exercice Le fichier TP1.pdf doit pouvoir être lu par tout le monde chmod a+r TP1.pdf – Le fichier script.py doit être exécutable par tout le monde chmod a+x script.py – Le fichier rapport_confidentiel.pdf doit pouvoir être lu que par le LIM&BIO, et être écrit que par moi ??? – LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Permissions : ligne de commande ● Changer les permissions d'un fichier : chmod catégorie_d'utilisateur +ou­ permission ● Exercice Le fichier script.py doit être exécutable par tout le monde chmod a+x script.py – Le fichier rapport_confidentiel.pdf doit pouvoir être lu que par le LIM&BIO, et être écrit que par moi chown lamy:limbio rapport_confidentiel.pdf chmod u+r u+w g+r g­w o­r o­w rapport_confidentiel.pdf – Le fichier exam.pdf ne doit pouvoir être lu ou écrit QUE par moi­ même ??? – LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Permissions : ligne de commande ● Changer les permissions d'un fichier : chmod catégorie_d'utilisateur +ou­ permission ● Exercice Le fichier script.py doit être exécutable par tout le monde chmod a+x script.py – Le fichier rapport_confidentiel.pdf doit pouvoir être lu que par le LIM&BIO, et être écrit que par moi chown lamy:limbio rapport_confidentiel.pdf chmod u+r u+w g+r g­w o­r o­w rapport_confidentiel.pdf – Le fichier exam.pdf ne doit pouvoir être lu ou écrit QUE par moi­ même chown lamy exam.pdf chmod u+r u+w g­r g­w o­r o­w exam.pdf – LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Outils de communication ● De nombreux outils informatiques pour la communication – Email ● – Messagerie instantannée : IRC, ICQ, MSN messanger,... ● – ● Inscription nécessaire Wiki ● – Il faut se rendre sur le site du forum Les discussions sont archivées Liste de diffusion (mailing list) ● – Communication «en direct» Forum ● – Communication entre 2 personnes page web modifiable Blog ● «Journal» en ligne LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Logiciel libre ● De plus en plus de logiciels libres – ● ● Ex : Linux, Python,... De nombreux logiciels de bio­informatique sont des logiciels libres Logiciel libre ≠ logiciel gratuit – – Le support (hotline, CD, livre,...) peut être payant En pratique, la quasi­totalité des logiciels libres sont gratuits LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Logiciel libre ● Les 4 libertés du logiciel libre : – – – – ● Libre d'utiliser le logiciel Libre de diffuser le logiciel Libre de modifier le logiciel Libre de redistribuer les modifications Modifier le logiciel nécessite d'avoir accès au «code source» : le programme écrit dans un langage de programmation (différent du fichier exécutable) – – – «Recette de cuisine» La modification d'un logiciel n'est pas à porté de tout le monde L'important est que quelqu'un puisse le modifier et l'améliorer, pas forcément vous ! LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Logiciel libre ● Les libertés du logiciel libre sont garanties par sa licence ● Licence GPL (GNU Public Licence) : – – – – Utilisée par la plupart des logiciels libres (dont Linux) Permet d'utiliser et de modifier le logiciel Permet de redistribuer le logiciel ou des versions modifiées, mais uniquement sous licence GPL ! => «pot commun» LAMY Jean­Baptiste 1/2007 TD/cours 1 : Introduction, Unix Logiciel libre ● «Multi­plateformes» ● OpenOffice : Traitement de texte, présentation, tableur – ● Mozilla Firefox : navigateur Internet – ● http://mozilla.com/ Python : programmation – ● http://fr.openoffice.org/ http://python.org/ Wikipédia – http://fr.wikipedia.org/