Queries
SNPper biedt verschillende manieren om SNP’s op te vragen, die overeenkomen met de verschillende doeleinden waarvoor de SNP’s kunnen worden gebruikt. In het eenvoudigste geval kunnen SNP’s worden opgehaald door een of meer rs of ss identifiers op te geven, indien bekend. Een andere veel voorkomende query levert een reeks aaneengesloten SNP’s op die tot een specifieke regio van een chromosoom behoren, gespecificeerd via een absoluut positiebereik of via de naam van een cytogenetische band. Ter ondersteuning van gen-georiënteerde studies kan SNPper de set SNP’s op of rond een gen genereren (tot een door de gebruiker gespecificeerde maximale afstand), of een set genen. Genen kunnen worden gespecificeerd met behulp van hun HUGO-naam, of via hun Genbank-, Locuslink-, OMIM- of Unigene-identifiers. Een set van interessante genen kan op zijn beurt worden gespecificeerd op positie (d.w.z. alle genen in een chromosoomregio), of via een GeneOntology klasse. Deze laatste eigenschap maakt het mogelijk om sets van SNP’s te bestuderen die mogelijk geassocieerd zijn met een biologisch proces van belang, in plaats van gekoppeld te zijn door positie.
In alle gevallen is het resultaat van een query een SNPset, een datastructuur die een verzameling SNP’s bevat. Er bestaan verschillende soorten SNP-sets, afhankelijk van het soort query dat ze heeft opgeleverd, en er zijn verschillende bewerkingen op gedefinieerd. Voor een SNPset die aaneengesloten SNP’s bevat, is het bijvoorbeeld zinvol om de SNP-dichtheid te meten, en SNPper biedt een functie om het aantal SNP’s dat de set bevat te verminderen met behoud van een uniforme tussenruimte. Voor een SNPset gegenereerd uit een reeks genen zou deze bewerking geen zin hebben (aangezien de SNP’s over verschillende chromosomen verspreid kunnen zijn) en is daarom niet beschikbaar. In het algemeen vertegenwoordigt een SNPset een reeks SNP’s die door één enkele query is gegenereerd, en die als geheel kan worden gemanipuleerd en geanalyseerd. SNP-sets zijn alleen zichtbaar voor de gebruiker die ze heeft gegenereerd, en zijn persistente gegevensstructuren: ze worden in de server opgeslagen zolang ze worden gebruikt, en worden automatisch verwijderd nadat er voldoende tijd is verstreken sinds ze voor het laatst werden geraadpleegd. De gebruiker kan er ook voor kiezen om een SNPset op te slaan, in welk geval deze in toekomstige sessies beschikbaar zal zijn.
SNP visualisatie
SNPper biedt meerdere manieren om SNP’s weer te geven via zijn webinterface. Om te beginnen wordt elke SNP afzonderlijk beschreven in een pagina die algemene gegevens weergeeft (SNP identifiers, positie, allelen, validatiestatus), de lijst van indieners, de lijst van genen waartoe de SNP behoort, de frequentie in verschillende populaties (bestaande uit de steekproefgrootte en de major en minor allel frequenties) indien beschikbaar, en de lijst van eiwitdomeinen waar de SNP in valt, indien aanwezig. SNP’s die tot een gen behoren, kunnen worden weergegeven in de context van de overeenkomstige DNA-sequentie of (voor coderende SNP’s) aminozuursequentie. In beide gevallen wordt de SNP-positie gemarkeerd en wordt er een popupvenster gebruikt om informatie over het SNP weer te geven (naam, positie, allelen). Figuur 1 toont een geannoteerde gensequentie die SNP’s bevat, en Figuur 2 toont de gedetailleerde informatiepagina over een van de SNP’s in die sequentie.
SNPsets worden weergegeven met behulp van tabellen waarin de naam van elke SNP, de positie, de allelen en andere informatie, afhankelijk van het specifieke SNPset-type, worden vermeld. SNP-sets die een groot aantal SNP’s bevatten, worden om prestatieredenen optioneel in verkorte vorm weergegeven. De tabel bevat ook links om de verschillende opdrachten uit te voeren die voor een SNPset beschikbaar zijn, zoals opslaan, exporteren (zie volgende sectie) en verfijnen. Met name de verfijning van de SNPset stelt de gebruiker in staat de SNP’s die ze bevat te “filteren” volgens verschillende criteria: algemene eigenschappen (bv. validatie), positie ten opzichte van een gen (bv. om alleen exonische SNP’s of promotor-SNP’s te selecteren), frequentie of heterozygositeit, indieners (om alleen SNP’s van gespecificeerde indieners te selecteren, of met een minimumaantal verschillende indieners), of gemiddelde afstand (om het aantal SNP’s te verminderen en toch een uniforme afstand te behouden). In alle gevallen is het resultaat dat de SNP’s die niet aan de criteria van de gebruiker voldoen, worden verborgen: hoewel ze nog steeds deel uitmaken van de SNPset, zijn deze SNP’s niet langer zichtbaar en worden ze niet in aanmerking genomen bij analyses, weergaven of exportbewerkingen.
Tot slot toont figuur 3 de uitvoer van een Java-applet die kan worden gebruikt om SNPsets in grafische vorm weer te geven. De structuur van het gen wordt weergegeven met behulp van balken van verschillende kleuren en dikte; SNP’s worden geïdentificeerd met vierkanten (als er frequentie-informatie beschikbaar is) of cirkels (anders), en zijn groen gekleurd als ze gevalideerd zijn, en zwart als dat niet het geval is. De applet geeft commando’s om naar links of rechts te scrollen, en om in of uit te zoomen.
Gegevens exporteren
Een van de belangrijkste ontwerpdoelstellingen van SNPper is het bieden van eenvoudige manieren om SNP-gegevens te exporteren in een verscheidenheid aan gangbare formaten. Op de SNPset-exportpagina, die in figuur 4 wordt getoond, kan de gebruiker een willekeurig aantal velden uit de beschikbare annotaties kiezen (waaronder flankerende sequenties, frequentie-informatie, validatiestatus, aminozuurverandering), en het gewenste uitvoerformaat (XML, tabdelimited tekst, HTML of BED) en de bestemming specificeren (de gegevens kunnen in het browservenster worden weergegeven of per e-mail naar een door de gebruiker opgegeven adres worden verzonden). XML wordt geleidelijk een standaardformaat voor gegevensuitwisseling in biomedische toepassingen, en wordt in SNPper geleverd om de interoperabiliteit met andere programma’s te ondersteunen. Tekst zonder tabellen is het eenvoudigste gestructureerde gegevensformaat, en wordt daarom door de meeste toepassingen ondersteund, zoals spreadsheets of PCR-programma’s voor het ontwerpen van primers. HTML-uitvoer stelt gebruikers in staat de gegevens op een andere website weer te geven, bijvoorbeeld om aanvullende informatie voor een publicatie te verstrekken. Ten slotte wordt het BED-formaat gebruikt om de “custom tracks”-functie van Goldenpath te benutten: het resulterende bestand kan worden geüpload naar de Goldenpath-site, en de SNPset-gegevens worden door de genoombrowser weergegeven in het track-weergavevenster.
SNPper biedt ook een alternatieve methode voor het ophalen van SNP-informatie in XML-formaat. Ons systeem implementeert een Remote Procedure Call (RPC)-interface, waarmee andere programma’s ad hoc HTTP-verzoeken kunnen verzenden en als antwoord een XML-document ontvangen in plaats van een HTML-pagina. Deze functie is bedoeld om de waarde en het nut van de SNPper-databank te verhogen, door alternatieve systemen met verschillende gebruikersinterfaces mogelijk te maken die bovenop dezelfde onderliggende gegevens kunnen worden gebouwd
Vergelijking met andere SNP-bronnen
Er bestaan verschillende andere openbare SNP-databanken, elk met zijn eigen sterke punten en beperkingen. In dit deel geven we een kort overzicht van de belangrijkste, waarbij we wijzen op hun karakteristieke kenmerken en een vergelijking maken met wat SNPper te bieden heeft.
De HGVBASE-database is gericht op zeer nauwkeurige handmatige curatie en annotatie van de beschikbare SNP-gegevens. Daarom is het kleiner dan dbSNP in omvang, maar de gegevens zijn uiterst nuttig voor onderzoekers die geïnteresseerd zijn in het onderzoeken van de genetische component van menselijke fenotypische variatie. Het biedt uitgebreide annotaties voor zijn SNP’s, en verschillende zoekopties, waaronder de mogelijkheid om te zoeken naar SNP’s in een door de gebruiker verstrekte genoomsequentie die automatisch is uitgelijnd met het menselijk genoom.
ALFRED en JSNPs zijn twee kleinere SNP-databases die nauwkeurige frequentie-informatie proberen te verstrekken. JSNPs concentreert zich op de Japanse populatie, terwijl ALFRED gegevens verschaft over een groot aantal zeer diverse populaties uit de hele wereld om de verschillen in frequentie te vergroten en de studie van haplotypen te vergemakkelijken . Beide sites bieden een relatief klein aantal SNP’s aan, maar de frequentiegegevens die zij daarvoor verstrekken zijn uiterst belangrijk. JSNPs biedt een nuttige grafische chromosomenbrowser en de mogelijkheid om sequencertraces voor zijn SNPS weer te geven. Anderzijds zijn de gegevensuitvoerfuncties in beide systemen enigszins beperkt.
De GeneSNPs-site integreert gen-, sequentie- en SNP-gegevens in sterk geannoteerde genmodellen. Het biedt uitgebreide visualisatie- en data-exportfuncties, waaronder een manier om SNP’s weer te geven binnen de genoomsequentie van het gen waartoe ze behoren, vergelijkbaar met de manier die beschikbaar is in SNPper. Vergeleken met SNPper is de belangrijkste beperking dat het slechts SNP’s bevat op een klein aantal genen die verband houden met gevoeligheid voor blootstelling aan het milieu.
EnsMart is een zeer uitgebreid datamininghulpmiddel om gegevens uit de Ensembl-database te extraheren. Ensembl is verreweg de meest volledige en geavanceerde databank van alle hier beschreven databanken. Het biedt ongeveer dezelfde reeks gegevens over SNPs als SNPper, met als belangrijkste verschil dat het zijn eigen database van genen gebruikt in plaats van gekoppeld te zijn aan Goldenpath. Hoewel de interface zeer krachtig en effectief is, is deze niet specifiek toegesneden op de behoeften van SNP-gebaseerd onderzoek; het biedt bijvoorbeeld geen manieren om sets van SNP’s te genereren met een gewenste gemiddelde tussenruimte, zoals wel mogelijk is met SNPper.
Functies die uniek zijn voor SNPper hebben voornamelijk betrekking op het beheer van SNPsets en op de interoperabiliteitskenmerken ervan. SNPper is de enige bron die gebruikers de mogelijkheid biedt om SNPsets als geheel te manipuleren, te verfijnen, op te slaan en te exporteren, en om sets van SNP’s te maken door middel van complexe query’s (zoals de query die gebruikmaakt van GeneOntology-klassen, beschreven in paragraaf 4.a). SNPper is voor zover wij weten ook de enige SNP-bron die volledige toegang tot zijn database biedt als machineleesbare XML-bestanden via een Remote Procedure Call-interface, en die de gebruiker in staat stelt een reeks particuliere SNP’s naar zijn database te uploaden en ze via zijn standaardinterface te analyseren of weer te geven.