De l'alignement des séquences à la phylogénie

Dimension: px
Commencer à balayer dès la page:

Download "De l'alignement des séquences à la phylogénie"

Transcription

1 Bio-informatique De l'alignement des séquences à la phylogénie Jean-Baptiste Lamy Maître de conférence bureau 149, LIM&BIO

2 Introduction Au premier semestre : 3 x 2h de cours 1 x 2h de TD 4 x 2h de TP sur ordinateur 2

3 Introduction Définitions : Bioinformatique : analyse des séquences biologiques (ADN, protéines,...) : séquençage du génome, puces à ADN, phylogénie,... Informatique biomédicale : représentation et traitement des données et connaissances biomédicales : système d'information hospitalier, aide à la décision,... 3

4 Introduction Contenu : Introduction à la bio-informatique Séquençage du génome Recherche des séquences codantes Rappel sur les bases de données Programmation en langage Python Méthodes d'alignement de séquences Alignements de séquences d'adn et d'arn Alignements de séquences protéiques Alignements multiples Recherche par séquence (BLAST) Phylogénie Construction d'arbres phylogénétiques 4

5 Introduction à la bio-informatique in situ : dans le milieu naturel in vivo : dans l'organisme vivant in vitro : en éprouvette In sillico : simulation sur ordinateur Domaine de recherche nouveau... mais de plus en plus indispensable! 5

6 Introduction à la bio-informatique Principales activités : Acquisition des données biologiques : Comment passer d'un échantillon d'adn à un fichier sur son ordinateur? Organisation de ces données : Comment représenter les données biologiques dans un ordinateur? Comment mettre les données biologiques à disposition d'autres chercheurs? Traitement des données : Comment comparer deux séquences d'adn? Comment relier des données issues de sources différentes, par exemple une séquence d'adn avec une séquence protéique? Présentation des résultats Comment présenter le résultat de l'alignement de deux séquences de paires de bases? 6

7 À quoi ça sert? Le séquençage du génome n'est que la première étape

8 À quoi ça sert? Il faut à présent interpréter les séquences Localiser les gènes (parties codantes) Identifier leurs fonctions Comprendre leurs mécanismes de régulation Objectifs : Comprendre le fonctionnement des cellules et des organismes Comprendre le fonctionnement des maladies Retracer l'évolution des organismes (phylogénie) 8

9 Les organismes vivants Ancienne classification basée sur la structure (observation au microscope, etc) : Procaryotes : êtres vivants ayant une seule cellule sans noyau Bactéries Archébactéries Eucaryotes : êtres vivants composés d'une ou plusieurs cellules avec un noyau et des organites (mitochondries, ribosomes,...) Animaux Plantes Champignons Protistes (Eucaryotes unicellulaire, ex : amibe) 9

10 Les organismes vivants Nouvelle classification basée sur la phylogénie (comparaison des génomes) : Bactéries Archées Eucaryotes Animaux Plantes Champignons Protistes Il y a autant de différence entre bactéries et archées qu'entre bactérie et eucaryotes, mais elles ne se voient pas au microscope! 10

11 Différentes échelles Environnement Population Individu Cellules Protéines ARNm / ADN 11

12 Expression des gènes transcription ADN traduction ARNm Protéine 12

13 Différents niveaux moléculaires GATCACC TCACTAC GGGTCA GGGGAA GGAAAG GGGAAC TGAGAG ATTT.. Génome ADN Transcriptome GAUCAC CUCACU ACGGGU CAGGGG AAGGAA AGGGGA ACUGAG AGAUUU.. ARN régulation Protéome Protéines enzymes Métabolome F60-64 env13 ZT50 es4075 MaxEnt 3 8 [Ev-36586,It50,En1] (0.050,200.00,0.200, ,2,Cmp) 1: TOF MSMS ES+ (596.29) 100 N N O O N O O O P O P O P O N N O O O O O Métabolites, Hormones,... F (329.16) ymax y % G L b y y M/z

14 Définitions Génome : l ensemble du matériel génétique (ADN) d'un individu/espèce Transcriptome : l ensemble des ARN messagers transcrits à partir du génome Protéome : l'ensemble des protéines exprimés Métabolome : l ensemble des composés organiques d'un être vivant (hors ADN / ARN / protéine), quel que soit leur nature : sucres, lipides, acides aminés, ou leur fonction : métabolites, hormones,... 14

15 Définitions Génotype : information stockée dans les gènes d'un individu Phénotype : caractéristique observée chez un individu : caractéristique anatomique, morphologique, physiologique, biochimique,... (ex : couleur des yeux) Des génotypes différents peuvent donner des phénotypes identiques Allèle récessif / allèle dominant Des génotypes identiques peuvent donner des phénotypes différents Rôle de l'environnement, qui fera que certains gènes seront plus ou moins exprimés Rôle de l'éducation Rôle des informations stockées en-dehors du génome 15

16 Séquences Séquence : Séquence d'adn Séquence d'arn Séquence protéique Les séquences ont un sens de lecture : GAT TAG Attention la séquence ne fait pas tout! Ce qui détermine l'effet biologique est la structure tridimentionnelle Le repliement des ADN, ARNm et protéine dépend de leur séquence, mais aussi de leur environnement 16

17 Séquences nucléotidiques Une séquence génomique est une suite de nucléotides composant une macromolécule Une chaîne de bases azotées : A : Adénine C : Cytosine G : Guanine T : Thymine (+ des bases rares, ex Inosine, C ou G méthylé,...) La séquence des régions codantes des gènes dicte la suite des acides aminés qui composent la protéine, dont dépend son repliement et ses fonctions 17

18 Séquences nucléotidiques Généralement, des séquences similaires conduisent à des protéines de structures et de fonctions similaires L inverse n est pas toujours vrai! L'évolution repose, en grande partie, sur la duplication d'une séquence donnée puis sa modification (suite à des mutations) Quelques problèmes typiques de génomique : Recherche d homologie dans des séquences Rassembler un ADN fragmenté en plusieurs séquences (fragment assembly) Comparer deux séquences issues de différents laboratoires Trouver des régions similaires à plusieurs séquences Observer les relations entre plusieurs séquences 18

19 Séquençage Le séquençage du génome humain s'est achevé en 2004 Séquençage public vs séquençage privé Brevet sur les séquences? => Le génome humain est disponible librement sur Internet 19

20 Tailles des génomes Organisme Taille génome (Million de pb) Gènes protéiques estimés Virus Virus de la grippe 0,01 3 Bactéries Mycoplasma pneumoniae 0, Escherichia coli 4, Nanoarchaeum equitans 0, Sulfolobus solfataricus Saccharomyces cerevisiae Arabidopsis thaliana (plante) Populus trichocarpa (peuplier) Archaea Eucaryote (levure) Drosophila melanogaster (insecte) Zea mais (maïs) Mus musculus (souris) Homo sapiens (homme) Amoeba dubia

21 L'idéal du biologiste Le séquençage du génome (on l'a!), L'ensemble des gènes et leur position sur le génome, L ensemble des ARMm de chaque gène, La protéine produite par chaque ARMm, La structure 3D et fonction de chaque protéine, Les mécanismes cellulaires auxquels participent les protéines, Les mécanismes de régulation de l'expression des transcrits et des protéines Pourquoi telle protéine est-elle produite à tel moment? 21

