Temaer
- BLAT vs. BLAST
- BLAT kan slet ikke finde en sekvens eller ikke alle forventede matches
- BLAT eller In-Silico PCR finder flere matches som f.eks. chr_alt eller chr_fix, selv om der kun forventes ét
- BLAT-brugsrestriktioner
- Download af BLAT-kilde og -dokumentation
- Replikering af webbaserede BLAT-parametre i kommando
- line version
- Anvendelse af -ooc-flaget
- Rekopiering af webbaserede BLAT-procentidentitet og scoreberegninger
- Rekopiering af webbaserede BLAT “I’m feeling lucky”-søgeresultater
- Anvendelse af BLAT til korte sekvenser med maksimal følsomhed
- BLAT ALLE genomer
- BLAT ALLE genomer: Ingen match fundet
- Opnåelse af webbaserede BLAT-resultater ved hjælp af gfServer/gfClient
- Standalone- eller gfServer/gfClient-resultatets startpositioner afviger én gang
Vend tilbage til FAQ Indholdsfortegnelse
BLAT vs. BLAST
Hvad er forskellene mellem BLAT og BLAST?
BLAT er et alignmentværktøj ligesom BLAST, men det er opbygget på en anden måde. På DNA fungerer BLAT ved at holde et indeks for et helt genom i hukommelsen. BLAT’s måldatabase er således ikke et sæt GenBank-sekvenser, men i stedet et indeks, der er afledt af sammensætningen af hele genomet. Som standard består indekset af alle ikke-overlappende 11-mere med undtagelse af dem, der er stærkt involveret i gentagelser, og det bruger mindre end en gigabyte RAM. Denne mindre størrelse betyder, at BLAT er langt lettere at spejle end BLAST. Blat of DNA er designet til hurtigt at finde sekvenser med 95 % og mere lighed med en længde på 40 baser eller mere. Den kan gå glip af mere divergerende eller kortere sekvenstilpasninger. (Standardindstillingerne og den forventede adfærd i standalone Blat er lidt anderledes end i den grafiske version af BLAT.)
På proteiner bruger BLAT 4-mers i stedet for 11-mers og finder proteinsekvenser med 80 % og mere lighed med forespørgslen med en længde på 20+ aminosyrer. Proteinindekset kræver lidt mere end 2 gigabyte RAM. I praksis – på grund af sekvensdivergensraten i løbet af den evolutionære tid – fungerer DNA BLAT godt inden for mennesker og primater, mens protein BLAT fortsat finder gode match inden for jordiske hvirveldyr og endda tidligere organismer for bevarede proteiner. Inden for mennesker giver protein Blat et meget bedre billede af genfamilier (paralogs) end DNA Blat. BLAST og psi-BLAST på NCBI kan dog finde langt mere fjerntliggende matches.
Fra et praktisk synspunkt har BLAT flere fordele i forhold til BLAST:
- hastighed (ingen køer, svar i sekunder) til prisen af mindre homologidybde
- muligheden for at indsende en lang liste af samtidige forespørgsler i fasta-format
- fem praktiske output-sorteringsmuligheder
- et direkte link til UCSC-browseren
- detaljer om blokblokke i naturlig genomisk rækkefølge
- en mulighed for at starte tilpasningen senere som en del af et brugerdefineret spor
BLAT bruges almindeligvis til at søge efter placeringen af en sekvens i genomet eller til at bestemme exonstrukturen for et mRNA, men ekspertbrugere kan køre store batchjobs og foretage interne parameterfølsomhedsændringer ved at installere kommandolinjen Blat på deres egen Linux-server.
BLAT kan ikke finde en sekvens eller ikke alle forventede matches
Jeg kan ikke finde en sekvens med BLAT, selv om jeg er sikker på, at den er i genomet. Gør jeg noget forkert?
Først skal du kontrollere, om du bruger den korrekte version af genomet. Der er f.eks. to versioner af det menneskelige genom, som i øjeblikket er i udbredt brug (hg19 og hg38), og din sekvens findes måske kun i den ene af dem. Mange offentliggjorte artikler angiver ikke assemblageversionen, så det kan være nødvendigt at prøve begge versioner.
Meget korte sekvenser, der går over et splejsningssted i en cDNA-sekvens, kan ikke findes, da de ikke findes i genomet. qPCR-primere er et typisk eksempel. I disse tilfælde kan du prøve at bruge In-Silico PCR og vælge et gensæt som mål. Generelt er In-Silico PCR-værktøjet mere følsomt og bør foretrækkes for primerpar.
Et andet problematisk tilfælde er søgning efter sekvenser i gentagelser eller transposoner. BLAT springer de mest gentagne dele af forespørgslen over og begrænser antallet af fundne matches, hvilket fører til manglende matches for disse gentagelsessekvenser. online-versionen af BLAT maskerer 11mere fra forespørgslen, der forekommer mere end 1024 gange i genomet, og begrænser resultaterne til 16 matches pr. kromosomstreng. Det betyder, at der højst returneres 32 steder pr. kromosom. Dette gøres for at forbedre hastigheden, men kan resultere i manglende hits, når man søger efter sekvenser i gentagelser.
Ofte kan man for gentagelsessekvenser bruge selvkædesporet til at finde de andre matches, men kun hvis de andre matches er lange og specifikke nok. Du kan kontrollere, om der er en sekvens til stede på et bestemt sted ved at bruge sporet “Kort match”, hvis din sekvens er mindre end 30 bp.Du kan omgå denne begrænsning i minimumslængde ved at tilføje flere flankerende sekvenser til din forespørgsel for at gøre forespørgslen unik nok. Hvis dette ikke er muligt, er det eneste alternativ at downloade de eksekverbare filer af BLAT og .2bit-filen af et genom til din egen maskine og bruge BLAT på kommandolinjen. Se Hentning af BLAT-kildekode og -dokumentation for at få flere oplysninger. Når du bruger kommandolinjeversionen af BLAT, kan du indstille repMatch-indstillingen til en stor værdi for at forsøge at forbedre fundet af matches i gentagne regioner og ikke bruge en af standardfilerne 11.ooc repeat masking files.
BLAT eller In-Silico PCR finder flere matches såsom chr_alt eller chr_fix, selv om der kun forventes ét
Jeg ser to eller flere matches i genomet, selv om der kun burde være ét. Hvad er disse ekstra matches?
Dette sker normalt på de nyere genomassembler, f.eks. hg38, når man søger på en sekvens, der har en “alternativ” eller “fix” sekvens. For at forbedre kvaliteten af disse assemblies har kuratorer tilføjet flere versioner af nogle vigtige loci, f.eks. MHC-regionerne, for at forbedre kvaliteten af disse assemblies. De tilføjer også fix-sekvenser for at løse fejl uden at ændre referencen. Se vores blogindlæg om patches for flere oplysninger.
Når du blat eller isPCR en sekvens, som matcher en kromosomplacering, der også har en fix- eller alt-sekvens, vil du se et match på referencekromosomet (f.eks. “chr1”) og et andet match på patch-sekvensen (f.eks. chr1_KN196472v1_fix). I de fleste tilfælde er det sikkert at ignorere patch-hit’et, da et menneskeligt genom ikke vil indeholde både reference- og alternativsekvensen på samme tid. Yderligere oplysninger om de specifikke typer patch-sekvenser findes i vores FAQ-indlæg om emnet.
BLAT-brugsrestriktioner
Jeg har modtaget en advarsel fra din Blat-server, der informerer mig om, at jeg har overskredet serverens brugsbegrænsninger. Kan du give mig oplysninger om UCSC Blat-serverens brugsparametre?
På grund af den store efterspørgsel efter vores Blat-servere begrænser vi tjenesten for brugere, der programmerer forespørgsler i BLAT-værktøjet eller foretager store batchforespørgsler. Programstyret brug af BLAT er begrænset til højst et hit hvert 15. sekund og ikke mere end 5 000 hits pr. dag. Begræns venligst batchforespørgsler til 25 sekvenser eller mindre.
For brugere med store mængder Blat-forespørgsler anbefaler vi, at BLAT-værktøjet downloades til lokal brug. Du kan finde flere oplysninger under Download af BLAT-kilde og -dokumentation.
Download af BLAT-kilde og -dokumentation
Er BLAT-kilden tilgængelig til download? Er dokumentationen tilgængelig?
BLAT-kildekode og eksekverbare filer er frit tilgængelige til akademisk, nonprofit- og personlig brug. Oplysninger om kommerciel licensering findes på Kent Informatics’ websted.
BLAT-kilden kan downloades fra http://hgdownload.soe.ucsc.edu/admin/ (placeret på /kent/src/blat i det seneste jksrci*.zip-kildetræ). For BLAT eksekverbare filer, gå til http://hgdownload.soe.ucsc.edu/admin/exe/ og vælg din maskintype.
Dokumentation om BLAT-programspecifikationer findes her. Bemærk, at kommandolinjen BLAT ikke returnerer matches til U-nukleotider i forespørgselssekvensen.
Replikering af webbaserede Blat-parametre i kommandolinjeversionen
Jeg er ved at opsætte min egen Blat-server og vil gerne bruge de samme parameterværdier, som UCSC’s webbaserede Blat-server bruger.
Vi forventer næsten altid små forskelle mellem hgBLAT/gfServer og den selvstændige, kommandolinje-baserede Blat. De bedste matches kan findes ved hjælp af hjælpeprogrammerne pslReps og pslCDnaFilter. Den webbaserede Blat er indstillet eftergivende med en minimum cut-off score på 20, hvilket vil vise de fleste alignments. Vi anbefaler, at man beslutter, hvilke filtreringsparametre der giver mest mening for eksperimentet eller analysen. Ofte vil disse indstillinger være anderledes og mere stringente end dem i den webbaserede Blat. Med dette i tankerne kan du bruge følgende indstillinger til at tilnærme dig søgeresultaterne fra den webbaserede Blat:
Bemærk: Der er tilfælde, hvor gfServer/gfClient-tilgangen giver en bedre tilnærmelse af webresultaterne end standalone Blat. Se nedenstående eksempel for en oversigt over denne proces.
Standalone Blat:
- Blat-søgning:
blat -stepSize=5 -repMatch=2253 -minScore=20 -minIdentity=0 database.2bit query.fa output.psl
blat -stepSize=5 -repMatch=2253 -minScore=20 -minIdentity=0 database.2bit query.fa output.psl
- Bemærk: For at replikere webresultater bør PSL-output anvendes. BLAT håndterer alternative outputformater (såsom blast8) lidt anderledes, og dette kan føre til mindre forskelle i resultaterne; især for korte alignments. Desuden bør forespørgselssekvensen have alle U-nukleotider konverteret til T-nukleotider eller have “-q=rna”-flaget anvendt for at matche web-BLAT.
faToTwoBit:
- Anvender soft masking til at konvertere Fasta-formatet til 2bit-formatet til BLAT-input.
gfServer (sådan er UCSC’s webbaserede BLAT-servere konfigureret):
- BLAT-server (i stand til PCR):
gfServer start blatMachine portX -stepSize=5 -log=untrans.log database.2bit
- oversat BLAT-server:
gfServer start blatMachine portY -trans -mask -log=trans.log database.2bit
For at muliggøre DNA/DNA- og DNA/RNA-match er det kun nødvendigt med værts-, port- og twoBit-filer. Den samme port anvendes til både uoversat Blat (gfClient) og PCR (webPcr). Du skal bruge en separat Blat-server på en separat port for at aktivere oversat Blat (proteinsøgninger eller oversatte søgninger i protein-rum).
gfClient:
- Sæt -minScore=0 og -minIdentity=0. Dette vil resultere i nogle lavt scorende, generelt falske hits, men til interaktiv brug er det tilstrækkeligt nemt at ignorere dem (fordi resultaterne sorteres efter score), og nogle gange er de lavt scorende hits praktiske.
Noter om repMatch:
- Standardindstillingen for gfServer dna-matches er: repMatch = 1024 * (tileSize/stepSize).
- Standardindstillingen for Blat dna-matches er: repMatch = 1024 (hvis tileSize=11).
- For at få kommandolinje-resultater, der svarer til de webbaserede resultater, skal repMatch angives, når du bruger BLAT.
For flere oplysninger om, hvordan du kopierer den score og de procentvise identitetsoverensstemmelser, der vises af vores webbaserede Blat, kan du se denne BLAT FAQ.
For yderligere oplysninger om de parametre, der er tilgængelige for BLAT, gfServer og gfClient, se BLAT-specifikationerne.
Brug af -ooc-flaget
Hvad gør -ooc-flaget?
Brug af en hvilken som helst -ooc-indstilling i BLAT, f.eks. -ooc=11.ooc, fremskynder søgninger svarende til repeat-masking-sekvens. 11.ooc-filen indeholder sekvenser, der er bestemt til at være overrepræsenteret i genomsekvensen. For at forbedre søgehastigheden anvendes disse sekvenser ikke, når der foretages en tilpasning mod genomet. For sekvenser af rimelig størrelse vil dette ikke skabe noget problem og vil reducere behandlingstiden betydeligt.
Du vil ved ikke at bruge 11.ooc-filen øge alignmenttiden, men vil også øge følsomheden en smule. Dette kan være vigtigt, hvis du aligner kortere sekvenser eller sekvenser af dårlig kvalitet. Hvis en bestemt sekvens f.eks. primært består af sekvenser i 11.ooc-filen, vil den aldrig blive sat korrekt til en alignment, hvis -ooc-flaget anvendes.
Sammenfattende kan du, hvis du ikke finder visse sekvenser og har råd til den ekstra behandlingstid, køre BLAT uden 11.ooc-filen, hvis din særlige situation berettiger brugen af den.
Replikering af web-baseret Blat procentidentitet og scoreberegninger
Hvis jeg bruger min egen kommandolinje-Blat-server, hvordan kan jeg så replikere de procentidentitets- og scoreberegninger, der produceres af web-baseret Blat?
Der er ingen mulighed i kommandolinjen Blat, der giver dig procentidentitet og score. Vi har dog oprettet scripts, der indeholder beregningerne:
- Se perl-scriptet fra kildetræet:
pslScore.pl
- Se det tilsvarende C-program:
pslScore.c
og de tilhørende biblioteksfunktionerpslScore
ogpslCalcMilliBad
ipsl.c
Se vores FAQ om licensering af kildekode og downloads for at få oplysninger om at få fat i kildekoden.
Replikering af webbaserede Blat “I’m feeling lucky”-søgningsresultater
Hvordan kan jeg generere de samme søgeresultater som den webbaserede Blats “I’m feeling lucky”-indstilling ved hjælp af kommandolinjen Blat?
Koden til Blat-søgningen “I’m feeling lucky” ordner resultaterne baseret på den sorteringsoutputindstilling, som du har valgt på forespørgselssiden. Den returnerer derefter den højest scorende tilpasning af den første forespørgselssekvens.
Hvis du sorterer resultaterne efter “query, start” eller “chrom, start”, er det ligetil at generere “I’m feeling lucky”-resultatet: sorter outputfilen efter disse kolonner, og vælg derefter det øverste resultat.
For at replikere en af sorteringsmulighederne, der involverer score, skal du først beregne scoren for hvert resultat i din PSL-uddatafil og derefter sortere resultaterne efter score eller en anden kombination (f.eks. “query, score” og “chrom, score”). Se afsnittet om Replikering af webbaserede Blat-procentidentitet og scoreberegninger for oplysninger om beregning af score.
Alternativt kan du prøve at filtrere dit Blat PSL-output ved hjælp af entenpslReps
eller pslCDnaFilter
-programmet, der er tilgængeligt i Genome Browser-kildekoden. For oplysninger om at få kildekoden, se vores FAQ om licensering af kildekode og downloads.
Brug af BLAT til korte sekvenser med maksimal følsomhed
Hvordan konfigurerer jeg BLAT til korte sekvenser med maksimal følsomhed?
Her er nogle retningslinjer for konfiguration af standalone Blat og gfServer/gfClient til disse forhold:
- Formlen til at finde den korteste forespørgselsstørrelse, der garanterer et match (hvis matchende fliser ikke er markeret som overforbrugte), er: 2 * stepSize + tileSize – 1
For eksempel med stepSize indstillet til 5 og tileSize indstillet til 11, vil der blive fundet matches af forespørgselsstørrelse 2 * 5 + 11 – 1 = 20 bp, hvis forespørgslen passer nøjagtigt til målet.
Parameteren stepSize kan være fra 1 til tileSize.
Parameteren tileSize kan være fra 6 til 15. For protein begynder intervallet lavere.
For minMatch=1 (f.eks., protein), er den mindste garanterede matchlængde: 1 * stepSize + tileSize – 1
Bemærk: Der er også en “mindste heldig størrelse” for hits. Dette er det mindste mulige hit, som BLAT kan finde. Denne mindste heldige størrelse kan beregnes ved hjælp af formlen: stepSize + tileSize. Hvis vi f.eks. bruger en tileSize på 11 og stepSize på 5, vil hits, der er mindre end 16 baser, ikke blive rapporteret. - Prøv at bruge -fine.
- Brug en stor værdi for repMatch (f.eks. -repMatch = 1000000) for at mindske risikoen for, at en flise bliver markeret som overudnyttet.
- Brug ikke en .ooc-fil.
- Brug ikke -fastMap.
- Brug ikke maskering af kommandolinjeindstillinger.
De ovennævnte ændringer vil gøre BLAT mere følsom, men vil også sænke hastigheden og øge hukommelsesforbruget. Det kan være nødvendigt at behandle et kromosom ad gangen for at reducere hukommelsesbehovet.
En bemærkning om filtrering af output: En forøgelse af parameterværdien -minScore ud over halvdelen af forespørgselsstørrelsen har ingen yderligere effekt. Brug derfor enten pslReps
eller pslCDnaFilter
-programmet, der er tilgængeligt i Genome Browser-kildekoden, til at filtrere efter den ønskede størrelse, score, dækning eller kvalitet. For oplysninger om at få kildekoden, se vores FAQ om licensering og download af kildekoden.
Blat ALLE genomer
Hvordan blatter jeg forespørgsler til standardgenomsamlinger af alle organismer?
BLAT er designet til hurtigt at finde sekvenslighed mellem forespørgsels- og målsekvenser. Generelt bruges BLAT til at finde steder med sekvenshomologi i et enkelt målgenom eller til at bestemme exonstrukturen i et mRNA. BLAT giver også brugerne mulighed for at sammenligne forespørgselssekvensen med alle standardsamlinger for organismer, der er hostet på UCSC Genome Browser. Search ALL-funktionen kan være nyttig, hvis du har en tvetydig forespørgselssekvens og forsøger at bestemme, hvilken organisme den kan tilhøre.
Vælger du afkrydsningsfeltet “Search ALL” over Genome drop-down-listen, kan du søge i genomerne i standardsamlinger for alle vores organismer. Den søger også i alle tilknyttede hubs’ Blat-servere, hvilket betyder, at du kan søge i dine brugergenererede assemblagehubs. På resultatsiden vises en ordnet liste over alle vores organismer og deres homologi med din forespørgselssekvens. Resultaterne er ordnet således, at organismen med den bedste alignment-score står øverst, hvilket indikerer, hvilken region(er) i den pågældende organisme der har den største homologi med din forespørgselssekvens. hele alignmentet, herunder mismatches og huller, skal opnå en score på 20 eller højere for at blive vist i Blat-outputtet. Ved at klikke på et link i listen over samlinger vil du blive ført til en ny side, der viser forskellige steder og scorer for sekvenshomologi i den pågældende samling.
Blat ALLE genomer: Mine Blat ALL-resultater viser samlinger med hits, men ved at klikke på dem rapporteres der ingen matches
På Blat ALL-resultatsiden repræsenterer kolonnen “Hits” ikke alignments, men rapporterer i stedet tile hits. Tile hits er 11 base kmer matches fundet i målet, som ikke nødvendigvis repræsenterer vellykkede alignments. Når man klikker på “Assembly”-linket, vil der blive foretaget en fuld Blat-justering for det pågældende genom, og enhver justeringsscore, der repræsenterer mindre end et resultat på 20 bp, vil komme tilbage som ingen fundne matches.
Når man indsender en sekvens til Blat ALL-værktøjet, sammenlignes sekvensen med et indeks i serveren. Indekset er blevet opbygget ud fra målgenomet med en standard stepSize på 11 bp.Disse 11-mere “fliser” sekvensen som følger:
TGGACAACATG GCAAGAATCAG TCTCTACAGAA
Når indekset er opbygget, er det første trin i tilpasningen at læse forespørgselssekvensen (søgningen), udtrække alle 11-mere og slå dem op i genomets 11-mere-indeks, der i øjeblikket er i hukommelsen. De matches, der findes der, repræsenterer de første “hits”, som du ser på Blat ALL-resultatsiden. Det næste trin er at lede efter hits, der overlapper hinanden eller falder inden for en vis afstand fra hinanden, og forsøge at tilpasse sekvenserne mellem hit-placeringerne i mål og forespørgsel.
Til eksempel, hvis to 11-base tile hits flugter perfekt, vil det resultere i en score på 22. Dette er over den krævede minimumsscore på 20 (se Blat ALL genomes) og ville blive rapporteret som en alignment. Der er imidlertid straffe for huller og mismatches samt potentiel overlapning (se stepsize i BLAT-specifikationerne), som alle kan bringe scoren under 20. I så fald ville Blat ALL rapportere 2 “hits”, men hvis man klikker ind i samlingen, ville der ikke blive rapporteret nogen matches. Dette sker oftest, når der kun er få (1-3) hits rapporteret af Blat ALL.
Opnærmelse af webbaserede Blat-resultater ved hjælp af gfServer/gfClient
Ofte giver brugen af gfServer/gfClient en bedre tilnærmelse eller endda en replikation af de webbaserede Blat-resultater, som ellers ikke kan findes ved hjælp af standalone Blat. Denne fremgangsmåde efterligner den Blat-server, der anvendes af den webbaserede Blat i Genome Browser. Det følgende eksempel viser, hvordan man opretter en hg19 gfServer og derefter foretager en forespørgsel. Først downloader du det relevante værktøj til operativsystemet og giver det eksekveringstilladelser:
#For linuxrsync -a rsync://hgdownload.soe.ucsc.edu/genome/admin/exe/linux.x86_64/blat/ ./#For MacOSrsync -a rsync://hgdownload.soe.ucsc.edu/genome/admin/exe/macOSX.x86_64/blat/ ./chmod +x gfServer gfClient blat
Dernæst downloader du det relevante .2bit-genom (hg19 i dette eksempel) og kører gfServer-værktøjet med web-Blat-parametrene, idet du angiver den lokale maskine og port 1234:
wget http://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/hg19.2bit./gfServer start 127.0.0.1 1234 -stepSize=5 hg19.2bit
Efter et øjeblik vil gfServeren blive initialiseret og være klar til at modtage forespørgsler. For at tilnærme os web Blat vil vi bruge gfClient med følgende parametre, der angiver vores input- og outputfiler:
./gfClient -minScore=20 -minIdentity=0 127.0.0.1 1234 . input.fa out.psl
Outputfilen out.psl
bør give resultater, der ligner meget dem, der opnås med web-baseret Blat.
Standalone- eller gfServer/gfClient-resultaternes startpositioner er én mindre
Mine standalone Blat-resultater eller gfServer/gfClient Blat-resultater har en startposition, der er én mindre end den, jeg ser på web Blat-resultater
Dette skyldes, hvordan vi gemmer interne koordinater i Genome Browser. StandardBlat Output-type af hyperlink viser resultater i vores interne koordinatdatastruktur. Disse interne koordinater har en nulbaseret start og en enbaseret slutning. Se følgende FAQ-post for yderligere oplysninger.
Hvis Output type ændres til psl på webBlat, vil de samme nul-baserede halvåbne koordinatresultater blive vist som de standalone Blat- og gfServer/gfClient-procedurer.