Queries
SNPper erbjuder flera olika sätt att hämta SNP:er, vilket återspeglar de olika syften som SNP:erna kan användas för. I det enklaste fallet kan SNPs hämtas genom att ange en eller flera rs eller ss-identifierare, om de är kända. En annan vanlig fråga är att hämta en uppsättning sammanhängande SNP:er som tillhör en specifik region av en kromosom, specificerad antingen genom ett absolut positionsintervall eller genom namnet på ett cytogenetiskt band. För att stödja genorienterade studier kan SNPper generera en uppsättning SNP:er på eller runt en gen (upp till ett användarspecificerat maximalt avstånd), eller en uppsättning gener. Gener kan anges med hjälp av deras HUGO-namn eller genom deras Genbank-, Locuslink-, OMIM- eller Unigene-identifierare. En uppsättning gener av intresse kan i sin tur specificeras genom position (dvs. alla gener i en kromosomregion) eller genom en GeneOntology-klass. Den sistnämnda funktionen gör det möjligt att studera uppsättningar av SNP:er som är potentiellt förknippade med en biologisk process av intresse, i stället för att kopplas samman genom position.
I alla fall är resultatet av en sökning en SNPset, en datastruktur som innehåller en samling av SNP:er. Det finns olika typer av SNPset, beroende på vilken typ av fråga som producerade dem, och olika operationer definieras för dem. För ett SNPset som innehåller sammanhängande SNP:er är det till exempel meningsfullt att mäta SNP-tätheten, och SNPper tillhandahåller en funktion för att minska antalet SNP:er som det innehåller samtidigt som ett enhetligt avstånd upprätthålls. För ett SNPset som genererats från en uppsättning gener skulle denna funktion inte vara meningsfull (eftersom SNPs kan vara spridda på olika kromosomer) och är därför inte tillgänglig. I allmänhet representerar ett SNPset en uppsättning SNP:er som producerats av en enda förfrågan och som kan manipuleras och analyseras som en helhet. SNPsets är endast synliga för den användare som genererade dem och är beständiga datastrukturer: de lagras i servern så länge de används och tas automatiskt bort när tillräckligt lång tid har gått sedan de senast användes. Användaren kan också välja att spara en SNPset, i vilket fall den kommer att vara tillgänglig i framtida sessioner.
SNP-visualisering
SNPper erbjuder flera olika sätt att visa SNP:er via sitt webbgränssnitt. Till att börja med beskrivs varje SNP individuellt på en sida som visar allmänna data (SNP-identifierare, position, alleler, valideringsstatus), dess lista över inlämnare, listan över gener som den tillhör, dess frekvens i olika populationer (bestående av provstorlek och frekvenser för större och mindre alleler) om det finns tillgängligt, och listan över proteindomäner som SNP:n faller inom, om det finns någon. SNP:er som tillhör en gen kan visas i samband med motsvarande DNA-sekvens eller (för kodande SNP:er) aminosyrasekvens. I båda fallen markeras SNP-positionen och ett popup-fönster används för att visa information om den (namn, position, alleler). Figur 1 visar en annoterad gensekvens som innehåller SNP:er och figur 2 visar den detaljerade informationssidan om en av SNP:erna i sekvensen.
SNPsets visas med hjälp av tabeller som listar namnet på varje SNP, dess position, dess alleler och annan information som beror på den specifika SNPset-typen. SNP-satser som innehåller ett stort antal SNP:er visas eventuellt i förkortad form av prestandaskäl. Tabellen innehåller också länkar för att utföra de olika kommandon som är tillgängliga för en SNPset, t.ex. att spara den, exportera den (se nästa avsnitt) och förfina den. Särskilt SNPset-förfiningen gör det möjligt för användaren att ”filtrera” de SNP:er som ingår enligt flera olika kriterier: allmänna egenskaper (t.ex. validering), position i förhållande till en gen (t.ex. för att välja endast exoniska SNP:er eller promotor-SNP:er), frekvens eller heterozygotitet, inrapporterare (för att välja endast SNP:er från specificerade inrapporterare, eller med ett minsta antal distinkta inrapporterare), eller genomsnittligt avstånd (för att minska antalet SNP:er och samtidigt bibehålla ett enhetligt avstånd). I alla fall blir resultatet att de SNP:er som inte uppfyller användarens kriterier döljs: även om de fortfarande ingår i SNPset är dessa SNP:er inte längre synliga och kommer inte att beaktas i någon analys, visning eller export.
Figur 3 visar slutligen resultatet av en Java-applet som kan användas för att visa SNPsets i grafisk form. Genens struktur visas med hjälp av staplar av olika färg och tjocklek; SNPs identifieras med fyrkanter (om frekvensinformation finns tillgänglig) eller cirklar (annars), och färgas i grönt om de är validerade, svart annars. Appleten innehåller kommandon för att bläddra visningen till vänster eller höger och för att zooma in eller ut.
Dataexport
Ett av de viktigaste designmålen för SNPper är att tillhandahålla enkla sätt att exportera SNP-data i en mängd olika vanliga format. På exportsidan för SNPset, som visas i figur 4, kan användaren välja valfritt antal fält från de tillgängliga annotationerna (inklusive flankerande sekvenser, frekvensinformation, valideringsstatus, aminosyraförändring) och ange önskat utdataformat (XML, tabbseparerad text, HTML eller BED) och destination (data kan visas i webbläsarfönstret eller skickas via e-post till en adress som användaren anger). XML håller gradvis på att bli ett standardformat för datautbyte i biomedicinska tillämpningar och tillhandahålls i SNPper för att stödja interoperabilitet med andra program. Tabbseparerad text är det enklaste strukturerade dataformatet och stöds därför av de flesta program, t.ex. kalkylblad eller program för PCR-primerdesign. HTML-utgång gör det möjligt för användare att visa data på en annan webbplats, t.ex. för att tillhandahålla kompletterande information för en publikation. Slutligen används BED-formatet för att utnyttja Goldenpaths funktion för ”anpassade spår”: den resulterande filen kan laddas upp till Goldenpaths webbplats, och SNPset-data kommer att visas av genombrowsern i dess spårvisningsfönster.
SNPper erbjuder också en alternativ metod för att hämta SNP-information i XML-format. Vårt system implementerar ett gränssnitt för Remote Procedure Call (RPC) som gör det möjligt för andra program att skicka ad hoc HTTP-förfrågningar och som svar få ett XML-dokument i stället för en HTML-sida . Denna funktion är avsedd att öka värdet och användbarheten av SNPper-databasen genom att alternativa system som använder olika användargränssnitt kan byggas på samma underliggande data
Variation med andra SNP-resurser
Det finns flera andra offentliga SNP-databaser, var och en med sina egna styrkor och begränsningar. I det här avsnittet går vi kortfattat igenom de viktigaste, pekar ut deras karakteristiska egenskaper och jämför dem med det som SNPper erbjuder.
HGVBASE-databasen är inriktad på mycket noggrann manuell kuratering och annotering av de tillgängliga SNP-data . Därför är den mindre än dbSNP i storlek, men dess data är extremt användbara för forskare som är intresserade av att utforska den genetiska komponenten av mänsklig fenotypisk variation. Den tillhandahåller omfattande annotationer för sina SNP:er och flera sökalternativ, inklusive möjligheten att leta efter SNP:er i en av användaren tillhandahållen genomisk sekvens som automatiskt anpassas till det mänskliga genomet.
ALFRED och JSNPs är två mindre SNP-databaser som syftar till att tillhandahålla noggrann information om frekvenser. JSNPs fokuserar på den japanska befolkningen, medan ALFRED tillhandahåller uppgifter om ett stort antal mycket olika populationer från hela världen för att förstärka deras skillnader i frekvens och för att underlätta studiet av haplotyper . Båda webbplatserna erbjuder ett relativt litet antal SNP:er, men de frekvensuppgifter som de tillhandahåller för dem är oerhört viktiga. JSNPs erbjuder en användbar grafisk kromosombrowser och möjlighet att visa sekvenseringsspår för sina SNPS. Å andra sidan är funktionerna för dataexport något begränsade i båda systemen.
Sajten GeneSNPs integrerar gen-, sekvens- och SNP-data i högt annoterade genmodeller. Den tillhandahåller omfattande visualiserings- och dataexportfunktioner, inklusive ett sätt att visa SNPs inom den genomiska sekvensen för den gen de tillhör, liknande det som finns i SNPper. Jämfört med SNPper är dess främsta begränsning att den endast innehåller SNPs på ett litet antal gener som är relaterade till känslighet för miljöexponering.
EnsMart är ett mycket omfattande datautvinningsverktyg för att extrahera data från Ensembl-databasen. Ensembl är den överlägset mest uttömmande och sofistikerade databasen av alla de som beskrivs här. Den tillhandahåller ungefär samma uppsättning dataelement om SNPs som SNPper, med den största skillnaden att den använder sin egen databas med gener i stället för att vara kopplad till Goldenpath. Även om dess gränssnitt är mycket kraftfullt och effektivt är det inte särskilt anpassat till behoven för SNP-baserad forskning; till exempel tillhandahåller det inte sätt att generera uppsättningar av SNP:er som har ett önskat genomsnittligt avstånd, vilket i stället är möjligt med SNPper.
Funktioner som är unika för SNPper är främst relaterade till hanteringen av SNP-satser och till dess driftskompatibilitetsfunktioner. SNPper är den enda resurs som ger användarna möjlighet att manipulera, förfina, spara och exportera SNPsets som en helhet, och som gör det möjligt att skapa uppsättningar av SNPs genom komplexa förfrågningar (t.ex. den som använder GeneOntology-klasser och som beskrivs i avsnitt 4.a). SNPper är också, såvitt vi vet, den enda SNP-resurs som ger full tillgång till sin databas som maskinläsbara XML-filer genom ett gränssnitt för Remote Procedure Call, och som gör det möjligt för användaren att ladda upp en uppsättning privata SNP:er till sin databas och att analysera eller visa dem genom sitt standardgränssnitt.