41
Bioinformatica Entrez Utilities Dr. Giuseppe Pigola – [email protected]

Bioinformatica Entrez Utilities

  • Upload
    mada

  • View
    54

  • Download
    0

Embed Size (px)

DESCRIPTION

Bioinformatica Entrez Utilities. Dr. Giuseppe Pigola – [email protected]. Entrez-Utilities. - PowerPoint PPT Presentation

Citation preview

Page 1: Bioinformatica Entrez Utilities

BioinformaticaEntrez Utilities

Dr. Giuseppe Pigola – [email protected]

Page 2: Bioinformatica 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.

Entrez-Utilities

http://www.ncbi.nlm.nih.gov/entrez/query/static/eutils_help.html

Bioinformatica2

Page 3: 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.

Entrez-Utilities

Bioinformatica3

Page 4: Bioinformatica Entrez Utilities

Entrez-Utilities

DB (es. pubmed)

...Si invia una richiesta di esearch

File XML contenente gli ID dei docs + infoPer impostare i passaggi successivi

Si invia una richiesta di fetch sui dati estrapolati con la esearch

esearch...

efetch...

...

...

Record set......

http://www.ncbi.nlm.nih.gov/sites/entrez?db=pubmed&cmd=search&term=apoptosis

Bioinformatica4

Page 5: Bioinformatica Entrez Utilities

L’URL Base

http://eutils.ncbi.nlm.nih.gov/entrez/eutils/

esearch.fcgi?

egquery.fcgi? esummary.fcgi?

efetch.fcgi?

einfo.fcgi? elink.fcgi?

epost.fcgi?

eutil.fcgi?

Entrez-Utilities

Bioinformatica5

Page 6: Bioinformatica Entrez Utilities

Parametri dell’URL

esearch.fcgi?BASE/ db=nucleotide&term=mouse[orgn]

Passaggio tramite GET, i parametri sono separati dal simbolo &

db = nucleotideterm = mouse[orgn]

Bioinformatica6

Page 7: Bioinformatica Entrez Utilities

Il sistema Entrez

Entrez Core

Engine

• Vengono estrapolati gli UID che soddisfano una query• Possono essere ottenuti dei brevi sommari per ogni UID

Entrez Database

• Consente di ottenere anche record formattati per ogni UID• Per ogni UID Possono essere ottenuti anche dei link

Entrez History Server

• Immagazzina le history delle search effettuate su ogni Entrez db

User

Bioinformatica7

Page 8: Bioinformatica Entrez Utilities

Entrez Core

Entrez Core

Engine

• Trova gli UID che corrispondono ad una data query

• Visualizza I summary per ogni UID

EGQuery

ESearch

ESummary

EGQuery

ESearch

ESummaryset of UIDs

count of UIDs

set of UIDs

DocSums

text query

text query

Funzionano su tutti i DB

Bioinformatica8

Page 9: Bioinformatica Entrez Utilities

EGQuery

Ricerca globale su tutti i database

INPUT term Entrez text query

OUTPUT XML Numero di record che soddifano la query all’interno di ogni database

egquery.fcgi?BASE/ term=mouse[orgn]

Scopo: Trovare il numero di record che soddisfano una data query

Bioinformatica9

Page 10: Bioinformatica Entrez Utilities

EGQuery Output

Bioinformatica10

Page 11: Bioinformatica Entrez Utilities

Effettua una ricerca su uno specifico DB

INPUT db Entrez database to search

OUTPUT XML•Numero totale di record che soddisfano la query•Lista parziale degli UID•Traduzione del termine

esearch.fcgi?BASE/ db=nucleotide&term=mouse[orgn]

term Entrez text query

ESearch

Bioinformatica11

Page 12: Bioinformatica Entrez Utilities

Total number of records found

&retmax

&retstart

Matching UIDs

first record = &retstart

quantity = &retmax

ESearch Output – UIDs

Bioinformatica12

Page 13: Bioinformatica Entrez Utilities

Parametri per il retrive

retstart

retmax