22 Bio-informatique Recherche de régions codantes

23 Cadres de lecture ouverts L'étape suivant le séquençage du génome est la recherche des gènes et des régions codantes Une région codante : Commence par un codon start : ATG Se termine par un codon stop : TAA, TAG ou TGA Exemple : ACGGTATGAACAGGCTATGCCCTAGCATCACCACTTAACCG... 23

24 Cadres de lecture ouverts L'étape suivant le séquençage du génome est la recherche des gènes et des régions codantes Une région codante : Commence par un codon start : ATG Se termine par un codon stop : TAA, TAG ou TGA Exemple : ACGGTATGAACAGGCTATGCCCTAGCATCACCACTTAACCG... Où est le stop qui va avec ce codon start? 24

25 Cadres de lecture ouverts La traduction de l'arnm en protéine se fait par codon de 3 bases => Lecture 3 par 3 ACGGTATGAACAGGCTATGCCCTAGCATCACCACTTAACCG... Et l'autre start? 25

26 Cadres de lecture ouverts La traduction de l'arnm en protéine se fait par codon de 3 bases => Lecture 3 par 3 ACGGTATGAACAGGCTATGCCCTAGCATCACCACTTAACCG... Une 2ème protéine est possible! 26

27 Cadres de lecture ouverts Il y a 3 phases de lecture possibles Il y a 2 brins d'adn Attention la notion de «brin codant» est valable pour un gène donné, pas pour un chromosome! => 6 manières différentes de lire l'adn! ACGGTATGAACAGGCTCCAGTCCAGGCATAACCATTAACCG TGCCATACTTGTCCGAGGTCAGGTCCGTATTGGTAATTGGC 27

28 Cadres de lecture ouverts ACGGTATGAACAGGCTCCAGTCCAGGCATAACCATTAACCG TGCCATACTTGTCCGAGGTCAGGTCCGTATTGGTAATTGGC Les positions des bases correspondant à la première phase de lecture sont les multiples de (1, 4, 7, 10, 13 ) Les positions des bases correspondant à la seconde phase de lecture sont les multiples de (2, 5, 8, 11, 14 ) Les positions des bases correspondant à la troisième phase de lecture sont les multiples de 3 (0, 3, 6, 9, 12...) 28

29 Cadres de lecture ouverts ACGGTATGAACAGGCTCCAGTCCAGGCATAACCATTAACCG TGCCATACTTGTCCGAGGTCAGGTCCGTATTGGTAATTGGC Pour cela, on peut utiliser l'opération modulo (reste de la division entière, que l'on écrit «%») : 3 % 3 = 0 4 % 3 = 1 18 % 3 = 0 20 % 3 = 2 => le codon qui commence en position 20 est sur le troisième cadre de lecture (on commence à 0) 29

30 Cadres de lecture ouverts Toutes les régions qui commencent par un start et se termine par un stop ne sont pas systématiquement codantes Certaines régions ne sont pas transcrits en ARNm (absence de site promoteur) Mais la détermination des ARNm est beaucoup plus difficiles : Les codons start et stop correspondent à des séquences précises et bien définies Les sites promoteurs correspondent à des motifs moins précis et plus difficiles à repérer => On recherche directement les régions qui commencent par un start et se termine par un stop, que l'on appelle «cadres de lecture ouverts» (Open Reading Frames, ORF) Les ORF sont des «régions codantes candidates» Cf TP, programme ORF finder 30

31 Recherche de régions codantes Comment vérifier qu'un ORF correspond bien à une séquence codante? Approche banque de données : rechercher si la séquence de l'orf ressemble à une séquence présente dans les banques de données de séquences connues (BLAST) Approche statistique (cf TP) : un ORF ne contient pas de codon stop ; plus l'orf est long plus la probabilité de ne pas avoir de codon stop est faible Quelle est la probabilité qu'un codon tiré au hasard soit un codon stop? 31

32 Recherche de régions codantes Quelle est la probabilité qu'un codon tiré au hasard soit un codon stop? Nombre de codons stop : 3 Nombre de codons possibles : 4 x 4 x 4 = 64 => Proba = 3 / 64 = 4,7 % Quelle est la probabilité qu'un codon tiré au hasard ne soit pas un stop? 32

33 Recherche de régions codantes Quelle est la probabilité qu'un codon tiré au hasard soit un codon stop? Nombre de codons stop : 3 Nombre de codons possibles : 4 x 4 x 4 = 64 => Proba = 3 / 64 = 4,7 % Quelle est la probabilité qu'un codon tiré au hasard ne soit pas un stop? Proba = 100 4,7 = 95,3 % Quelle est la probabilité qu'il n'y est pas de codon stop dans un ORF de 100 codons tirés au hasard? 33

34 Recherche de régions codantes Quelle est la probabilité qu'un codon tiré au hasard soit un codon stop? Nombre de codons stop : 3 Nombre de codons possibles : 4 x 4 x 4 = 64 => Proba = 3 / 64 = 4,7 % Quelle est la probabilité qu'un codon tiré au hasard ne soit pas un stop? Proba = 100 4,7 = 95,3 % Quelle est la probabilité qu'il n'y est pas de codon stop dans un une suite de 100 codons tirés au hasard? Proba = (95,3 %)100 = 0,8 % => un ORF de 100 codons (donc sans codon stop au milieu) est rarement le fruit du hasard! 34

35 Recherche de régions codantes Procaryote : la détermination des séquences codantes est relativement facile Eucaryote : la détermination des séquences codantes est beaucoup plus difficile : Beaucoup d'adn non codant Problème des introns Attention car les introns peuvent éliminer un codon stop et / ou décaler le cadre de lecture! 35

36 Bases de données (rappel)

37 Banques et bases de données Base de données : gros volume de données structurées de manière à en faciliter le stockage et l'utilisation Banque de données : base de données orientée vers la consultation et le recueil des données En bio-informatique, beaucoup de banques et bases de données sont disponibles en ligne Beaucoup de logiciels spécifiques pour : Faciliter l'accès aux données Envoyer des données dans les bases Convertir des données du format d'une base au format d'une autre base Relier différentes bases entre elles... 37

38 Bases de données disponibles Séquences de nucléotides (ADN / ARN) et de protéines : EMBL : Nucleotide (anciennement appelé GenBank) DNA Database of Japan Contiennent toutes les séquences de nucléotides librement disponibles et leur traduction en protéines Les 3 banques sont synchronisées => même contenu Séquences de protéines : Uniprot (protéine avec annotation de la séquence) Dans ces bases : 1 entrée par gène ou par protéine 38

39 Bases de données disponibles Domaines, familles et fonctions des protéines : Prosite : Pfam : Structures des protéines : PDB (BrookHaven Protein DataBank) 1 entrée par expérience => plusieurs entrées pour une même protéine Bases spécifiques d'un organisme : Flybase (Drosophile) : 39

