Queries
SNPper offre diversi modi di recuperare gli SNP, che riflettono i diversi scopi per cui gli SNP possono essere utilizzati. Nel caso più semplice, gli SNP possono essere recuperati specificando uno o più identificatori rs o ss, se noti. Un’altra query comune recupera un insieme di SNP contigui appartenenti a una specifica regione di un cromosoma, specificata sia attraverso un intervallo di posizione assoluta che attraverso il nome di una banda citogenetica. Per supportare gli studi orientati ai geni, SNPper può generare l’insieme di SNPs su o intorno a un gene (fino a una distanza massima specificata dall’utente), o un insieme di geni. I geni possono essere specificati usando il loro nome HUGO, o attraverso i loro identificatori Genbank, Locuslink, OMIM, o Unigene. Un insieme di geni di interesse, a sua volta, può essere specificato per posizione (cioè, tutti i geni in una regione cromosomica), o attraverso una classe GeneOntology. Quest’ultima caratteristica rende possibile studiare insiemi di SNPs che sono potenzialmente associati con un processo biologico di interesse, piuttosto che essere collegati per posizione.
In tutti i casi, il risultato di una query è uno SNPset, una struttura di dati che contiene una collezione di SNPs. Esistono diversi tipi di SNPset, a seconda del tipo di query che li ha prodotti, e sono definite diverse operazioni su di essi. Ad esempio, per uno SNPset contenente SNP contigui ha senso misurare la densità degli SNP, e SNPper fornisce una funzione per ridurre il numero di SNP che contiene mantenendo una spaziatura uniforme. Per uno SNPset generato da un insieme di geni, questa operazione non avrebbe senso (poiché gli SNP possono essere sparsi su diversi cromosomi) e quindi non è disponibile. In generale, uno SNPset rappresenta un insieme di SNPs che è stato prodotto da una singola query, e che può essere manipolato e analizzato come un insieme. Gli SNPset sono visibili solo all’utente che li ha generati, e sono strutture di dati persistenti: sono memorizzati nel server finché vengono utilizzati, e vengono automaticamente rimossi dopo che è passato un tempo sufficiente dall’ultimo accesso. L’utente può anche scegliere di salvare uno SNPset, nel qual caso sarà disponibile nelle sessioni future.
Visualizzazione SNP
SNPper fornisce diversi modi di visualizzare gli SNP attraverso la sua interfaccia web. Per iniziare, ogni SNP è descritto individualmente in una pagina che visualizza i dati generali (identificatori SNP, posizione, alleli, stato di convalida), la sua lista di presentatori, la lista dei geni a cui appartiene, la sua frequenza nelle diverse popolazioni (composta dalla dimensione del campione e dalle frequenze degli alleli maggiori e minori) se disponibile, e la lista dei domini proteici in cui lo SNP rientra, se presente. Gli SNP che appartengono a un gene possono essere visualizzati nel contesto della sequenza di DNA corrispondente o (per gli SNP codificanti) della sequenza di aminoacidi. In entrambi i casi, la posizione dello SNP viene evidenziata e una finestra popup viene utilizzata per visualizzare le informazioni su di esso (nome, posizione, alleli). La Figura 1 mostra una sequenza genica annotata contenente SNPs, e la Figura 2 mostra la pagina di informazioni dettagliate su uno degli SNPs in quella sequenza.
Gli SNPsets sono visualizzati utilizzando tabelle che elencano il nome di ogni SNP, la sua posizione, i suoi alleli, e altre informazioni che dipendono dal tipo specifico di SNPset. Gli SNPsets che contengono un gran numero di SNPs sono opzionalmente visualizzati in forma abbreviata per ragioni di performance. La tabella contiene anche i link per eseguire i diversi comandi disponibili su uno SNPset, come salvarlo, esportarlo (vedi sezione successiva) e raffinarlo. L’operazione di raffinamento dello SNPset, in particolare, permette all’utente di “filtrare” gli SNPs in esso contenuti secondo diversi criteri: proprietà generali (ad esempio la validazione), posizione rispetto a un gene (ad esempio per selezionare solo gli SNPs esonici, o gli SNPs promotori), frequenza o eterozigosi, presentatori (per selezionare solo gli SNPs da presentatori specificati, o con un numero minimo di presentatori distinti), o distanza media (per ridurre il numero di SNPs pur mantenendo una spaziatura uniforme). In tutti i casi, il risultato è quello di nascondere gli SNP che non soddisfano i criteri dell’utente: pur facendo ancora parte dello SNPset, questi SNP non sono più visibili, e non saranno considerati in nessuna operazione di analisi, visualizzazione o esportazione.
Infine, la Figura 3 mostra l’output di un’applet Java che può essere utilizzata per visualizzare gli SNPset in forma grafica. La struttura del gene è mostrata usando barre di diversi colori e spessore; gli SNPs sono identificati da quadrati (se sono disponibili informazioni sulla frequenza) o cerchi (altrimenti), e sono colorati in verde se validati, in nero altrimenti. L’applet fornisce comandi per scorrere la visualizzazione a sinistra o a destra, e per ingrandire o ridurre la visualizzazione.
Esportazione dati
Uno dei più importanti obiettivi di SNPper è quello di fornire un modo semplice per esportare i dati SNP in una varietà di formati comuni. La pagina di esportazione di SNPset, mostrata nella Figura 4, permette all’utente di scegliere qualsiasi numero di campi dalle annotazioni disponibili (incluse le sequenze di accompagnamento, le informazioni sulla frequenza, lo stato di convalida, il cambiamento degli aminoacidi), e di specificare il formato di output desiderato (XML, testo delimitato da tabulazione, HTML o BED) e la destinazione (i dati possono essere visualizzati nella finestra del browser o inviati via e-mail a un indirizzo fornito dall’utente). XML sta gradualmente diventando un formato standard per lo scambio di dati nelle applicazioni biomediche, ed è fornito in SNPper per supportare l’interoperabilità con altri programmi. Il testo delimitato da tabulazioni rappresenta il formato di dati strutturato più semplice ed è quindi supportato dalla maggior parte delle applicazioni, come i fogli di calcolo o i programmi di progettazione di primer PCR. L’output HTML permette agli utenti di visualizzare i dati su un altro sito web, ad esempio per fornire informazioni supplementari per una pubblicazione. Infine, il formato BED è usato per sfruttare la funzione “tracce personalizzate” di Goldenpath: il file risultante può essere caricato sul sito Goldenpath, e i dati SNPset saranno visualizzati dal browser del genoma nella sua finestra di visualizzazione delle tracce.
SNPper fornisce anche un metodo alternativo per recuperare le informazioni SNP in formato XML. Il nostro sistema implementa un’interfaccia Remote Procedure Call (RPC), che permette ad altri programmi di inviare richieste HTTP ad hoc e ricevere in risposta un documento XML piuttosto che una pagina HTML. Questa caratteristica ha lo scopo di aumentare il valore e l’utilità del database SNPper, permettendo a sistemi alternativi che utilizzano diverse interfacce utente di essere costruiti sugli stessi dati sottostanti
Confronto con altre risorse SNP
Esistono diversi altri database SNP pubblici, ognuno con i propri punti di forza e limiti. In questa sezione passiamo brevemente in rassegna i più importanti, evidenziando le loro caratteristiche e confrontandoli con quanto offerto da SNPper.
Il database HGVBASE è incentrato su una curatela e annotazione manuale molto accurata dei dati SNP disponibili. Pertanto, è più piccolo di dbSNP, ma i suoi dati sono estremamente utili per i ricercatori interessati ad esplorare la componente genetica della variazione fenotipica umana. Fornisce ampie annotazioni per i suoi SNP e diverse opzioni di ricerca, compresa la possibilità di cercare gli SNP in una sequenza genomica fornita dall’utente che viene automaticamente allineata al genoma umano.
ALFRED e JSNPs sono due database SNP più piccoli che mirano a fornire informazioni accurate sulla frequenza. JSNPs si concentra sulla popolazione giapponese, mentre ALFRED fornisce dati su un gran numero di popolazioni molto diverse di tutto il mondo al fine di valorizzare le loro differenze di frequenza e facilitare lo studio degli aplotipi. Entrambi i siti offrono un numero relativamente piccolo di SNPs, ma i dati di frequenza che forniscono sono estremamente importanti. JSNPs offre un utile browser grafico del cromosoma e la possibilità di visualizzare le tracce del sequenziatore per i suoi SNPS. D’altra parte, le caratteristiche di esportazione dei dati sono un po’ limitate in entrambi i sistemi.
Il sito GeneSNPs integra i dati di geni, sequenze e SNP in modelli genici altamente annotati. Fornisce un’ampia visualizzazione e funzioni di esportazione dei dati, compreso un modo di visualizzare gli SNP all’interno della sequenza genomica del gene a cui appartengono simile a quello disponibile in SNPper. Rispetto a SNPper, il suo limite principale è che contiene solo SNPs su un piccolo numero di geni legati alla suscettibilità all’esposizione ambientale.
EnsMart è uno strumento di data mining molto completo per estrarre dati dal database Ensembl. Ensembl è di gran lunga il database più esaustivo e sofisticato di tutti quelli descritti qui. Fornisce approssimativamente lo stesso set di dati sugli SNPs di SNPper, con la differenza principale che utilizza il proprio database di geni piuttosto che essere collegato a Goldenpath. Sebbene la sua interfaccia sia molto potente ed efficace, non è specificamente adattata alle esigenze della ricerca basata sugli SNP; per esempio, non fornisce modi per generare insiemi di SNPs aventi una spaziatura media desiderata, come è invece possibile con SNPper.
Le caratteristiche che sono uniche di SNPper sono principalmente legate alla gestione degli SNPsets e alle sue caratteristiche di interoperabilità. SNPper è l’unica risorsa che dà agli utenti la possibilità di manipolare, raffinare, salvare ed esportare SNPsets nel loro insieme, e di permettere la creazione di insiemi di SNPs attraverso query complesse (come quella che utilizza le classi di GeneOntology descritta nella sezione 4.a). Inoltre, a nostra conoscenza, SNPper è l’unica risorsa SNP che fornisce l’accesso completo al suo database come file XML leggibili dalla macchina attraverso un’interfaccia Remote Procedure Call, e che permette all’utente di caricare un insieme di SNP privati nel suo database e di analizzarli o visualizzarli attraverso la sua interfaccia standard.