First record to retrieve from UID set (default = 0)

Number of records to retrieve from UID set

(84, 23, 19, 55, 20, 96, 73)

(84, 23, 19, 55, 20, 96, 73)

&retstart=2&retmax=4

&retmax=4

(84, 23, 19, 55)

(19, 55, 20, 96)

Bioinformatica13

Page 14: Bioinformatica Entrez Utilities

ESearch Output – Traduzione

mouse[orgn]

“Mus musculus”[Organism]

Bioinformatica14

Page 15: Bioinformatica Entrez Utilities

ESearch - EsempiRicerca in pubmed il termine Cancer per entry degli ultimi 60 giorni e recupera i primi 100 ID e traduzioni usando 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 iniziando dalla 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

Ricerca il termine obstetrics nelle riviste: http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=journals&term=obstetrics

Ricerca in PubMed Central stem cells solo in articoli fulltext: 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 una proprietà della sequenza: 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]

Bioinformatica15

Page 16: Bioinformatica Entrez Utilities

ESummary

INPUT db Entrez database to search

OUTPUT XML Breve summary per ogni documento ottenuto

esummary.fcgi?BASE/ db=nucleotide&id=49619226,49615287

id Set of UIDs

•Utile quando EFetch non è supportata dal dbScopo

Bioinformatica16

Page 17: Bioinformatica Entrez Utilities

ESummary Output

Bioinformatica17

Page 18: Bioinformatica Entrez Utilities

ESummary - EsempiIn 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=xml

In 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=xml

In 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=xml

In Taxonomy dvisualizza 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=xml

In 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

Bioinformatica18

Page 19: Bioinformatica Entrez Utilities

Entrez Database

Entrez Databases

EInfo

EFetch

ELink

• Informazioni specifiche su un DB

• Record dettagliati a partire dagli UID

• Link Entrez per ogni UIDSono legate al particolare db dove vengono eseguite

EInfo

EFetch

ELinkset of UIDs in db A

database statistics

set of UIDs in db B

Formatted Data

Entrez database

set of UIDs

Bioinformatica19

Page 20: Bioinformatica Entrez Utilities

INPUT db Entrez database to search

OUTPUT XML•Statistiche generali di indicizzazione•Lista dei campi di indicizzazione e conteggio dei record•Lista dei link agli altri db

einfo.fcgi?BASE/ db=nucleotide

EInfo

Bioinformatica20

Page 21: Bioinformatica Entrez Utilities

EFetch

INPUT db Entrez database to search

OUTPUT Varied Record formattati

efetch.fcgi?BASE/ db=nucleotide&id=49619226,49615287

id Set of UIDs

Effettuare il download dei recordScopo:

Bioinformatica21

Page 22: Bioinformatica Entrez Utilities

Database che supportano la EFetch

Literature

PubMedJournalsPubMed CentralOMIM

Sequences

CoreNucleotideCoreESTCoreGSSProteinGenomePopsetSNP

Other

GeneTaxonomy

Bioinformatica22

Page 23: Bioinformatica Entrez Utilities

Parametri di formattazione delle efetch

rettype

retmode

Tipi di record ritornati:(flat file, FASTA, EST, accession, etc.)

Formato dei file ritornati:(text, HTML, XML)

Bioinformatica23

Page 24: Bioinformatica Entrez Utilities

ELinkEstrapola gli UID nel db B collegati ad un insieme di UID nel db A

INPUT

db Entrez database(s) to link to; Può essere una lista

OUTPUT XML Insieme di UID linkati

elink.fcgi?BASE/ dbfrom=protein&db=pubmed&id=148762980

id List of UIDs

dbfrom Entrez database to link from

cmd ELink command mode (default = neighbor)

• Trovare dati correlati in un altro db database• Trovare i vicini all’interno del db

Scopo:

Bioinformatica24

Page 25: Bioinformatica Entrez Utilities

ELink Output&cmd=neighbor

&cmd=neighbor_history

Restituisce tutti gli UIDs correlati(pssono essere migliaia…!)