40 Format FASTA Il existe différents formats pour les séquences Le format FASTA est l'un des plus utilisés et des plus simples Exemple de séquence en format FASTA : Entrée de SwissProt Numéro unique d accession Informations diverses (nom, espèce, ) >sp P05231 IL6_HUMAN Interleukin-6 precursor (IL-6) - Homo sapiens (Human). MNSFSTSAFGPVAFSLGLLLVLPAAFPAPVPPGEDSKDVAAPHRQPLTSSERIDKQIRYI LDGISALRKETCNKSNMCESSKEALAENNLNLPKMAEKDGCFQSGFNEETCLVKIITGLL EFEVYLEYLQNRFESSEEQARAVQMSTKVLIQFLQKKAKNLDAITTPDPTTNASLLTKLQ AQNQWLQDMTTHLILRSFKEFLQSSLRALRQM 40

41 Exemple de contenu EMBL Identification de la séquence Numéro unique d accession (Accession Number - AC) Données taxinomiques Références bibliographiques Annotations Références croisées avec d autres banques de données Mots-clefs ID AC DT DT DT DE DE GN OS OC OC OX RN RP RX RA RA RA RT RT RL CC CC CC CC CC CC CC DR DR.. DR DR... DR KW KW IL6_HUMAN STANDARD; PRT; 212 AA. P05231; 13-AUG-1987 (Rel. 05, Created) 13-AUG-1987 (Rel. 05, Last sequence update) 01-MAR-2002 (Rel. 41, Last annotation update) Interleukin-6 precursor (IL-6) (B-cell stimulatory factor 2) (BSF-2) (Interferon beta-2) (Hybridoma growth factor). IL6 OR IFNB2. Homo sapiens (Human). Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; Hominidae; Homo. NCBI_TaxID=9606; [1] SEQUENCE FROM N.A., AND PARTIAL SEQUENCE. MEDLINE= ; PubMed= ; [NCBI, ExPASy, EBI, Israel, Japan] Hirano T., Yasukawa K., Harada H., Taga T., Watanabe Y., Matsuda T., Kashiwamura S.-I., Nakajima K., Koyama K., Iwamatsu A., Tsunasawa S., Sakiyama F., Matsui H., Takahara Y., Taniguchi T., Kishimoto T.; "Complementary DNA for a novel human interleukin (BSF-2) that induces B lymphocytes to produce immunoglobulin."; Nature 324:73-76(1986). -!- FUNCTION: IL6 IS A CYTOKINE WITH A WIDE VARIETY OF BIOLOGICAL FUNCTIONS: IT PLAYS AN ESSENTIAL ROLE IN THE FINAL DIFFERENTIATION OF B-CELLS INTO IG-SECRETING CELLS, IT INDUCES MYELOMA AND PLASMACYTOMA GROWTH, IT INDUCES NERVE CELLS DIFFERENTIATION, IN HEPATOCYTES IT INDUCES ACUTE PHASE REACTANTS. -!- SUBCELLULAR LOCATION: Secreted. -!- SIMILARITY: BELONGS TO THE IL-6 SUPERFAMILY. EMBL; X04430; CAA ; -. [EMBL / GenBank / DDBJ] [CoDingSequence] EMBL; M14584; AAA ; -. [EMBL / GenBank / DDBJ] [CoDingSequence] PDB; 1IL6; 04-FEB-98. [ExPASy / RCSB] PDB; 2IL6; 04-FEB-98. [ExPASy / RCSB] Pfam; PF00489; IL6; 1. Cytokine; Glycoprotein; Growth factor; Signal; Polymorphism; 3D-structure.

42 Exemple de contenu EMBL Annotation de la séquence FT FT FT FT FT FT FT FT FT FT FT FT FT FT SQ Séquence Fin de l entrée // SIGNAL CHAIN DISULFID DISULFID CARBOHYD VARIANT VARIANT MUTAGEN MUTAGEN MUTAGEN MUTAGEN MUTAGEN SEQUENCE MNSFSTSAFG LDGISALRKE EFEVYLEYLQ AQNQWLQDMT INTERLEUKIN-6. N-LINKED (GLCNAC...). P -> S. /FTId=VAR_ D -> V. /FTId=VAR_ A->V: ALMOST NO LOSS OF ACTIVITY W->R: NO LOSS OF ACTIVITY S->P: 13% ACTIVITY R->K,E,Q,T,A,P: LOSS OF ACTIVITY M->T,N,S,R: LOSS OF ACTIVITY. 212 AA; MW; 1F1ED1FE1B CRC64; PVAFSLGLLL VLPAAFPAPV PPGEDSKDVA APHRQPLTSS ERIDKQIRYI TCNKSNMCES SKEALAENNL NLPKMAEKDG CFQSGFNEET CLVKIITGLL NRFESSEEQA RAVQMSTKVL IQFLQKKAKN LDAITTPDPT TNASLLTKLQ THLILRSFKE FLQSSLRALR QM

43 Qualité des données Il est très important de savoir évaluer la qualité des données Y compris pour les données que l'on récupère sur Internet! Y compris pour les logiciels! Quelques critères d'évaluation : Transparence : Les informations «de base» (auteur, date,...) sont-elles disponibles? Les sources sont-elles disponibles? Les références? Auteur : Qui est à l'origine des données? Quel est son statut? A-t-il des intérêts particuliers? Date et péremption : Les données sont-elles récentes? Sont-elles à jour? 43

44 Qualité des données Faire attention aux résultats produits par des logiciels!!! Parfois des approximations : diminution de la qualité des résultats au profit de la rapidité Recherche d une solution parmi un ensemble infini de possibilités Ce n est pas toujours la solution la meilleure qui est trouvée! Faire attention aux séquences issues des banques de données!!! Les données se sont pas toujours fiables ou à jour. Différence entre réalité mathématique et réalité biologique Cf TP L3 sur la séquence de l'insuline humaine Les ordinateurs ne font pas de biologie, ils calculent... vite! 44

45 Qualité des données Pour les séquences protéiques : Les bases de séquences protéiques (Uniprot, EMBL, Nucléotide) contiennent généralement des séquences protéiques calculées à partir des séquences d'adn => ce sont donc des séquences protéiques immatures (qui correspondent à la sortie du ribosome) Les bases de structures protéiques (PDB) contiennent des données expérimentales (RMN, cristallographie, rayon X,...) => ce sont donc des séquences matures (incluant les modifications post-traductionnelles : clivage de peptide signal, formation de ponts disulfures,...) 45

46 Programmation en langage Python

47 Présentation de Python Python est un langage de programmation Facile à apprendre De plus en plus utilisé En général Et en bioinformatique en particulier Disponible en logiciel libre À télécharger ici : Multiplateforme : Linux, Windows, Mac Un grand nombre de modules complémentaires sont disponibles Entre autre pour la bioinformatique 47

48 Présentation de Python Programmation impérative L'utilisateur donne des ordres à l'ordinateur 2 possibilités d'utilisation : ligne de commande / fichier Interface en ligne de commande Taper «python» dans un terminal La touche <entrée> valide les commandes En appuyant sur la touche <haut>, on peut récupérer la commande précédente pour la modifier On peut appuyer plusieurs fois sur <haut> Création de fichiers de code source Les commandes sont écrites dans un fichier «.py» Une fois le fichier terminé, on l'exécute dans un terminal : python nom_du_fichier.py 48

49 Le génie de la programmation Appelez-moi «ordinateur»! 49

50 Le génie de la programmation Ordinateur, calcule 2 + 2! Ok, calcul effectué sans erreur. Tu ne m'as pas donné le résultat? Tu ne m'as pas demandé de l'afficher. 50

