Extraction d information des bases de séquences biologiques avec R



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

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

Initiation à l analyse en composantes principales

Introduction aux bases de données: application en biologie

Base de données bibliographiques Pubmed-Medline

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Guide de récupération de Windows Server 2003 R2 pour serveurs Sun x64

Architecture distribuée

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

La place de SAS dans l'informatique décisionnelle

Les Biolangages. Thierry Lecroq. Université de Rouen FRANCE. university-logo. Thierry Lecroq (Univ. Rouen) MB / 16

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

Bases de données Outils de gestion

Bibliographie Introduction à la bioinformatique

Leslie REGAD ; Gaëlle LELANDAIS. leslie.regad@univ- paris- diderot.fr ; gaelle.lelandais@univ- paris- diderot.fr

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

E-Biothon : Une plate-forme pour accélérer les recherches en biologie, santé et environnement.

Introduction à MATLAB R

SysFera. Benjamin Depardon

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Logiciel Libre & qualité. Présentation

Guide d installation de SugarCRM Open Source version 4.5.1

Solutions informatiques (SI) Semestre 1

MABioVis. Bio-informatique et la

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Cours 1. I- Généralités sur R II- Les fonctions de R et autres objets III-Les vecteurs

SQL Parser XML Xquery : Approche de détection des injections SQL

Session S12 Les bases de l optimisation SQL avec DB2 for i

CREATION WEB DYNAMIQUE

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

Programmation de services en téléphonie sur IP

Génétique et génomique Pierre Martin

EmonCMS sur EWATTCH Cloud

AA-SO5 KIDA/GSOV/VAMDC

BIRT (Business Intelligence and Reporting Tools)

TD de Biochimie 4 : Coloration.

Développement d un interpréteur OCL pour une machine virtuelle UML.

Plan de cours ADM 992C Page 1. École des sciences de la gestion Département de management et technologie Université du Québec à Montréal

Apps Sage : les 10 étapes pour publier vos données dans le Cloud.

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Recherche d Information(RI): Fondements et illustration avec Apache Lucene. par Majirus

Créer un site e-commerce avec Dreamweaver CS4 et PHP/MySQL

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Déploiement OOo en environnement Windows Terminal Server

Introduction aux Bases de Données

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Data Tier Application avec SQL Server 2008 R2

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

Rokia Missaoui - UQO. INF4163 Hiver 2008

Imprimantes et partage réseau sous Samba avec authentification Active Directory

e-biogenouest CNRS UMR 6074 IRISA-INRIA / Plateforme de Bioinformatique GenOuest yvan.le_bras@irisa.fr Programme fédérateur Biogenouest co-financé

Introduction aux bases de données

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

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

Tutoriel Cloud IFB - Initiation -

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Introduction au Génie Logiciel

Mines Nantes 20/05/2014. Institut Mines-Telecom : a national network 12 Engineering Graduate schools & 1 Business school. 2 Institut Mines-Télécom

Magento. Pratique du e-commerce avec Magento. Christophe Le Bot avec la contribution technique de Bruno Sebarte

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

SQL2005, la migration Atelier 316

Économétrie, causalité et analyse des politiques

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

UE 8 Systèmes d information de gestion Le programme

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

NOTICE INSTALLATION. ARCHANGE Simplex Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

Cours Bases de données

CHAPITRE 1 ARCHITECTURE

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Déploiement de SAS Foundation

Dexia Guide d installation de NetWorker Server 25 juin Legato Systems, Inc.

Sécurité des réseaux Les attaques

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Le Client/Serveur avec Enterprise Miner version 4

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

Mise en place d une plateforme collaborative de développement en BTS SIO

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

GAMME GESTION TEMPS & PRÉSENCE ZX-HP LA MAIN MISE SUR LE TEMPS

Alfstore workflow framework Spécification technique

Bases de données relationnelles : Introduction

TechSoftware Présentations

Instructions Mozilla Thunderbird Page 1

Prérequis. Résolution des problèmes WMI. Date 03/30/2010 Version 1.0 Référence 001 Auteur Antoine CRUE

Lire ; Compter ; Tester... avec R

RX3041. Guide d'installation rapide

Bases de données cours 1

