TD 3 Recherche de similarités dans une banque de séquences
|
|
- Georges Laberge
- il y a 8 ans
- Total affichages :
Transcription
1 Module LV348 Version enseignant TD 3 page 1/7 TD 3 Recherche de similarités dans une banque de séquences Revu dernièrement par Mathilde Carpentier, Cyril Gallut et Joël Pothier Version du 30 mars 2012 Tous les exercices sont à faire en python. L objectif de ce TP est d écrire un programme de type FASTA. Cette méthode permet de trouver, dans une banque de séquences, les séquences ressemblant à une séquence dite requête. 1 Les données Nous travaillerons aussi avec la banque de séquences protéiques téléchargeable à l adresse : Vous pouvez télécharger une séquence requête à l adresse : dna_polymerase.fst. Vous pouvez également télécharger des séquences requêtes sur le site : 2 Pseudo-Fasta L objectif est d écrire un programme qui permet de compter le nombre de mots d une taille donnée (ou graines) communs entre la séquence requête et les séquence de la banque. Ce programme retournera la séquence de la banque partageant le plus de graines avec la requête. 2.1 Lecture des fichiers Écrivez (si cela n a pas déjà été fait) une fonction python nommée readfastalmul permettant de lire un fichier fasta contenant plusieurs séquences et qui retourne la liste des tuples (nom, sequence), le nom étant la ligne de description sans le ">". 2.2 Construction du dictionnaire des graines Écrivez une fonction nommée makedict qui à partir d une séquence et d une taille de graine, construit et retourne le dictionnaire contenant pour chaque graine présente dans la séquence les positions auxquelles elle apparaît. Exemple : Soit la séquence ATGATG et des graines de taille 3. Le dictionnaire retourné doit être (sachant que les indices commencent à 0) : {ATG:[0,3], TGA:[1] GAT:[2]}. 2.3 Comptage des graines communes Écrivez une fonction qui à partir d un dictionnaire de graines généré par la fonction ci-dessus et à partir d une séquence retourne le nombre de graines communes entre les Pseudo-Fasta Utilisez les fonctions précédentes pour écrire la fonction pseudofasta qui retourne la séquence de la banque partageant le plus de graines avec la requête.
2 Module LV348 Version enseignant TD 3 page 2/7 3 FASTA simple En réalité, la méthode FASTA prend aussi en compte les positions où sont trouvées les graines dans les séquences. Elle recherche d abord le décalage (ie. la meilleure diagonale) des deux séquences (requête/banque) pour le quel le plus grand nombre de graines est trouvé. Par exemple si on compare la séquence requête précédente ATGATG avec la séquence de la banque TATGA le meilleur décalage est de -1, c est-à-dire : -ATGATG TATGA Il y a alors 2 graines de longueur 3 communes : ATG et TGA. Le score de similitude entre ces 2 séquences sera alors le nombre de résidus identiques entre les deux séquences lorsqu elles sont décalées. Ecrivez un programme permettant de trouver les séquences d une banque les plus similaires à une séquence requête selon cette méthode. Solution : Toutes les fonctions python sont dans le repertoire code. 1 #!/usr/bin/python 2 # -*- coding: latin1 -*- 3 4 # chargement de la bibliothèque sys 5 import sys 6 # chargement de la bibliothèque random 7 from random import * 8 9 #Question # Lecture d un fichier de plusieurs séquences au format fasta 11 def readfastamul(nomfi): 12 # Lecture du contenu du fichier 13 f=open(nomfi,"r") 14 lines=f.readlines() 15 f.close() 16 # Analyse du contenu du fichier 17 seq="" 18 nom="" 19 lesseq=[] 20 for l in lines: 21 if l[0] == > : 22 if seq!= "": 23 tmp=(nom,seq) 24 lesseq.append(tmp) 25 nom=l[1:-1] 26 seq="" 27 else: 28 # Ne pas oublier d enlever le retour chariot à la fin 29 # des lignes 30 seq=seq+l[:-1] 31 if seq!= "": 32 tmp=(nom,seq) 33 lesseq.append(tmp) 34 return lesseq
3 Module LV348 Version enseignant TD 3 page 3/ # Question 2.2 Pour une taille l de mot donnée et une séquence, 37 # retourne le dictionnaire contenant pour chaque mot de taille l 38 # une liste des positions auxquelles il apparaît dans la séquence 39 # 40 def makedict(seq,l): 41 resdico={} 42 for i in xrange(0,len(seq)-l+1): 43 if resdico.has_key(seq[i:i+l]): 44 resdico[seq[i:i+l]].append(i) 45 else: 46 resdico[seq[i:i+l]]=[i] 47 return resdico #Question # Fonction retournant le nombre de graines communes 51 # entre le dictionnaire crée à partir de la séquence requête et une 52 # séquence donnée. 53 def comptegrainescommunes(seq, dico): 54 l=len(dico.keys()[0]) # récuppère la longueur de la graine. 55 nbgraines=0 56 for i in xrange(0,len(seq)-l+1): # Pour chaque mot de longueur l 57 # on incremente du nombre d occurence de ce mot 58 # dans la sequence requete (i.e. longeur de la liste des 59 # positions du mot) 60 if dico.has_key(seq[i:i+l]): 61 nbgraines=nbgraines+len(dico[seq[i:i+l]]) 62 return nbgraines #Question # Fonction retournant la séquence de la banque ayant le plus nombre de graines 66 # communes avec la séquence requête (sous forme de dictionnaire). 67 def pseudofasta(listeseq, query, lggraines): 68 listeseqscores=[] 69 dico=makedict(query, lggraines) 70 for seq in listeseq[0:]: 71 score=comptegrainescommunes(seq[1],dico)#/len(listeseq[0][1]) 72 #print score,seq[0] 73 listeseqscores.append((seq,score)) # Tri par ordre décroissant sur le deuxième élément du tuple (le score) 76 listeseqscores.sort(key=lambda SeqScore:SeqScore[1], reverse=true) 77 # Conserve les dix meilleurs 78 TenBestScores=listeSeqScores[0:10] 79 return TenBestScores ################################################### #Question #Fonction retournant le meilleur décalage 85 def decalage(dico, lgseqdico, seq): 86 lgseq=len(seq) 87 lgraine=len(dico.keys()[0]) 88 tdec={} 89 for i in xrange(-lgseq+1,lgseqdico): 90 tdec[i]=0
4 Module LV348 Version enseignant TD 3 page 4/7 91 #print tdec 92 #print tvaldec 93 for i in xrange(0,lgseq-lgraine+1): 94 if dico.has_key(seq[i:i+lgraine]): 95 #print "Graine ",seq[i:i+lgraine], " trouvee" 96 for j in dico[seq[i:i+lgraine]]: 97 tdec[j-i]=tdec[j-i]+1 98 return trouveimax(tdec) def trouveimax(tab): 101 imax=tab.keys()[0] 102 for i in tab.keys()[1:]: 103 if tab[imax]<tab[i]: 104 imax=i 105 return imax #Version de mathilde avec un tableau 110 #Q represente la requete et B la proteine de la banque 111 #Comme les decalages calcules avec la formule iq-ib 112 #sont dans l intervalle [-lgb+1,lgq-1] et 113 #qu on veut des indices entre [0,?] 114 #Il faut qu on ajoute lgb-1 iq-ib. 115 #Ansi, on aura un indice dans [0,lgB+lgQ-2] 116 #Donc i=iq-ib+lgb-1 et pour retouver le decalage 117 # dec = i-lgb def decalage2(dico, lgq, seq): 119 lgb=len(seq) 120 lgraine=len(dico.keys()[0]) 121 tdec=[] 122 imax=0 123 for ib in xrange(0,lgq+lgb-1): 124 tdec.append(0) 125 for ib in xrange(0,lgb-lgraine+1): 126 if dico.has_key(seq[ib:ib+lgraine]): 127 #print "Graine ",seq[i:i+lgraine], " trouvee" 128 for iq in dico[seq[ib:ib+lgraine]]: 129 tdec[iq-ib+lgb-1]=tdec[iq-ib+lgb-1] if tdec[iq-ib+lgb-1]>tdec[imax]: 131 imax=iq-ib+lgb return imax-lgb #Version de Joel ou le décalage est inverse: Banque-Query et non Query -Banque 136 #Fonction retournant le meilleur decalage 137 # qdico: dictionnaire de la query 138 # lgq: longueur de la sequence query 139 # bseq: seq de la banque 140 def decalagejoel(qdico, lgq, bseq): 141 lgb=len(bseq) 142 lgraine=len(qdico.keys()[0]) 143 tdec=[] 144 # Le decalage minimal de la seq query (lgq) par rapport 145 # a la seq banque (lgb) minimal est -lgq+k 146 # exemple avec k==2
5 Module LV348 Version enseignant TD 3 page 5/7 147 # query: lgq-3 lgq-2 lgq # bank: < lgq+k > lgb # 150 # Le decalage maximal de la query / banque est de lgb-k # exemple avec k==2 152 # query: < lgb-k ----> lgq-3 lgq-2 lgq # bank: lgb-2 lgb # donc l etalage de la liste des decalages doit etre: 155 # -lgq+k,..., 0,...,+lgb-k 156 # donc d une longueur ABS(-lgq+k) lgb-k, soit lgq-k+1+lgb-k, 157 # soit encore lgq+lgb-2k # Note: il faudra retrouver le vrai decalage en prenant l indice dans le tableau 159 # des decalages - lgq + k 160 # Exemple1: un vrai decalage de -lgq+k est a l indice 0 (ici decalage minimal) 161 # Exemple2: un vrai decalage de lgb-k est a l indice lgq+lgb-2k (ici 162 # decalage maximal) 163 # Inversement, on trouve l indice == decalage + lgq - k 164 for i in xrange(lgq+lgb-2*lgraine+1): 165 tdec.append(0) 166 #print tdec 167 indicemax = decamax=0 169 for posb in xrange(0,lgb-lgraine+1): 170 if qdico.has_key(bseq[i:i+lgraine]): 171 #print "Graine ",bseq[i:i+lgraine], " trouvee" 172 for posq in dico[seq[i:i+lgraine]]: 173 indice = posb-posq + lgq - lgraine 174 tdec[indice]=tdec[indice] # on note le max en meme temps 176 if tdec[indice] > tdec[indicemax]: 177 indicemax = indice 178 decamax = posb-posq 179 return decamax #Question # Fonction comptant le nombre d aa identiques 184 # Si les 2 protéines sont alignées selon le décalage donné 185 def CompteId(seq1,seq2,dec): 186 if dec <= 0: 187 iseq1=0 188 else: 189 iseq1=dec 190 iseq2=iseq1-dec 191 len1=len(seq1) 192 len2=len(seq2) 193 nbid=0 194 while iseq1 <len1 and iseq2 < len2: 195 if seq1[iseq1]==seq2[iseq2]: 196 nbid+=1 197 iseq1+=1 198 iseq2+=1 199 return nbid 200
6 Module LV348 Version enseignant TD 3 page 6/7 201 #Question # Fonction retournant la séquence de la liste de séquences 203 # ayant le plus de graines commune avec la séquence requête 204 # (sous forme de dictionnaire) 205 def FastaSimple(listeSeq, query, lggraines): 206 dico=makedict(query, lggraines) 207 lgquery=len(query) 208 dec=decalage(dico, lgquery, listeseq[0][1]) 209 bestscore=compteid(listeseq[0][1],query, dec) 210 bestseq=listeseq[0] 211 for i in listeseq[1:]: 212 dec=decalage(dico, lgquery, i[1]) 213 score=compteid(i[1],query, dec) 214 #print score,i[0] 215 if score > bestscore: 216 bestscore=score 217 bestseq=i 218 return(bestseq,bestscore) # ############################################################################### 221 ################################ main ################################ # Si la ligne de commande ne contient pas le bon nombre de paramètres le 225 # programme s arrête en afichant le mode d emplois 226 if ( len(sys.argv)!= 4 ): 227 print "Usage :" 228 print "./SolutionsTD3_Fasta.py banque seqreq taille" 229 print "\tbanque : fichier fasta contenant la banque" 230 print "\tseqreq : fichier fasta contenant la séquence reqête" 231 print "\tseqreq : taille de la graine (entier)" 232 sys.exit() #Question print "Lecture de la banque" 236 messeq=readfastamul(sys.argv[1]) 237 print "Lecture de la requete" 238 query=readfastamul(sys.argv[2]) 239 taillegraine = int(sys.argv[3]) #Question #print makedict("atgatg",3) 244 print "Construction du dictionnaire de la séquence requête" 245 dicoquery=makedict(query[0][1],taillegraine) #PSEUDO FASTA 248 #Question #print "Nombre de graines de taille 3 communes entre ATGATG et TATGA" 250 #print comptegrainescommunes("tatga", makedict("atgatg",3)) #question 2.4
7 Module LV348 Version enseignant TD 3 page 7/7 254 print "PseudoFasta" 255 #messeq.append(query[0]) 256 TenbestHits=pseudoFasta(mesSeq, query[0][1],taillegraine) 257 print "Meilleur hit avec pseudofasta",tenbesthits[0][0][0],"nb graines ", TenbestHits[0][1] for i in xrange(0,10): 260 print "Nb graines =",TenbestHits[i][1]," : ",TenbestHits[i][0][0] print #FASTA SIMPLE 265 #question #print "meilleur decalage pour les sequences ATGATG et TATGA :" 267 #print "Selon fonction decalage ", decalage(makedict("atgatg",3), 6, "TATGA") 268 #print "Selon fonction decalage2", decalage2(makedict("atgatg",3), 6, "TATGA") 269 #print "Selon fonction decalagejoel", decalagejoel(makedict("atgatg",3), 6, " TATGA") 270 #bestdec=decalage(dicoquery, len(query[0][1]), besthit[0][1]) #question #print "Nb id pour les sequences ATGATG et TATGA :" 274 #print CompteId("ATGATG", "TATGA", decalage(makedict("atgatg",3), 6, "TATGA")) #question besthit=fastasimple(messeq, query[0][1],taillegraine) 278 print "Meilleur hit avec FastaSimple",bestHit[0][0],"nb identites ",besthit[1] code/solutionstd3_fasta.py
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é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é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é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étailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détail1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux
Plus en détail1 Lecture de fichiers
Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
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étailExercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Plus en détailAlgorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??
Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement
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étailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
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é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étailInitiation à l algorithmique
Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détail1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
Plus en détailCompression Compression par dictionnaires
Compression Compression par dictionnaires E. Jeandel Emmanuel.Jeandel at lif.univ-mrs.fr E. Jeandel, Lif CompressionCompression par dictionnaires 1/25 Compression par dictionnaire Principe : Avoir une
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étailArchitecture des Systèmes d Information Architecture des Systèmes d Information
Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau
Plus en détailChapitre 4 Pierre, papier, ciseaux
Python 3 : objectif jeux Chapitre 4 Chapitre 4 Pierre, papier, ciseaux (version graphique) 4.1. Thèmes abordés dans ce chapitre Le module tkinter : Label, Button Fenêtre Événements Réceptionnaire d'événements
Plus en détailV- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détailCours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Plus en détailEtude et développement d un moteur de recherche
Ministère de l Education Nationale Université de Montpellier II Projet informatique FLIN607 Etude et développement d un moteur de recherche Spécifications fonctionnelles Interface utilisateur Responsable
Plus en détailPython - introduction à la programmation et calcul scientifique
Université de Strasbourg Environnements Informatique Python - introduction à la programmation et calcul scientifique Feuille de TP 1 Avant de commencer Le but de ce TP est de vous montrer les bases de
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é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é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étailTP : Gestion d une image au format PGM
TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples
Plus en détailINF111. Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1/inf111/ Massih-Reza Amini
Initiation à la programmation impérative en C http://ama.liglab.fr/ amini/cours/l1// Massih-Reza Amini Université Joseph Fourier Laboratoire d Informatique de Grenoble 2/52 Introduction Structures de contrôle
Plus en détailLes bases du langage Python
Laboratoire de mathématiques d'orsay 6 décembre 2010 Plan 1 Présentation de Python 2 Les types et les opérations de base 3 Les structures de contrôle 4 Les fonctions 5 Les chiers 6 Les classes 7 Les exceptions
Plus en détailDM 1 : Montre Autoquartz ETA
Lycée Masséna DM 1 : Montre Autoquartz ETA 1 Présentation de la montre L essor de l électronique nomade s accompagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imposées à ces
Plus en détailTD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année
TD de supervision J.P. Chemla Polytech Tours Département productique 2ème année 1 Présentation de l équipement On veut superviser une cuve dans un batiment. Les informations à visualiser sont les suivantes
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étailPlus courts chemins, programmation dynamique
1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique
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étailLe langage SQL Rappels
Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,
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étailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailTP Bases de données réparties
page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure
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é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étailLOSLIER Mathieu. Filière Informatique et Réseau 1 ère année. TP DNS. Responsable : LOHIER Stephane. Chargé de TD : QUIDELLEUR Aurélie
LOSLIER Mathieu Filière Informatique et Réseau 1 ère année. TP DNS Responsable : LOHIER Stephane Chargé de TD : QUIDELLEUR Aurélie Le 24 Novembre 2010 Table des matières 1. Intoduction... 4 2. Préliminaires...
Plus en détailCours 7 : Utilisation de modules sous python
Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est
Plus en détailDjango et PostgreSQL sous la charge
Django et PostgreSQL sous la charge Rodolphe Quiédeville Pourquoi couper la queue du poulet? RMLL - Beauvais 8 juillet 2015 Rodolphe Quiédeville (PeopleDoc) Django et PostgreSQL sous la charge 8 juillet
Plus en détailMaster1 ère année. Réseaux avancés I. TP nº5 filière ISICG
Master1 ère année Réseaux avancés I TP nº5 filière ISICG Utilisation de la microplateforme Bottle et du framework AngularJS La «micro web-framework» Bottle pour Python Les principales caractèristiques
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étailAWS avancé. Surveiller votre utilisation d EC2
10 AWS avancé Dans ce chapitre, nous bâtirons sur les bases que nous avons apprises jusqu ici. Nous étudierons des sujets plus avancés tels que la surveillance de votre utilisation d AWS, l utilisation
Plus en détailIntroduction à la programmation Travaux pratiques: séance d introduction INFO0201-1
Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un
Plus en détailMysql avec EasyPhp. 1 er mars 2006
Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailUE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Plus en détail1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
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étailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détailLA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE
LA PHYSIQUE DES MATERIAUX Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE Pr. A. Belayachi Université Mohammed V Agdal Faculté des Sciences Rabat Département de Physique - L.P.M belayach@fsr.ac.ma 1 1.Le réseau
Plus en détailPROJET 1 : BASE DE DONNÉES REPARTIES
PROJET 1 : BASE DE DONNÉES REPARTIES GESTION D UNE BANQUE Elèves : David Bréchet Frédéric Jacot Charles Secrétan DONNÉES DU PROJET SSC - Bases de Données II Laboratoire de Bases de Données BD réparties
Plus en détailAccess et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.
Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,
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é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étailTP11 - Administration/Tuning
TP11 - Administration/Tuning MIAGE #3-2006/2007 January 9, 2007 1 Architecture physique d une base Oracle 1.1 La structure physique Une base de données Oracle est composé de fichiers (au sens du système
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étailUniversité de La Rochelle. Réseaux TD n 6
Réseaux TD n 6 Rappels : Théorème de Nyquist (ligne non bruitée) : Dmax = 2H log 2 V Théorème de Shannon (ligne bruitée) : C = H log 2 (1+ S/B) Relation entre débit binaire et rapidité de modulation :
Plus en détailBases de données cours 1
Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre
Plus en détailModule http MMS AllMySMS.com Manuel d intégration
Module http MMS AllMySMS.com Manuel d intégration Objectif du document... 3 1 Envoi de MMS par requête http... 4 1.1 Format de la requête utilisée... 4 1.2 Arborescence et explication des balises du flux
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailGuide d utilisation pour W.access - Client
1. Inscription en ligne : Guide d utilisation pour W.access - Client Aller à l adresse suivante : http://www.micasf.com; Cliquer sur «Zone Clients» en haut à droite de la page, ensuite sur «OUVREZ VOTRE
Plus en détailOLYMPIADES ACADEMIQUES DE MATHEMATIQUES. 15 mars 2006 CLASSE DE PREMIERE ES, GMF
OLYMPIADES ACADEMIQUES DE MATHEMATIQUES 15 mars 2006 CLASSE DE PREMIERE ES, GMF Durée : 4 heures Les quatre exercices sont indépendants Les calculatrices sont autorisées L énoncé comporte trois pages Exercice
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailSQL MAP. Etude d un logiciel SQL Injection
Introduction Ce TP a pour but d analyser un outil d injection SQL, comprendre les vulnérabilités d une BD et de mettre en œuvre une attaque par injection SQL. Prise en main du logiciel SQLMap est un outil
Plus en détailProjet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.
Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai. 1 Introduction On considère une grille de 20 lignes 20 colonnes. Une case de la grille peut être vide, ou contenir une et une
Plus en détailTP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts
E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond
Plus en détailMaster 1 ère année. UE Réseaux Avancés I. Corrections décembre 2012. Durée : 2h Documents autorisés
Master 1 ère année UE Réseaux Avancés I Corrections décembre 2012 Durée : 2h Documents autorisés NetFilter & Gestion de congestion (12 points) 1 Le responsable d une petite entreprise vous appelle pour
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étailOUTIL DE TRAVAIL COLLABORATIF
B i b l i o t h è q u e OUTIL DE TRAVAIL COLLABORATIF Septembre 2012 TitanPad est un outil de travail collaboratif permettant de prendre des notes ou de rédiger à plusieurs un même texte à distance en
Plus en détailApproche Contract First
Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation
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étailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailTD : Codage des images
TD : Codage des images Les navigateurs Web (Netscape, IE, Mozilla ) prennent en charge les contenus textuels (au format HTML) ainsi que les images fixes (GIF, JPG, PNG) ou animée (GIF animée). Comment
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
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étailInitiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr
Initiation à Excel Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Plan de cette année
Plus en détailRecherche d Information(RI): Fondements et illustration avec Apache Lucene. par Majirus Fansi @majirus
1 Recherche d Information(RI): Fondements et illustration avec Apache Lucene par Majirus Fansi @majirus Résumé Fondements de la Recherche d Information (RI) Noyau de toute application de RI Éléments à
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étailPHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)
PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailDans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.
I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement
Plus en détailModélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework
Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé
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étailPartie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle
Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Ce projet comporte trois parties sur les thèmes suivants : création de base de donnée, requêtes SQL, mise en œuvre
Plus en détailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailStockage du fichier dans une table mysql:
Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table
Plus en détail1 Introduction et installation
TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailLe modèle de données
Le modèle de données Introduction : Une fois que l étude des besoins est complétée, deux points importants sont à retenir : Les données du système étudié Les traitements effectués par le système documentaire.
Plus en détail