51 Le génie de la programmation Ordinateur, calcule et affiche le résulat! 4. Ajoute encore 2 à ce résultat! Tu ne m'a pas demandé de le garder en mémoire. Je ne m'en souviens plus donc recommence de zéro! 51

52 Le génie de la programmation Ordinateur, calcule et appelle ce résultat «r»! Affiche «r»! 4. Ajoute 2 à «r»! Affiche «r»! 6. 52

53 Le génie de la programmation r=2+2 print(r) 4. r=r+2 print(r) 6. Ne jamais laisser le «génie» avoir le dernier mot! 53

54 Présentation de Python Commentaires Les lignes qui commencent par # sont des commentaires et ne sont pas prises en compte par Python : # Ceci est un commentaire qui n'est pas pris # en compte par Python! Les commentaires sont destinés aux humains, pas à l'ordinateur Ils facilitent la lecture et la compréhension du programme par d'autres personnes (ou par soi-même quelques années plus tard!) Affichage La fonction print() permet d'écrire à l'écran (dans le terminal) print(2 + 2) print("bonjour") En ligne de commande, le print() peut être omis

55 Les variables Une variable est un nom auquel on associe une valeur La valeur est souvent connu seulement à l'exécution du programme (par exemple elle résulte d'un calcul) Chaque variable a un nom Le nom commence par une lettre, il peut contenir des lettres, des chiffres et des _ (éviter les accents), mais jamais d'espace! On les remplace par _ Attention majuscules et minuscules sont différenciées! Il est important de trouver des noms parlants On crée une variable en lui donnant une valeur, avec = age = 36 On obtient la valeur d'une variable en donnant son nom print(age) La valeur de la variable peut être modifiée avec = age = 37 age = age

56 Les types de données Principaux types de données Nombre entier (int) : ex 8 Flottant (nombre à virgule, float) : 64.5 Chaîne de caractères (texte, string / str) : "Lamy" Booléen (bool) : True, False Liste de plusieurs valeurs (list) : [1, 2, 3] Dictionnaires (dict) Quel est le type de donnée de la variable suivante? telephone = " " 56

57 Opérations Python peut effectuer les opérations courantes : Addition : + Soustraction : Multiplication : * Division : / Puissance : ** Modulo : % Ces opérations peuvent s'appliquer sur différents types de donnée somme = concatenation = "ACT" + "GCC" queue_poly_a = "A" * 20 57

58 Chaînes de caractères Caractères spéciaux Retour à la ligne : "\n" Tabulation : "\t" Antislash : "\\" Chaînes avec des guillemets à l'intérieur Tripler les guillemets extérieurs : """Il dit "Bonjour".""" Alterner guillemets doubles et simples : 'Il dit "Bonjour".' «Antislasher» les guillemets à l'intérieur de la chaîne : "Il dit \"Bonjour\"." 58

59 Chaînes de caractères Opérations sur les chaînes Exemples : arn = "GCCUGCUUA" Obtenir la longueur d'une chaîne (= le nombre de caractères) len(arn) => 9 Obtenir un caractère de la chaîne arn[0] => "G" Obtenir une partie de la chaîne arn[0:3] => "GCC" Rechercher si une chaîne est incluse dans une autre "GCCUGCUUA".find("UGC") => 3 # Trouvé en position 3 (-1 si pas trouvé) Passer une chaîne en minuscule ou en majuscule "AttCgcG".lower() "AttCgcG".upper() Demander à l'utilisateur de saisir une chaîne saisie = raw_input("entrez un nom : ") 59

60 Conversions Il est souvent nécessaire de convertir d'un type de donnée vers une autre Les fonctions int(), float() et str() permettent de convertir une valeur vers un entier, un flottant et une chaîne de caractère int("8") str(8) => 8 => "8" raw_input() retourne toujours une chaîne de caractères ; il faut penser à la transformer en entier ou en flottant si l'on demande la saisie d'un nombre! age = int(raw_input("entrez votre âge : ")) poids = float(raw_input("entrez votre poids : ")) 60

61 Listes Les listes contiennent zéros, un ou plusieurs éléments Les éléments peuvent être de types différents Les listes sont créées avec des crochets, les éléments sont donnés à l'intérieur des crochets et séparés par des virgules [0, "Lamy", True] [ ] # Exemple de liste vide (zéro élément) Pour obtenir un élément d'une liste, on utilise aussi des crochets animaux = ["éléphant", "girafe", "rhinocéros", "gazelle"] animaux[2] => "rhinocéros" Le premier élément est numéroté 0 Il est aussi possible de compter à partir de la fin : le dernier élément est alors numéroté -1, l'avant dernier -2, etc len() permet d'obtenir le nombre d'élément len(animaux) 61

62 Listes Les listes peuvent être modifiées Exemples animaux = ["éléphant", "girafe", "rhinocéros", "gazelle"] Ajouter un élément à la fin animaux.append("lion") Ajouter un élément à une position donnée animaux.insert(0, "hippopotame") Enlever un élément animaux.remove("gazelle") Enlever un élément à une position donnée del animaux[-2] Que contient alors la liste animaux? 62

63 Conditions Les conditions permettent d'exécuter des commandes seulement dans certaines situations if condition: commande exécuté si la condition est vraie commande exécuté si la condition est vraie suite du programme (exécuté que la condition soit vraie ou fausse) Attention à l'indentation (= les espaces blancs en début de ligne) La condition est une comparaison utilisant l'un des opérateurs suivants : Inférieur à : < Supérieur à : > Inférieur ou égal à : <= Supérieur ou égal à : >= Égal à : == (ne pas confondre avec le = simple qui définit les variables) Différent de :!= 63

64 Conditions Exemple de condition : age = int(raw_input("veuillez saisir votre âge : ")) if age >= 65 : print("vous êtes une personne âgée.") print("l'année prochaine vous aurez " + str(age + 1) + " ans.") Ici il n'y a qu'une seule commande à exécuté si la condition est vraie, dans ce cas il est possible de tout mettre sur une seule ligne : if age >= 65 : print("vous êtes une personne âgée.") 64

65 Conditions Il est possible d'ajouter plusieurs conditions successives, et un bloc par défaut (else = sinon) if condition1: commande exécuté si condition1 est vraie commande exécuté si condition1 est vraie elif condition2: commande exécuté si condition1 est fausse et condition2 est vraie... else: commande exécuté si condition1 et condition2 sont fausses suite du programme (exécuté que les conditions soient vraies ou fausses) 65

66 Conditions Exemple de condition : age = int(raw_input("veuillez saisir votre âge : ")) if age == 0 : print("vous êtes un nouveau-né.") elif age < 18 : print("vous êtes un enfant.") elif age >= 65 : print("vous êtes une personne âgée.") else : print("vous êtes un adulte.") print("l'année prochaine vous aurez " + str(age + 1) + " ans.") 66

67 Conditions Les conditions peuvent être imbriquées : age = int(raw_input("veuillez saisir votre âge : ")) poids = float(raw_input("veuillez saisir votre poids : ")) if age == 0 : print("vous êtes un nouveau-né.") if poids > 10.0 : print("je pense qu'il y a une erreur sur le poids!") Les opérateurs and et or permettent de combiner plusieurs conditions entre elles if (age < 18) or (age > 65) : print("vous ne travaillez probablement pas.") 67