Institut français des sciences et technologies des transports, de l aménagement

Master Exploration Informatique des données DataWareHouse

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

staff worldwide years 36b. revenues countries

Trixbox: Asterisk packagé. Unité Réseaux du CNRS

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue

Fiche d utilisation du logiciel. 1 - Installation. J. Thioulouse & D. Chessel

ACIDES BASES. Chap.5 SPIESS

Transcription:

Extraction d information des bases de séquences biologiques avec R 21 novembre 2006 Résumé Le module seqinr fournit des fonctions pour extraire et manipuler des séquences d intérêt (nucléotidiques et protéiques) présentes dans les banques en lignes telles que EMBL, GenBank, SwissProt... Cette fiche présente une méthode d extraction des séquences codantes de Gallus gallus à partir de GenBank. Les données sont ensuite utilisées pour tracer le diagramme de distribution des pi dans cette espèce. Table des matières 1 Connexion à une banque de séquences 1 2 Interrogation de la banque 2 3 Chargement des séquences et calcul des pi 3 4 Fermeture de la connexion 4 A Données de connexion à la base 4 A.1 Accès direct par nom.......................................... 4 A.2 Fonctions attach() et detach()................................... 4 A.3 Accès par indice............................................ 5 1 Connexion à une banque de séquences Question 1 : Charger le module seqinr puis utiliser la fonction choosebank() pour obtenir la liste des banques en ligne accessibles à R. library(seqinr) choosebank() "embl" "emblwgs" "swissprot" "ensembl" [6] "refseq" "nrsub" "nbrf" "hobacnucl" "hobacprot" [11] "hovernucl" "hoverprot" "hogennucl" "hogenprot" "hoverclnu" [16] "hoverclpr" "homolensprot" "homolensnucl" "greview" "emglib" [21] "HAMAPnucl" "HAMAPprot" "hoppsigen" "nurebnucl" "nurebprot" [26] "taxobacgen" "hogendnucl" "hogendprot" Fig. 1 Gallus gallus. 1

Vingt-huit banques sont disponibles à ce jour. Question 2 : Choisir GenBank et charger les paramètres de connexion à cette banque dans l objet BD (Banque de Données). L objet BD ainsi créé est une liste dont les éléments sont accessibles individuellement par leur nom (BD$nom) 1 ou par leur indice (BD[i]) 2. BD <- choosebank("genbank") BD $socket $bankname $totseqs [1] "67483962" $totspecs [1] "409589" $totkeys [1] "5900596" $release [1] "GenBank Rel. 156 (15 October 2006) Last Updated: Nov 14, 2006" $status [1] "on" $details [1] "GenBank Rel. 156 (15 October 2006) Last Updated: Nov 14, 2006" [2] "67,974,843,782 bases; 64,033,602 sequences; 3,450,359 subseqs; 442,815 refers." [3] "Software by M. Gouy, Lab. Biometrie et Biologie Evolutive, Universite Lyon I" 1. socket désigne le nom de l objet contenant les paramètres de connexion à la banque. Dans cet exemple le nom du serveur utilisé pour indexer GenBank est pbil.univ-lyon1.fr. Il est accessible via le port TCP numéro 5558. Cette banque est accessible non seulement en lecture mais aussi en écriture (possibilité de déposer des séquences). 2. bankname désigne le nom de l objet contenant le nom de la banque interrogée : genbank. 3. totseqs désigne le nom de l objet contenant le nombre total de séquences proposées par la banque : 67622895 séquences à ce jour. 4. totspecs désigne le nom de l objet contenant le nombre d espèces présentes dans la banque : 410732 espèces différentes à ce jour. 5. release désigne le nom de l objet contenant les informations sur la dernière mise à jour de la banque. 2 Interrogation de la banque Question 3 : Utiliser la fonction query() et son aide pour créer une liste nommée Chicken contenant les noms des séquences de l espèce Gallus gallus qui sont des séquences codantes et qui ne sont pas partielles. Combien de séquences répondent à ces critères? query(listname = "Chicken", query = "sp=gallus gallus et t=cds et no k=partial") names(chicken) [1] "call" "name" "nelem" "typelist" "req" "socket" Chicken$nelem 1 Voir les annexes A.1 et A.2. 2 Voir l annexe A.3. 2

