410 likes | 536 Views
Bioinformatica Entrez Utilities. Dr. Giuseppe Pigola – pigola@dmi.unict.it. Entrez-Utilities.
E N D
BioinformaticaEntrez Utilities Dr. Giuseppe Pigola – pigola@dmi.unict.it
Entrez-Utilities • Per favorire lo sviluppo di servizi basati su Entrez, NCBI mette a disposizione le Entrez Programming Utilities (E-Utilities), insieme di script server side per l’accesso remoto alle proprie banche dati; • Ad ogni possibile manipolazione dei dati e associata una specifica applicazione; • le richieste vengono effettuate richiamando appositi URL cui passare i dati di input. http://www.ncbi.nlm.nih.gov/entrez/query/static/eutils_help.html Bioinformatica
Entrez-Utilities • ESearch che ha il compito di restituire l'elenco degli ID associati ai documenti cercati; • Per ottenere le informazioni dettagliate sui dati ricercati (es. sugli articoli) si utilizza EFetch, passando in input l'elenco dei PMID; • Per ottenere soltanto un summary degli articoli si utilizza Esummary; • Per controllare l'eventuale esistenza di articoli aggiuntivi collegati a quelli reperiti si utilizza Elink; • EInfo restituisce delle informazioni statistiche sul database (ultimo aggiornamento, numero di record, ecc.).; • ESpell viene invece usato per suggerimenti di spelling. Bioinformatica
Entrez-Utilities • http://www.ncbi.nlm.nih.gov/sites/entrez?db=pubmed&cmd=search&term=apoptosis ... Si invia una richiesta di esearch DB (es. pubmed) esearch... File XML contenente gli ID dei docs + info Per impostare i passaggi successivi ... Si invia una richiesta di fetch sui dati estrapolati con la esearch efetch... ... Record set ... ... Bioinformatica
L’URL Base Entrez-Utilities http://eutils.ncbi.nlm.nih.gov/entrez/eutils/ eutil.fcgi? esearch.fcgi? egquery.fcgi? esummary.fcgi? einfo.fcgi? elink.fcgi? efetch.fcgi? epost.fcgi? Bioinformatica
Parametri dell’URL db=nucleotide&term=mouse[orgn] BASE/ esearch.fcgi? Passaggio tramite GET, i parametri sono separati dal simbolo & db = nucleotide term = mouse[orgn] Bioinformatica
Entrez Database Il sistema Entrez Entrez Core Engine • Vengono estrapolati gli UID che soddisfano una query • Possono essere ottenuti dei brevi sommari per ogni UID User Entrez History Server • Consente di ottenere anche record formattati per ogni UID • Per ogni UID Possono essere ottenuti anche dei link • Immagazzina le history delle search effettuate su ogni Entrez db Bioinformatica
Entrez Core Entrez Core Engine EGQuery • Trova gli UID che corrispondono ad una data query • Visualizza I summary per ogni UID ESearch ESummary Funzionano su tutti i DB text query EGQuery count of UIDs text query set of UIDs ESearch set of UIDs DocSums ESummary Bioinformatica
EGQuery Ricerca globale su tutti i database Trovare il numero di record che soddisfano una data query Scopo: INPUT term Entrez text query term=mouse[orgn] BASE/ egquery.fcgi? Numero di record che soddifano la query all’interno di ogni database OUTPUT XML Bioinformatica
EGQuery Output Bioinformatica
ESearch Effettua una ricerca su uno specifico DB INPUT Entrez database to search db Entrez text query term db=nucleotide&term=mouse[orgn] BASE/ esearch.fcgi? • Numero totale di record che soddisfano la query • Lista parziale degli UID • Traduzione del termine OUTPUT XML Bioinformatica
ESearch Output – UIDs Total number of records found &retmax &retstart first record = &retstart Matching UIDs quantity = &retmax Bioinformatica
Parametri per il retrive retstart First record to retrieve from UID set (default = 0) Number of records to retrieve from UID set retmax &retmax=4 (84, 23, 19, 55, 20, 96, 73) (84, 23, 19, 55) &retstart=2&retmax=4 (19, 55, 20, 96) (84, 23, 19, 55, 20, 96, 73) Bioinformatica
ESearch Output – Traduzione mouse[orgn] “Mus musculus”[Organism] Bioinformatica
ESearch - Esempi Ricerca in pubmediltermine Cancer per entry degliultimi 60 giorni e recuperaiprimi 100 ID e traduzioniusando la history: http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=cancer&reldate=60&datetype=edat&retmax=100&usehistory=y Ricerca in PubMed PNAS Volume 97, e recupera 6 ID iniziandodalla 7-ma entry: http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term=PNAS[ta]+AND+97[vi]&retstart=6&retmax=6&tool=biomed3 Ricercailtermineobstetrics nelleriviste: http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=journals&term=obstetrics Ricerca in PubMed Central stem cells solo in articolifulltext: http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pmc&term=stem+cells+AND+free+fulltext[filter] Ricerca in Nucleotide in base a unaproprietàdellasequenza: http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=nucleotide&term=biomol+trna[prop] Ricerca in Protein in base al peso molecolare: http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=protein&term=200020[molecular+weight] Bioinformatica
ESummary Scopo • Utile quando EFetch non è supportata dal db INPUT db Entrez database to search id Set of UIDs db=nucleotide&id=49619226,49615287 BASE/ esummary.fcgi? OUTPUT XML Breve summary per ogni documento ottenuto Bioinformatica
ESummary Output Bioinformatica
ESummary - Esempi In Protein visualizza i record 28800982 e 28628843 in xml retrieval mode:http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=protein&id=28800982,28628843&retmode=xmlIn Nucleotide visualizza i record 28864546 e 28800981 in xml retrieval mode:http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=nucleotide&id=28864546,28800981&retmode=xmlIn Structure visualizza i record19923 e 12120 in xml retrieval mode:http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=structure&id=19923,12120&retmode=xmlIn Taxonomydvisualizza i record 9913 e 30521 in xml retrieval mode:http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=taxonomy&id=9913,30521&retmode=xmlIn UniSTS visualizza i record 254085 e254086 in xml retrieval mode:http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=unists&id=254085,254086&retmode=xml Bioinformatica
Entrez Databases Entrez Database • Informazioni specifiche su un DB • Record dettagliati a partire dagli UID • Link Entrez per ogni UID EInfo EFetch ELink Sono legate al particolare db dove vengono eseguite Entrez database EInfo database statistics EFetch Formatted Data set of UIDs set of UIDs in db B set of UIDs in db A ELink Bioinformatica
EInfo INPUT db Entrez database to search db=nucleotide BASE/ einfo.fcgi? • Statistichegenerali di indicizzazione • Listadeicampi di indicizzazione e conteggiodei record • Listadei link aglialtri db OUTPUT XML Bioinformatica
EFetch Scopo: Effettuare il download dei record INPUT db Entrez database to search id Set of UIDs db=nucleotide&id=49619226,49615287 BASE/ efetch.fcgi? OUTPUT Varied Record formattati Bioinformatica
Database che supportano la EFetch Literature PubMed Journals PubMed Central OMIM Sequences CoreNucleotide CoreEST CoreGSS Protein Genome Popset SNP Other Gene Taxonomy Bioinformatica
Parametri di formattazione delle efetch Tipi di record ritornati: (flat file, FASTA, EST, accession, etc.) rettype Formato dei file ritornati: (text, HTML, XML) retmode Bioinformatica
ELink Estrapola gli UID nel db B collegati ad un insieme di UID nel db A Scopo: • Trovare dati correlati in un altro db database • Trovare i vicini all’interno del db dbfrom Entrez database to link from INPUT db Entrez database(s) to link to; Può essere una lista id List of UIDs cmd ELink command mode (default = neighbor) dbfrom=protein&db=pubmed&id=148762980 BASE/ elink.fcgi? OUTPUT XML Insieme di UID linkati Bioinformatica
ELink Output &cmd=neighbor Restituisce tutti gli UIDs correlati (pssono essere migliaia…!) &cmd=neighbor_history Restituisce solo WebEnv e query keys Bioinformatica
Nomi Link Tutti i possibili nomi di link per un db sono dati da EInfo I nomi dei link per una data chiamata sono presenti nel file ELink XML linkname Nome del link (se omesso, saranno considerati tutti i link) Links da gene a protein gene_protein protein_gene Links da protein a gene gene_snp Links da gene a snp Links da gene a snps che hanno dati di genotype gene_snp_genegenotype Links da un chromosoma a tutti i mRNAs trascritti da geni di quel cromosoma genome_nucleotide_comp_mrna Bioinformatica
Specificare un nome dbfrom=protein&db=pubmed&id=148762980 dbfrom=protein&db=pubmed &id=148762980&linkname=protein_pubmed Bioinformatica
Self link UID linkati ad altri UID nello stesso DB con i corrispondenti score di similarità dbfrom = db dbfrom=protein&db=protein &id=15718680&term=lemurs[orgn] BASE/ elink.fcgi? term Entrez Query Database Supportati: pubmed cdd nucleotide geo protein gds domains Bioinformatica
Self link Self hit Bioinformatica
Passare un insieme di UID a Link dbfrom=gene&db=protein&id=G1,G2,G3 G1 G2 G3 P1 P2 P3 P4 P5 P6 Bioinformatica
Passare più insiemi di UID al Link dbfrom=gene&db=protein&id=G1&id=G2&id=G3 G1 G2 G3 P1 P2 P3 P4 P5 P6 Bioinformatica
ELink: Fork lungo il cammino CDD DocSums protein Formatted Data Entrez query nucleotide Formatted Data gene Formatted Data SNP Formatted Data Bioinformatica
History Server Entrez History Server EPost Memorizza la listadegli UID ottenutidaricercheprecedenti ESearch ELink Locazione degli UID memorizzati, più due parametri: WebEnv Cookie assegnato dall’History Server query_key Intero, equivalente all’History number sul web Bioinformatica
EPost • Invia alla history un file contenente un elenco di ID per un uso futuro. • Url BASE: • Database: • IDs: http://eutils.ncbi.nlm.nih.gov/entrez/eutils/epost.fcgi? db=databasename id= 11877539,11822933,11871444 Bioinformatica
EPost - Esempio • Esempio su PubMed: • http://eutils.ncbi.nlm.nih.gov/entrez/eutils/epost.fcgi?db=pubmed&id=11237011 • Risultato: • QueryKey (come per l’interfaccia web) è il numero della query. • WebEnv è un cookie che può essere utilizzato successivamente con EFetch, ELink, Esummary per accedere alla history (assieme a query_key). <ePostResult> <QueryKey>1</QueryKey> <WebEnv>NCID_1_79012274_130.14.22.101_9001_1302171308_1170649744</WebEnv> </ePostResult> Bioinformatica
ESearch – Elink e la history • Anche ESearch può depositare dei dati nella history usando il parametro: • Anche ELink può depositare dei dati nella history usando il parametro: usehistory=y cmd=neighbor_history Bioinformatica
Recuperare i dati dalla history • Quando si usa: • Si possono recuperare dati dalla history e formulare nuove query utilizzando i parametri (esempio): • WebEnv=WgHmIcDG]B • query_key=6 • Dove i valori sono stati recuperati da una precedente EPost,ESearch,Elink,EFetch. ESearch ESummary EFetch ELink Bioinformatica
Accedere alla History WebEnv ESearch EPost query_key Entrez History Server ESummary ESearch usehistory=y EFetch ELink ELink cmd=neighbor_history Bioinformatica
Protocollo Entrez query ESearch usehistory=y ESummary UID List Entrez History Server EFetch EPost WebEnv ELink UID List query_key cmd=neighbor_history Bioinformatica
PHP e XML function getData($database,$cookie,$qkey,$retmax,$retstart,$returnmode){ $base ='http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?‘; $params = array( 'db' => $database, 'retmode' => $returnmode, 'query_key' => $qkey, 'WebEnv' => $cookie, 'retmax' => $retmax, 'retstart' => $retstart, ); $url = $base. 'efetch.fcgi?' . http_build_query($params); $output = file_get_contents($url); } http://www.php.net/manual/en/refs.xml.php Bioinformatica
Pipeline di base ELink ESummary ESearch ELink ELink EFetch EPost ELink ELink ELink Bioinformatica