68 Boucles Une boucle permet d'exécuter plusieurs fois les mêmes commandes La boucle parcourt une liste for variable in liste : commande répétée plusieurs fois commande répétée plusieurs fois suite du programme (exécuté une seule fois) La liste peut être une variable, ou bien une liste d'indice générée avec la fonction range() range(4) => [0, 1, 2, 3] 68

69 Boucles Exemples animaux = ["éléphant", "biche", "rhinocéros", "brochet"] environnements = ["savane", "forêt", "savane", "rivière"] Afficher un animal par ligne for animal in animaux : print(animal) print("c'est fini!") Afficher un animal par ligne avec son numéro for i in range(len(animaux)) : print("numéro " + str(i) + " : " + animaux[i]) print("c'est fini!") Afficher un animal par ligne avec son environnement for i in range(len(animaux)) : print(animaux[i] + " dans la " + environnements[i]) 69

70 Boucles Boucles et conditions Il est possible de mélanger boucles et conditions La commande break permet d'interrompre la boucle Que fait le programme suivant? À quoi sert le break dans ce programme? sequence_nucléotidique = "ACGAC " for base in sequence_nucléotidique : if base == "T" : print("c'est un ADN!") break elif base == "U" : print("c'est un ARN!") break 70

71 Boucles Programme-type n 1 : compter les éléments d'une liste satisfaisant certains critères compteur = 0 for élément in liste : if élément satisfait la condition : compteur = compteur + 1 print(str(compteur) + " éléments trouvés") Exemple : compter les acides aminés aromatiques d'une protéine proteine = "MIWRAVHRF..." nb_aromatique = 0 for aa in proteine : if (aa == "F") or (aa == "Y") or (aa == "W") or (aa == "H"): nb_aromatique = nb_aromatique + 1 print(str(nb_aromatique) + " acides aminés aromatiques dans la protéine") 71

72 Boucles Programme-type n 2 : garder seulement les éléments d'une liste satisfaisant certains critères nouvelle_liste = [ ] for élément in liste : if élément satisfait la condition : nouvelle_liste.append(élément) print(nouvelle_liste) Exemple : garder seulement les nombres pairs nombres = [1, 4, 7, 8, 12, 15] nombres_pairs = [ ] for nombre in nombres : if nombre % 2 == 0 : nombres_pairs.append(nombre) print(nombres_pairs) 72

73 Boucles Programme-type n 3 : créer une nouvelle liste à partir d'une liste existante nouvelle_liste = [ ] for élément in liste : calculer nouvel_élément à partir de élément nouvelle_liste.append(nouvel_élément) print(nouvelle_liste) Exemple : mettre les noms d'animaux au pluriel animaux = ["girafe", "lion", "éléphant"] couples_danimaux = [ ] for animal in animaux : couples_danimaux.append("deux " + animal + "s") print(couples_danimaux) 73

74 Boucles Les programmes-types n 2 et 3 peuvent aussi s'appliquer à des chaînes de caractère Exemple : calculer un ADN complémentaire adn = "GCATTC..." adn_complementaire = "" # Chaîne vide for base in adn : if base == "A" : base_complementaire = "T" elif base == "T" : base_complementaire = "A" elif base == "C" : base_complementaire = "G" elif base == "G" : base_complementaire = "C" adn_complementaire = adn_complementaire + base_complementaire print(adn_complementaire) 74

75 Séquences biologiques en Python Le module BioPython permet de gérer les séquences biologiques Charger des séquences Depuis des fichiers FASTA Depuis Internet Effectuer la transcription et la traduction Effectuer des alignements Rechercher des motifs dans des séquences Etc. 75