[1] 6165 Chicken$req[[1]] [1] "A44511.PE1" attr(,"class") [1] "SeqAcnucWeb" attr(,"socket") attr(,"length") [1] "2592" attr(,"frame") [1] "0" attr(,"ncbigc") [1] "1" Au total, 6165 séquences répondent aux critères. La première séquence de la liste a pour nom A44511.PE1. 3 Chargement des séquences et calcul des pi Question 4 : Récupérer la liste des noms des séquences (dans un vecteur nommé myprotname), la liste des séquences elles-mêmes (dans un vecteur nommé myprotseq) et la liste des pi théoriques calculés à partir de ces séquences (dans un vecteur nommé myprotpi). Pour cela, utiliser la fonction sapply() qui permet d appliquer une même instruction à tous les éléments d une liste 3. myprotname <- sapply(chicken$req, getname) myprotseq <- sapply(chicken$req, gettrans) myprotpi <- sapply(myprotseq, computepi) Question 5 : Tracer un histogramme montrant la répartition des pi dans les 6165 séquences ainsi récupérées (fonction hist()) : hist(myprotpi, ylim = c(0, 0.3), col = "lightgrey", main = "Distribution des pi\n Gallus gallus (6165 sequences)", freq = FALSE, las = 1, border = "lightgrey", xlab = "pi", ylab = "Fréquences") lines(density(myprotpi), col = "red") Fig. 2 Histogramme de distribution des pi théoriques pour 6165 séquences de Gallus gallus. Cette distribution présente a priori un premier groupe de pi autour de 6 et un second autour de 9. La distribution multi-modale des pi, retrouvée dans les 115 des organismes étudiés, est liée aux propriétés chimiques des acides aminés et non à une pression évolutive qui aurait sélectionné des protéines de pi sensiblement différents du ph intra-cellulaire [5]. 3 Attention, les opérations de chargement des séquences et de calcul des pi peuvent prendre plusieurs dizaines de minutes. 3

4 Fermeture de la connexion Utiliser la fonction closebank() pour fermer l accès à la banque en fin de session. closebank() A Données de connexion à la base A.1 Accès direct par nom Les objets peuvent être appelés par leur nom, directement dans la liste sur le modèle nom_liste$nom_objet. La fonction names() donne les noms des objets présents dans la liste : names(bd) [1] "socket" "bankname" "totseqs" "totspecs" "totkeys" "release" "status" [8] "details" BD$socket BD$bankname BD$totseqs [1] "67622895" BD$totspecs BD$release A.2 Fonctions attach() et detach() Une variante consiste à utiliser la fonction attach() qui permet d adresser les objets d une liste uniquement par leur nom. C est un peu plus simple, en particulier pour programmer dans R... mais il ne faut pas oublier de lui associer la fonction detach(). attach(bd) socket The following object(s) are masked from BD ( position 3 ) : bankname details release socket status totkeys totseqs totspecs bankname totseqs 4

[1] "67622895" totspecs release detach(bd) A.3 Accès par indice Enfin, les objets sont aussi accessibles par leur numéro de rang dans la liste : BD[1] $socket BD[2] $bankname BD[3] $totseqs [1] "67622895" BD[4] $totspecs BD[6] $release Références [1] D. Charif and J.R. Lobry. Seqinr 1.0-2 : a contributed package to the r project for statistical computing devoted to biological sequences retrieval and analysis. In H.E. Roman U. Bastolla, M. Porto and M. Vendruscolo, editors, Structural approaches to sequence evolution : Molecules, networks, populations, Biological and Medical Physics, Biomedical Engineering. Springer Verlag, New York, 2006. [2] Jambeck P. Gibas C. Introduction à la bioinformatique. O Reilly, 2002. [3] Lobry J. R. Mélanges et points isoélectriques de protéines. Fiche TD avec le logiciel R : tdr223, 09 2005. [4] R Development Core Team. R : A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria, isbn 3-900051-07-0 edition, 2006. [5] Sylvester N. Weiller G. F., Caraux G. The modal distribution of protein isoelectric points reflect amino acid properties rather than sequence evolution. Proteomics, 4 :943 949, 2004. 5