De l'alignement des séquences à la phylogénie
|
|
- Mireille Paré
- il y a 7 ans
- Total affichages :
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
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étailIntroduction 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étailBibliographie 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étailInitiation à 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étailCours 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étailTP 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étailSTAGE 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étailPerl 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étailUEO11 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étailModule 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étailGMIN206 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étailTD 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étailDr 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étailContrô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étailChapitre 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étail2 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étailBig 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étailDé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étailLa 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étailSemestre 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étailContrô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étailIMMUNOLOGIE. 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étailSHERLOCK 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étailAlgorithmique 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étailL 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étailRappel. 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étailHé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étailLicence 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étailPré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étailLes 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étailUnivers 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étailIN 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étailIdentification 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étailBases 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étailMABioVis. 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étailpré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étail1. 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étailCellules 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étailBase 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étailLes 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étailTP 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étailCours 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étailInfo0101 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étailSé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étailENDNOTE 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)
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étailFormavie 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étailTravaux 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étailVI- 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étailStructure 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étailLangage 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étailCré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étailConventions 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étailPour 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étailLA 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étailGOL502 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étailSé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étailInitiation à 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étailINITIATION 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étailINTRODUCTION 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étailMODE 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étailCATALOGUE 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étail1. 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étailTraitement 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étailUniversité 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étailMaster 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étailIntroduction à 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étailModule 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étailIntroduction à 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étailPROJET 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étailTout 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étailULBI 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étailTP 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étailPlan 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étailLes 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étailConnaî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étailMise 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étailConfigurer 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étailJourné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étailParis 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étailAlgorithmique 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étailCours 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étailI. 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étailCours 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étailDé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étailRecherche 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étail1. 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étailINF 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étailTHEME : 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 Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailMASTER (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étailTUTORIAL 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étailUniversité 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étailComplé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étailCOMMANDES 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étailMicro-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étail1/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étailAlgorithmique 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