76 Séquences biologiques en Python Deux types de donnée pour les séquences en Python : Seq : une séquence anonyme (une suite de base / d'acide aminé) SeqRecord : une séquence nommé, incluant : La séquence proprement dite (un «Seq») Le nom du gène / de la protéine Le nom de l'espèce auquel cette séquence appartient L'identifiant de la séquence, SeqRecord : séquence nommée >sp P05231 IL6_HUMAN Interleukin-6 precursor (IL-6) - Homo sapiens (Human). MNSFSTSAFGPVAFSLGLLLVLPAAFPAPVPPGEDSKDVAAPHRQPLTSSERIDKQIRYI LDGISALRKETCNKSNMCESSKEALAENNLNLPKMAEKDGCFQSGFNEETCLVKIITGLL EFEVYLEYLQNRFESSEEQARAVQMSTKVLIQFLQKKAKNLDAITTPDPTTNASLLTKLQ AQNQWLQDMTTHLILRSFKEFLQSSLRALRQM Seq : séquence anonyme Un fichier FASTA correspond à un (ou plusieurs) SeqRecord 76

77 Séquences biologiques en Python Chaque séquence est associée à un alphabet Il y a des alphabets différents pour les ADN, les ARN et les protéines ADN : ATCG ARN : AUCG De plus, plusieurs alphabets sont disponibles pour un même type de séquence : ADN non-ambigu : ATCG ADN ambigu : ATCGRYWSMKHBVDN R = A ou G H = A, C ou T,... En général on travaille sur des séquences en alphabet non-ambigu Ces alphabets ont été standardisés par l'iupac (International Union of Pure and Applied Chemistry) 77

78 Séquences biologiques en Python Les alphabets IUPAC sont disponibles : IUPAC.unambiguous_dna IUPAC.unambiguous_rna IUPAC.ambiguous_dna IUPAC.ambiguous_rna IUPAC.protein Pour créer une séquence (anonyme) d'adn : adn = Seq("ATGC", IUPAC.unambiguous_dna) Pour charger une séquence (nommé) d'adn depuis un fichier FASTA : adn = read("fichier.fasta", format="fasta") (note : l'alphabet est déduit automatiquement en général) Pour obtenir la séquence anonyme (Seq) : adn_anonyme = adn.seq 78

CHAPITRE 3 LA SYNTHESE DES PROTEINES

CHAPITRE 3 LA SYNTHESE DES PROTEINES CHAITRE 3 LA SYNTHESE DES ROTEINES On sait qu un gène détient dans sa séquence nucléotidique, l information permettant la synthèse d un polypeptide. Ce dernier caractérisé par sa séquence d acides aminés

Plus en détail

Introduction aux bases de données: application en biologie

Introduction aux bases de données: application en biologie Introduction aux bases de données: application en biologie D. Puthier 1 1 ERM206/Technologies Avancées pour le Génome et la Clinique, http://tagc.univ-mrs.fr/staff/puthier, puthier@tagc.univ-mrs.fr ESIL,

Plus en détail

Bibliographie Introduction à la bioinformatique

Bibliographie Introduction à la bioinformatique Bibliographie Introduction à la bioinformatique 5. Les bases de données biologiques, SQL et la programmation Python/C++ Zvelebil et Baum, Understanding bioinformatics Beighley, Head First SQL Chari, A

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Cours 3 : Python, les conditions

Cours 3 : Python, les conditions Cours 3 : Python, les conditions Conditions Permet d'exécuter des ordres dans certaines conditions : if condition1: code exécuté si condition1 est vraie code exécuté si condition1 est vraie... elif condition2:

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Perl Orienté Objet BioPerl There is more than one way to do it

Perl Orienté Objet BioPerl There is more than one way to do it Perl Orienté Objet BioPerl There is more than one way to do it Bérénice Batut, berenice.batut@udamail.fr DUT Génie Biologique Option Bioinformatique Année 2014-2015 Perl Orienté Objet - BioPerl Rappels

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Module Analyse de Génomes 2011-2012 Master 2 module FMBS 326 Immunoinformatique

Module Analyse de Génomes 2011-2012 Master 2 module FMBS 326 Immunoinformatique Module Analyse de Génomes 2011-2012 Master 2 module FMBS 326 Immunoinformatique Planning du Module : Date Heure Salle 12/12 9h-12h TD info TA1Z bat 25 13h-17h TD info TA1Z bat 25 13/12 9h-12h TD info TA1Z

Plus en détail

GMIN206 Info. Biologique et Outils bioinformatiques. Elodie Cassan

GMIN206 Info. Biologique et Outils bioinformatiques. Elodie Cassan M Bioinformatique, Connaissances et Données Année 24-25 GMIN206 Info. Biologique et Outils bioinformatiques Banques de données biologiques (3h de Cours +,5h de TD + 4h de TP) Elodie Cassan Anne-Muriel

Plus en détail

TD de Biochimie 4 : Coloration.

TD de Biochimie 4 : Coloration. TD de Biochimie 4 : Coloration. Synthèse de l expérience 2 Les questions posées durant l expérience 2 Exposé sur les méthodes de coloration des molécules : Générique Spécifique Autres Questions Pourquoi

Plus en détail

Dr E. CHEVRET UE2.1 2013-2014. Aperçu général sur l architecture et les fonctions cellulaires

Dr E. CHEVRET UE2.1 2013-2014. Aperçu général sur l architecture et les fonctions cellulaires Aperçu général sur l architecture et les fonctions cellulaires I. Introduction II. Les microscopes 1. Le microscope optique 2. Le microscope à fluorescence 3. Le microscope confocal 4. Le microscope électronique

Plus en détail

Contrôle de l'expression génétique :

Contrôle de l'expression génétique : Contrôle de l'expression génétique : Les régulations post-transcriptionnelles L'ARNm, simple intermédiaire entre le génome et les protéines? gène protéine L'ARNm, simple intermédiaire entre le génome et

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

2 Comment fonctionne un ordinateur, dans les grandes lignes

2 Comment fonctionne un ordinateur, dans les grandes lignes Programmation 1 Cours n 1 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot Les notes de cours et les feuilles de TD sont disponibles (avec un peu de retard par rapport au déroulement du cours)

Plus en détail

Big data et sciences du Vivant L'exemple du séquençage haut débit

Big data et sciences du Vivant L'exemple du séquençage haut débit Big data et sciences du Vivant L'exemple du séquençage haut débit C. Gaspin, C. Hoede, C. Klopp, D. Laborie, J. Mariette, C. Noirot, MS. Trotard bioinfo@genopole.toulouse.inra.fr INRA - MIAT - Plate-forme

Plus en détail

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

Plus en détail

La gestion de données dans le cadre d une application de recherche d alignement de séquence : BLAST.

La gestion de données dans le cadre d une application de recherche d alignement de séquence : BLAST. La gestion de données dans le cadre d une application de recherche d alignement de séquence : BLAST. Gaël Le Mahec - p. 1/12 L algorithme BLAST. Basic Local Alignment Search Tool est un algorithme de recherche

Plus en détail

Semestre 2 Spécialité «Analyse in silico des complexes macromolécules biologiques-médicaments»

Semestre 2 Spécialité «Analyse in silico des complexes macromolécules biologiques-médicaments» Master In silico Drug Design Semestre 2 Spécialité «Analyse in silico des complexes macromolécules biologiques-médicaments» 30NU01IS INITIATION A LA PROGRAMMATION (6 ECTS) Responsables : D. MESTIVIER,

Plus en détail

Contrôle de l'expression génétique : Les régulations post-transcriptionnelles

Contrôle de l'expression génétique : Les régulations post-transcriptionnelles Contrôle de l'expression génétique : Les régulations post-transcriptionnelles http://perso.univ-rennes1.fr/serge.hardy/ utilisateur : biochimie mot de passe : 2007 L'ARNm, simple intermédiaire entre le

Plus en détail

IMMUNOLOGIE. La spécificité des immunoglobulines et des récepteurs T. Informations scientifiques

IMMUNOLOGIE. La spécificité des immunoglobulines et des récepteurs T. Informations scientifiques IMMUNOLOGIE La spécificité des immunoglobulines et des récepteurs T Informations scientifiques L infection par le VIH entraîne des réactions immunitaires de l organisme qui se traduisent par la production

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Hépatite chronique B Moyens thérapeutiques

Hépatite chronique B Moyens thérapeutiques Hépatite chronique B Moyens thérapeutiques Dr Olfa BAHRI Laboratoire de Virologie Clinique Institut Pasteur de Tunis INTRODUCTION Plus de 300. 10 6 porteurs chroniques de VHB dans le monde Hépatite chronique

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Les OGM. 5 décembre 2008. Nicole Mounier

Les OGM. 5 décembre 2008. Nicole Mounier Les OGM 5 décembre 2008 Nicole Mounier Université Claude Bernard Lyon 1 CGMC, bâtiment Gregor Mendel 43, boulevard du 11 Novembre 1918 69622 Villeurbanne Cedex OGM Organismes Génétiquement Modifiés Transfert

Plus en détail

Univers Vivant Révision. Notions STE

Univers Vivant Révision. Notions STE Univers Vivant Révision Notions STE Chap. 13) L Écologie 1) a) Qu est-ce que l empreinte écologique? L empreinte écologique correspond à la surface terrestre et aquatique totale nécessaire à un individu,

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Identification de nouveaux membres dans des familles d'interleukines

Identification de nouveaux membres dans des familles d'interleukines Identification de nouveaux membres dans des familles d'interleukines Nicolas Beaume Jérôme Mickolajczak Gérard Ramstein Yannick Jacques 1ère partie : Définition de la problématique Les familles de gènes

Plus en détail

Bases moléculaires des mutations Marc Jeanpierre

Bases moléculaires des mutations Marc Jeanpierre Bases moléculaires des mutations Marc Jeanpierre Chaque enfant qui naît hérite de 10 à 30 nouvelles mutations ponctuelles. L essentiel des ces mutations sont heureusement des variations neutres de séquence

Plus en détail

MABioVis. Bio-informatique et la

MABioVis. Bio-informatique et la MABioVis Modèles et Algorithmes pour la Bio-informatique et la Visualisation Visite ENS Cachan 5 janvier 2011 MABioVis G GUY MELANÇON (PR UFR Maths Info / EPI GRAVITE) (là, maintenant) - MABioVis DAVID

Plus en détail

présentée DEVANT L UNIVERSITÉ DE RENNES 1 pour obtenir le grade de : DOCTEUR DE L UNIVERSITÉ DE RENNES 1 PAR Emilie GUÉRIN TITRE DE LA THÈSE :

