L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER
Mise en situation Problèmatique : Un biologiste doit réaliser régulièrement plusieurs alignements multiples –Les séquences à aligner sont récupérées sur un serveur (20 jeux de séquences) –Le programme dalignement utilisé est clustalw
Solutions ? Quelles solutions envisager ? –Manuelle : contraignante, source derreurs, perte de temps –Automatique : rapide et efficace, installation requiert temps + compétences
Indications supplémentaires Les séquences peuvent être récupérées en interrogeant un serveur qui stocke des séquences Requête http format GET Le paramètre est nbcys et correspond au nombre de cystéines dans les séquences On obtient un fichier au format fasta
2 possibilités 1ère étape : récupération des séquences sur le serveur 2ème étape : réalisation des alignements multiples Faire appel à un serveurInstaller Clustal sur sa machine et lutiliser en local distantelocale
Comment automatiser ? Requêtes serveur Fichiers fasta Alignements multiples Etape 1 Etape 2
Récupérer les séquences (1) On écrit un script php pour appeler le serveur, récupérer les données et les enregistrer dans des fichiers : –Envoyer une requête –Lire les données et les enregistrer
Récupérer les séquence (2) <?php $serveur = ; $pagephp = /pub/richer/rec/bio/dbdb/db_find_seq.php; // boucle for ($i=1; $i <= 20; ++$i) { $nom_fichier = seq$i.txt; // ouverture du fichier $fichier = fopen($nom_fichier, w); // si ouverture impossible alors afficher un message // derreur et sortir du programme if (!$fichier) { echo Impossible douvrir le fichier; exit(1); }
Récupérer les séquence (3) // accès au serveur // ouverture de la page pour récupérer les données $url = fopen($serveur. $pagephp.?nbcys=$i,r); // si ouverture impossible alors afficher un message // derreur et sortir du programme if (!$url) { echo Impossible douvrir lurl $url; exit(1); }
Récupérer les séquence (4) // lire le résultat et lenregistrer while (!feof($url)) { // lire une ligne (terminée par un retour chariot) $line = fgets($url,1000); // lécrire dans le fichier des séquences fwrite($fichier, $line); } // fermeture de la connexion avec le serveur fclose($url); // fermeture du fichier fclose($fichier); } ?> Si le script fonctionne, on obtient alors les fichiers : seq1.txt, seq2.txt, …, seq20.txt
Clustal W Installation et utilisation
Récupérer clustal et linstaller Utiliser un navigateur et récupérer clustalw –Il faut récupérer une version unix/linux –Soit un exécutable, soit les sources du programme –Le fichier téléchargé possède lune des extensions suivantes :.zip sous windows.tar,.gz, ou.tgz pour unix/linux
Installer clustal Décompresser le fichier obtenu : –unzip clustal1.83.src.zip – gzip clustal1.83.src.tar.gz –tar –xvf clustal.1.83.src.tar afficher le contenu du répertoire en utilisant la commande ls Se rendre dans le répertoire : clustalw1.83
Installer clustal Lire le fichier README qui contient des informations sur le programme Éventuellement regarder le fichier INSTALL si il existe Taper : make pour compiler le programme
Réaliser les alignements (1) Trouver les paramètres que lon doit utiliser avec clustalw
Réaliser les alignements (2) <?php for ($i = 1; $i <= 20; ++$i) { $entree = "seq$i.txt"; $sortie = "aln$i.aln; $commande = clustalw1.83/clustalw –infile=$entree ; $commande.= –outfile=$sortie –output=gcg; $resultat = system( $commande ); echo $resultat; } ?>