Restituisce solo WebEnv e query keys

Bioinformatica25

Page 26: Bioinformatica Entrez Utilities

Nomi LinkTutti 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

gene_protein Links da gene a protein

protein_gene Links da protein a gene

Links da gene a snpgene_snp

gene_snp_genegenotype Links da gene a snps che hannodati di genotype

genome_nucleotide_comp_mrna Links da un chromosoma a tutti imRNAs trascritti da geni di quel cromosoma

linkname Nome del link (se omesso, saranno considerati tutti i link)

Bioinformatica26

Page 27: Bioinformatica Entrez Utilities

Specificare un nomedbfrom=protein&db=pubmed&id=148762980

dbfrom=protein&db=pubmed&id=148762980&linkname=protein_pubmed

Bioinformatica27

Page 28: Bioinformatica Entrez Utilities

UID linkati ad altri UID nello stesso DB coni corrispondenti score di similarità

dbdbfrom =

elink.fcgi?BASE/ dbfrom=protein&db=protein&id=15718680&term=lemurs[orgn]

term Entrez Query

Database Supportati:pubmed cddnucleotide geoprotein gdsdomains

Self link

Bioinformatica28

Page 29: Bioinformatica Entrez Utilities

Self link

Self hit

Bioinformatica29

Page 30: Bioinformatica Entrez Utilities

Passare un insieme di UID a Link

G1 G2 G3

P1 P2 P3 P4 P5 P6

dbfrom=gene&db=protein&id=G1,G2,G3

Bioinformatica30

Page 31: Bioinformatica Entrez Utilities

Passare più insiemi di UID al Link

G1 G2 G3

P1 P2 P3 P4 P5 P6

dbfrom=gene&db=protein&id=G1&id=G2&id=G3

Bioinformatica31

Page 32: Bioinformatica Entrez Utilities

ELink: Fork lungo il cammino

nucleotideEntrezquery

FormattedData

FormattedData

gene

protein

FormattedData

SNP

CDD

FormattedData

DocSums

Bioinformatica32

Page 33: Bioinformatica Entrez Utilities

History ServerEntrez

History Server

Memorizza la lista degli UID ottenuti da ricerche precedenti ESearch

EPost

Locazione degli UID memorizzati, più due parametri:

WebEnv

query_key

Cookie assegnato dall’History Server

Intero, equivalente all’History number sul web

ELink

Bioinformatica33

Page 34: Bioinformatica Entrez Utilities

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?http://eutils.ncbi.nlm.nih.gov/entrez/eutils/epost.fcgi?

db=database name db=database name

id= 11877539,11822933,11871444id= 11877539,11822933,11871444

Bioinformatica34

Page 35: Bioinformatica Entrez Utilities

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>

<ePostResult> <QueryKey>1</QueryKey> <WebEnv>NCID_1_79012274_130.14.22.101_9001_1302171308_1170649744</WebEnv></ePostResult>

Bioinformatica35

Page 36: Bioinformatica Entrez Utilities

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=yusehistory=y

cmd= neighbor_history cmd= neighbor_history

Bioinformatica36

Page 37: Bioinformatica Entrez Utilities

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 ELinkEFetch

Bioinformatica37

Page 38: Bioinformatica Entrez Utilities

Accedere alla History

Entrez History Server

EPost

ESearch

usehistory=y

ELink

cmd=neighbor_history

ESearch

ESummary

ELink

EFetch

WebEnv

query_key

Bioinformatica38

Page 39: Bioinformatica Entrez Utilities

Protocollo

ESearch

EPost

ESummary

EFetch

ELink

Entrez History Server

UID List

Entrezquery

WebEnv

query_key

UID List

usehistory=y

cmd=neighbor_history

Bioinformatica39

Page 40: Bioinformatica Entrez Utilities

PHP e XMLfunction 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

Bioinformatica40

Page 41: Bioinformatica Entrez Utilities

Pipeline di base

ESearch

EPost

ESummary

EFetch

ELink ELink

ELink ELink

ELinkELink

Bioinformatica41