présentée DEVANT L UNIVERSITÉ DE RENNES 1 pour obtenir le grade de : DOCTEUR DE L UNIVERSITÉ DE RENNES 1 PAR Emilie GUÉRIN TITRE DE LA THÈSE : N Ordre de la Thèse 3282 THÈSE présentée DEVANT L UNIVERSITÉ DE RENNES 1 pour obtenir le grade de : DOCTEUR DE L UNIVERSITÉ DE RENNES 1 Mention : BIOLOGIE PAR Emilie GUÉRIN Équipe d accueil : École Doctorale

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

Cellules procaryotes Service histologie Pr.k.mebarek

Cellules procaryotes Service histologie Pr.k.mebarek Cellules procaryotes Service histologie Pr.k.mebarek I) Les cellules procaryotes II) Les cellules eucaryotes o 1) Caractéristiques générales des cellules eucaryotes o 2) Organisation des cellules eucaryotes

Plus en détail

Base de données bibliographiques Pubmed-Medline

Base de données bibliographiques Pubmed-Medline Chapitre 1 ; Domaine 1 ; Documentation ; Champs référentiels 1.1.1, 1.1.2 et 1.1.3 Base de données bibliographiques Pubmed-Medline D r Patrick Deschamps,, 30 mai 2007 PLAN C2i métiers de la santé Introduction

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Séquence 6. Mais ces espèces pour autant ne sont pas identiques et parfois d ailleurs ne se ressemblent pas vraiment.

Séquence 6. Mais ces espèces pour autant ne sont pas identiques et parfois d ailleurs ne se ressemblent pas vraiment. Sommaire Séquence 6 Nous avons vu dans les séances précédentes qu au cours des temps géologiques des espèces différentes se sont succédé, leur apparition et leur disparition étant le résultat de modifications

Plus en détail

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 1 ENDNOTE X2 SOMMAIRE 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque 2. Manipuler une bibliothèque EndNote 2.1. La saisie

Plus en détail

! Séquence et structure des macromolécules. " Séquences protéiques (UniProt) " Séquences nucléotidiques (EMBL / ENA, Genbank, DDBJ)

! Séquence et structure des macromolécules.  Séquences protéiques (UniProt)  Séquences nucléotidiques (EMBL / ENA, Genbank, DDBJ) Introduction à la Bioinformatique Introduction! Les bases de données jouent un rôle crucial dans l organisation des connaissances biologiques.! Nous proposons ici un tour rapide des principales bases de

Plus en détail

Formavie 2010. 2 Différentes versions du format PDB...3. 3 Les champs dans les fichiers PDB...4. 4 Le champ «ATOM»...5. 6 Limites du format PDB...

Formavie 2010. 2 Différentes versions du format PDB...3. 3 Les champs dans les fichiers PDB...4. 4 Le champ «ATOM»...5. 6 Limites du format PDB... Formavie 2010 Les fichiers PDB Les fichiers PDB contiennent les informations qui vont permettre à des logiciels de visualisation moléculaire (ex : RasTop ou Jmol) d afficher les molécules. Un fichier au

Plus en détail

Travaux dirigés de Microbiologie Master I Sciences des Génomes et des Organismes Janvier 2015

Travaux dirigés de Microbiologie Master I Sciences des Génomes et des Organismes Janvier 2015 Andrew Tolonen atolonen@genoscope.cns.fr Travaux dirigés de Microbiologie Master I Sciences des Génomes et des Organismes Janvier 2015 A- Généralités I- La vie sur terre telle que nous la connaissons ne

Plus en détail

VI- Expression du génome

VI- Expression du génome VI- Expression du génome VI-1.- EXPRESSION DU GÉNOME- PRINCIPES GÉNÉRAUX DOGME CENTRAL Les gènes et l information génétique sont conservés sous forme d acides nucléiques La perpétuation à l identique de

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

Création et développement d une base de données sur le VIH

Création et développement d une base de données sur le VIH Création et développement d une base de données sur le VIH Stage de Licence de Biologie-Informatique Par Stéphanie Pérot Sous la direction d Anne Vanet Année 2005-2006 Atelier de BioInformatique rattaché

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

LA MITOSE CUEEP - USTL DÉPARTEMENT SCIENCES BAHIJA DELATTRE

LA MITOSE CUEEP - USTL DÉPARTEMENT SCIENCES BAHIJA DELATTRE Biologie LA MITOSE CUEEP - USTL DÉPARTEMENT SCIENCES BAHIJA DELATTRE Février 2006 I. L'INTRODUCTION Chaque cellule d'un organisme supérieur provient de la multiplication d'une cellule préexistante (cellule

Plus en détail

GOL502 Industries de services

GOL502 Industries de services GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation

Plus en détail

Séquence 2. L expression du patrimoine génétique. Sommaire

Séquence 2. L expression du patrimoine génétique. Sommaire Séquence 2 L expression du patrimoine génétique Sommaire 1. La synthèse des protéines 2. Phénotypes, génotypes et environnement Synthèse de la séquence 2 Exercices de la séquence 2 Glossaire des séquences

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

MODE OPERATOIRE OPENOFFICE BASE

MODE OPERATOIRE OPENOFFICE BASE MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide

Plus en détail

CATALOGUE DES PRESTATIONS DE LA

CATALOGUE DES PRESTATIONS DE LA 1/23 La plate-forme Biopuces et Séquençage de Strasbourg est équipée des technologies Affymetrix et Agilent pour l étude du transcriptome et du génome sur puces à ADN. SOMMAIRE ANALYSE TRANSCRIPTIONNELLE...

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Traitement de texte : Quelques rappels de quelques notions de base

Traitement de texte : Quelques rappels de quelques notions de base Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui

Plus en détail

Université d Evry-Val d Essonne Ecole Doctorale des Génomes Aux Organismes. Thèse

Université d Evry-Val d Essonne Ecole Doctorale des Génomes Aux Organismes. Thèse Université d Evry-Val d Essonne Ecole Doctorale des Génomes Aux Organismes Thèse Présentée pour obtenir le grade de Docteur en sciences de l université d Evry-Val d Essonne Spécialité Bioinformatique par

Plus en détail

Master de Bioinformatique et Biologie des Systèmes Toulouse http://m2pbioinfo.biotoul.fr Responsable : Pr. Gwennaele Fichant

Master de Bioinformatique et Biologie des Systèmes Toulouse http://m2pbioinfo.biotoul.fr Responsable : Pr. Gwennaele Fichant Master de Bioinformatique et Biologie des Systèmes Toulouse http://m2pbioinfo.biotoul.fr Responsable : Pr. Gwennaele Fichant Parcours: Master 1 : Bioinformatique et biologie des Systèmes dans le Master

Plus en détail

Introduction à la Génomique Fonctionnelle

Introduction à la Génomique Fonctionnelle Introduction à la Génomique Fonctionnelle Cours aux étudiants de BSc Biologie 3ème année Philippe Reymond, MER PLAN DU COURS - Séquençage des génomes - Fabrication de DNA microarrays - Autres méthodes

Plus en détail

Module 5 La maturation de l ARN et le contrôle post-transcriptionnel chez les eucaryotes

Module 5 La maturation de l ARN et le contrôle post-transcriptionnel chez les eucaryotes Module 5 La maturation de l ARN et le contrôle post-transcriptionnel chez les eucaryotes Où trouver l'information complémentaire? MCB -11, GVII-5, 22, 23. La maturation des ARNm chez les eucaryotes Les

Plus en détail

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction à l algorithmique et à la programmation M1102 CM n 3 Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d

Plus en détail

PROJET ALGORITHMIQUE ET PROGRAMMATION II

PROJET ALGORITHMIQUE ET PROGRAMMATION II PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du

Plus en détail

Tout savoir sur le clavier

Tout savoir sur le clavier Tout savoir sur le clavier Niveau débutant Niveau intermédiaire Niveau confirmé Le clavier est un périphérique d entrée (interface homme / machine), composé de touches envoyant des instructions à la machine.

Plus en détail

ULBI 101 Biologie Cellulaire L1. Le Système Membranaire Interne

ULBI 101 Biologie Cellulaire L1. Le Système Membranaire Interne ULBI 101 Biologie Cellulaire L1 Le Système Membranaire Interne De la nécessité d un SMI Le volume augmente comme le cube de la dimension linéaire, alors que la surface n'est augmentée que du carré Une

Plus en détail

TP Wireshark. Première approche de Wireshark. 1 ) Lancer Wireshark (double clic sur l icône sur le bureau). La fenêtre

TP Wireshark. Première approche de Wireshark. 1 ) Lancer Wireshark (double clic sur l icône sur le bureau). La fenêtre TP Wireshark Wireshark est un analyseur de protocole réseau. Il permet de visualiser et de capturer les trames, les paquets de différents protocoles réseau, filaire ou pas. Le site originel est à http://www.wireshark.org/.

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Les bases de données transcriptionnelles en ligne

Les bases de données transcriptionnelles en ligne Les bases de données transcriptionnelles en ligne Différents concepts en régulation transcriptionnelle sites de fixation - in vitro/vivo? - quelle technique? - degré de confiance? facteur de transcription

Plus en détail

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

! #$ $ $ ! %#& ! '& ( )! )*+ ! "! "#$ $ $ ""! %#& """! '& ( ")! )*+ "! "#$ $ $ ""! %#& """! '& ( ")! )*+, ## $ *$-./ 0 - ## 1( $. - (/$ #,-".2 + -".234-5..'"6..6 $37 89-%:56.#&(#. +6$../.4. ;-37 /. .?.@A&.!)B

Plus en détail

Connaître la version de SharePoint installée

Connaître la version de SharePoint installée Connaître la version de SharePoint installée Comment savoir la version de SharePoint en cours Dans le cadre de la maintenance de plusieurs fermes SharePoint, il est indispensable de connaître les versions

Plus en détail

Mise en place d une plateforme de gestion de matériels biologiques : quels avantages pour les chercheurs?

Mise en place d une plateforme de gestion de matériels biologiques : quels avantages pour les chercheurs? Mise en place d une plateforme de gestion de matériels biologiques : quels avantages pour les chercheurs? Dr Xavier Manival, Laboratoire IMoPA, CR, CNRS Françoise Tisserand-Bedri, Documentaliste, Inist-CNRS

Plus en détail

Configurer la supervision pour une base MS SQL Server Viadéis Services

Configurer la supervision pour une base MS SQL Server Viadéis Services Configurer la supervision pour une base MS SQL Server Référence : 11588 Version N : 2.2 : Créé par : Téléphone : 0811 656 002 Sommaire 1. Création utilisateur MS SQL Server... 3 2. Configuration de l accès

Plus en détail

Journée SITG, Genève 15 octobre 2013. Nicolas Lachance-Bernard M.ATDR Doctorant, Laboratoire de systèmes d information géographique

Journée SITG, Genève 15 octobre 2013. Nicolas Lachance-Bernard M.ATDR Doctorant, Laboratoire de systèmes d information géographique Monitorint spatio-temporel intégré de la mobilité urbaine Monitoring spatio-temporel de l ADN urbain Une réponse aux défis, problèmes, enjeux et risques des milieux urbains Nicolas Lachance-Bernard M.ATDR

Plus en détail

Paris Airports - Web API Airports Path finding

Paris Airports - Web API Airports Path finding Paris Airports - Web API Airports Path finding Hackathon A660 Version Version Date writer Comment 1.0 19/05/2015 Olivier MONGIN Document creation Rédacteur : Olivier.MONGIN@adp.fr Date : 19/05/2015 Approbateur

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Détection des duplications en tandem au niveau nucléique à l'aide de la théorie des flots

Détection des duplications en tandem au niveau nucléique à l'aide de la théorie des flots Université Toulouse 3 Paul Sabatier(UT3 Paul Sabatier) Informatique Spécialité Bioinformatique Eric AUDEMARD lundi 28 novembre 2011 Détection des duplications en tandem au niveau nucléique à l'aide de

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

1. Structure d'un programme FORTRAN 95

1. Structure d'un programme FORTRAN 95 FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)

Plus en détail

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

THEME : CLES DE CONTROLE. Division euclidienne

THEME : CLES DE CONTROLE. Division euclidienne THEME : CLES DE CONTROLE Division euclidienne Soit à diviser 12 par 3. Nous pouvons écrire : 12 12 : 3 = 4 ou 12 3 = 4 ou = 4 3 Si par contre, il est demandé de calculer le quotient de 12 par 7, la division

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

MASTER (LMD) MANAGEMENT DE PROJET ET INNOVATION EN BIOTECHNOLOGIE

MASTER (LMD) MANAGEMENT DE PROJET ET INNOVATION EN BIOTECHNOLOGIE MASTER (LMD) MANAGEMENT DE PROJET ET INNOVATION EN BIOTECHNOLOGIE RÉSUMÉ DE LA FORMATION Type de diplôme : Master (LMD) Domaine ministériel : Sciences, Technologies, Santé Mention : BIOLOGIE SANTE Spécialité

Plus en détail

TUTORIAL REUTERS. Utilisation de l'utilitaire de recherche Reuters

TUTORIAL REUTERS. Utilisation de l'utilitaire de recherche Reuters TUTORIAL REUTERS Connexion à Reuters Allez sur https://portal.hpd.global.reuters.com/auth/login.aspx Le login est reut@ensimag.imag.fr, =1 à 5, le et le mot de passe étant ceux qui vous ont été

Plus en détail

Université de Montréal. Développement d outils pour l analyse de données de ChIP-seq et l identification des facteurs de transcription

Université de Montréal. Développement d outils pour l analyse de données de ChIP-seq et l identification des facteurs de transcription Université de Montréal Développement d outils pour l analyse de données de ChIP-seq et l identification des facteurs de transcription par Eloi Mercier Département de bioinformatique Faculté de médecine

Plus en détail

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Compléments de documentation Scilab : affichage de texte et formatage de nombres Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées Agrégation externe Année 2002-2003 Compléments de documentation Scilab : affichage de texte et formatage de

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES

Plus en détail

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance Auteur : François CHAUSSON Date : 8 février 2008 Référence : utiliser le Bureau a distance.doc Préambule Voici quelques

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox Fiche 2 Cette fiche est la suite directe de la première. 1. Instructions conditionnelles : 1.1. Reprise de la fiche 1 : Lecture d'un algorithme : ORDINATEUR INTERDIT : Après

Plus en détail