Problembegränsningar
som anges i föregående stycke bör ett optimalt primerset-par samtidigt maximera effektivitet och täckning och minimera matchningsförspänning. I det följande beskriver vi hur vi kvantitativt kodade dessa begränsningar.
effektivitet
den perfekta primer-set-par bör uppfylla flera begränsningar, som syftar till att förbättra PCR effektivitet och specificitet ., Men samtidigt uppfyller alla begränsningar är ofta opraktiskt och de flesta state-of-the-art primers bryter mot en eller flera begränsningar . Vi bestämde oss därför för att införa effektivitet som en optimeringspoäng, som kodar för många av begränsningarna som fuzzy score-funktioner. Mer exakt definierade vi vår effektivitetspoäng som summan av tio score terms: sju fuzzy score terms relaterade till Single-primer effektivitetsbegränsningar, i genomsnitt över alla primers i primer-set-paren, plus tre score terms relaterade till effektiviteten hos primer-set-paren som helhet., Eftersom alla termer är avsedda att variera mellan 0 och 1 varierar optimeringspoängen från 0 (minimal effektivitet) till 10 (maximal effektivitet).
i stort sett räknas vår fuzzy poäng 1 för varje begränsning som är helt nöjd, eller alternativt ett värde mellan 0 och 1 beroende på hur nära primern är till begränsningsgränsen. Som ett exempel, överväga primersmältningstemperaturen, Tm. Tm bör vara större än eller lika med 52 grader i en perfekt primer, men 51 är fortfarande tolerabel, om än inte idealisk., I det här fallet tilldelar vår fuzzy poängfunktion 1 till temperaturer på 52 grader eller högre, 0 till temperaturer på 50 grader eller mindre och anser en linjär ökande funktion mellan 50 och 52 grader. Varje term beskrivs exakt i vad som följer.
de 7 singelprimerpoängtermerna är:
-
smälttemperatur: smälttemperaturen Tm för en primer beräknas med närmaste grannformel . Poängen termen är 1 om Tm ≥ 52, 0 om Tm ≤ 50 och (Tm-50)/2 om 50 < Tm < 52.,
-
GC-innehåll: GC-innehåll är fraktionen fGC av baspar i primersekvensen lika med antingen G (guanin) eller C (cytosin). Poängen termen är 1 om 0,5 ≤ fGC ≤ 0,7, 0 om fGC > 0,7 eller fGC < 0,4 och (0,5-fGC) / 0,1 om 0,4 ≤ fGC < 0,5.
-
3′-end stabilitet – score term 1: två score termer definieras om 3′-end stabilitet. Den första termen är 0 om de tre sista baserna av primern helt består av As (adeniner) och Ts, (tymines) och 1 annars.,
-
3′-end stability – score term 2: den andra poängtermen är 0 om de sista 5 baserna innehåller mer än 3 Cs eller Gs, och 1 annars.
-
homopolymerer: en homopolymer är en sekvens av identiska nukleotider. Poängtermen är 1 om det inte finns några homopolymerer längre än 4 nt, 0,5 om det inte finns några homopolymerer längre än 5 nt och 0 om det finns minst en homopolymer längre än 5 nt i sekvensen.
-
självdimers: närvaron av självkomplementerande regioner mellan par av identiska primers kan leda till generering av självdimers., Med tanke på det maximala antalet matcher i en gap-gratis anpassningen mellan en primer med sina reverserade komplement, maxM, betyg termen är 1 om maxM ≤ 8, 0 om maxM ≥ 11 och 11 – maxM)/3 om 8 < maxM < 11.
-
hårnålar: en hårnål kan bildas i närvaro av självkomplementaritet inom primersekvensen, särskilt vid dess 3′-end., Poängtermen är 0 om, för minst en gapfri anpassning mellan primern och det omvända komplementet av dess 3′-end, både den sista nukleotiden och 3 eller mer av de 4 föregående nukleotiderna matchar och 1 annars.
3 primer-set-pairs score termerna definieras enligt följande:
-
Smälttemperaturområde: Smälttemperaturområdet ΔTm för ett primer-set-par beräknas som det maximala minus det minsta av smälttemperaturerna för alla primers i det inställda paret., Poängen termen är 1 om ΔTm ≤ 3, 0 om ΔTm ≥ 5 och (5 – ΔTm)/2 om 3 < ΔTm < 5.
-
dimrar: vi anser det maximala antalet matcher maxM över alla möjliga inriktningar mellan alla möjliga kombinationer av fram-och bakåtprimrar från en primer-set-par. Poängen termen är 1 om maxM ≤ 8, 0 om maxM ≥ 11 och 11 – maxM)/3 om 8 < maxM < 11.,
-
Amplicon längdomfång: på grund av den kända minskningen av PCR effektivitet med ökande amplicon Längd , vi vill att längderna av de genererade amplicons att ligga i ett smalt område. Vi vill särskilt undvika att ampuller är mycket kortare än mållängden, eftersom de skulle förstärkas över de andra. Men vi vill kunna tolerera en liten del av extremvärden, för att undvika att bestraffa potentiellt värdefulla primerset-par på grund av bara några sällsynta sekvenser., Med tanke på en representativ uppsättning bakteriella 16S-sekvenser, kallad ”referensuppsättning” från och med NU, anser vi skillnaden Δamplen mellan medianen och den första percentilen av ampliconlängder över alla möjliga ampliconer, som bildas genom att matcha alla kombinationer av fram-och bakåtprimrar från det inställda paret med referensuppsättningen. Poängen termen är 1 Om Δamplen ≤ 50 nukleotider, 0 om Δamplen ≥ 100 och (100 – Δamplen)/50 om 50 < Δamplen < 100.,
valet av poängkriterier och standardtröskeln baseras på tidigare litteratur . Dock kan både tröskelvärdena och de fuzzy toleransintervallen ställas in av användaren annorlunda än standard och enligt hans/hennes experimentella behov genom att ange önskade värden som ingångsparametrar när du ringer kommandoradsverktyget.
täckning
täckningsresultatet definieras som antalet 16S sekvenser matchade med minst en primer., Med tanke på sekvenserna av en primer och av en bakteriell 16S definierar vi frö de sista 5 nukleotiderna vid 3′-änden av en primer och vi betraktar en 16S-sekvens som matchad av primern om en region av 16S-sekvensen existerar som matchar i) primerns frö exakt; och ii) resten av primern med högst 2 felaktigheter . En 16S-sekvens från en referenssats anses vara täckt av ett primerset par om minst en framåt och en omvänd primer i primerset matchar sekvensen., Eftersom PCR effektivitet minskar med amplicon Längd, vi införa en ytterligare begränsning: med tanke på en primer-set-Par och en referens uppsättning 16S sekvenser, vi uppskattar målet amplicon längd som medianen av längderna av alla amplicons erhålls genom att matcha alla kombinationer av framåt och bakåt primers från primer-set-paret med referensuppsättningen. Vi anser sedan som inte täckt alla 16S referenssekvenser vars amplicon längd skiljer sig mer än 100 nukleotider (antingen längre eller kortare) från mållängden.,
Matching-bias
Med tanke på en referensuppsättning av 16S-sekvenser och ett primerset-par mäter den tredje optimeringspoängen variationen av antalet kombinationer av fram-och bakåtriktade primrar som matchar varje 16S-referenssekvens. Täckningsvariabilitet på grund av matchande bias bör minimeras, eller åtminstone redovisas, när studien är avsedd att kvantifiera de olika bakteriearternas relativa abundanser, på grund av förstärkningsförspänningen mot de arter som omfattas av fler kombinationer av fram-och backprimer., Som ett mått på matchningsförspänning utnyttjar vi variationskoefficienten för täckningen över målsekvenserna, beräknad som standardavvikelsen över medelvärdet av antalet kombinationer som matchar varje sekvens.
Referensuppsättning av 16S-sekvenser, förberedelse och anteckning
för att optimera de tre poängen ovan förlitar vi oss på en representativ uppsättning bakteriella 16S-sekvenser extraherade från en offentlig 16S-sekvensdatabas, GreenGenes ., GreenGenes 16S sequence database är organiserad i operativa taxonomiska enheter (Otus), som är kapslade kluster av sekvenser i databasen, organiserade på olika nivåer av Inter-cluster likhet. För varje nivå av likhet är en referenssekvens associerad med varje kluster, som maximalt liknar alla andra sekvenser i samma kluster . Uppsättningen referenssekvenser kan således betraktas som en representativ delmängd av hela sekvensdatabasen och bli mer och mer exakt för att öka nivåerna av likhet mellan kluster (och därmed antal referenssekvenser)., Vi valde en 85% mellanklusterlikhetsnivå som en bra avvägning mellan representativitet och komplexitet, vilket motsvarar en uppsättning 5088 representativa sekvenser som ska användas för att bedöma optimeringskriterierna.
Även om det är mycket känsligt att kommentera bakterierna och Archaea-domänerna, är GreenGenes-taxonomin inte utformad för att skilja sekvenser som tillhör eukaryoter eller virus., Av denna anledning bestämde vi oss för att åter kommentera 16S bakteriesekvenser som utnyttjar den ursprungliga NCBI-taxonomin för att exakt identifiera, bland de representativa sekvenserna, bara de som tillhör Bakteriedomänen. Eftersom domäninformation saknas från NCBI-anteckningen för cirka 20% av sekvenserna utformade vi ett Ad hoc-förfarande för att identifiera bakteriesekvenser bland dessa. Förfarandet beskrivs i detalj i de kompletterande materialen (se ytterligare fil 1)., Vi valde konservativt att bara överväga sekvenserna som kommenteras som bakterier både i vår kurerade, NCBI-baserade anteckning och i den ursprungliga GreenGenes-anteckningen. Detta resulterade i en uppsättning 4573 representativa 16S-sekvenser som hör till Bakteriedomänen.,
optimeringsalgoritm
eftersom problemet med optimal primers val kräver samtidig optimering av olika konkurrerande poäng, kan det gjutas som ett multi-objective optimeringsproblem, där sökutrymmet är uppsättningen av alla möjliga primer-set-Par och en poängfunktion, eller optimeringskriterium, kan definieras så att maximera effektivitet och täckning och minimera matchning-bias., När mer än ett kriterium behöver optimeras samtidigt, men de mål som ska optimeras är motstridiga, är man vanligtvis inte intresserad av en enda lösning, utan snarare av uppsättningen Pareto optimala lösningar, dvs. i uppsättningen lösningar för vilka inget av målen kan förbättras utan att offra minst ett annat mål ., Resultatet av multi-objektiv optimering är inte längre en unik optimal primer-set-pair, som i single-objektiv optimering, utan snarare en samling av primer-set-par som inte är värre än någon annan primer-set-pair och strikt bättre enligt åtminstone ett av kriterierna. Mer exakt, för Tri-objective optimering problemet med att maximera effektiviteten (E) och täckning (C) optimering poäng och minimera matchnings bias (M) poäng, enligt definitionen i föregående avsnitt, kandidat primer-set-par utvärderas enligt en objektiv funktion vektor F = (F E ; f C ; fM)., Given two primer-set-pairs P and p’, we say that p dominerar p’ (p’) if and only if F (P) F (P’), Fe (P) ≥ fE (p’), fC (p) ≥ fC (p’) och fM (p) ≤ fM (p’). Om det inte finns någon p’ sådan att p’, kallas primerset-set-pair p Pareto-optimal. I detta sammanhang är målet med optimal primers val att bestämma (eller ungefärliga) uppsättningen av alla Pareto-optimala primerset-par, vars bild i Tri-objective-utrymmet kallas Pareto-fronten .
för att söka efter den optimala Pareto-fronten förlitar vi oss på den tvåfasiga itererade bästa förbättringsmetoden som föreslagits av Dubois-Lacoste et al., och effektivt utnyttjas i Sambo et al. och Borrotti et al. för optimal Multi-objektiv design av experiment.
Lokal sökning börjar från en initial lösning och förfinar den genom att tillämpa små lokala förändringar och bedöma varje gång deras effekt på lösningskvaliteten.det slutar när inga ytterligare lokala förändringar kan förbättra lösningen. Processen är itererad från flera olika utgångspunkter och den bästa lösningen som någonsin hittats returneras, som en approximation av det okända optimala ., En vanlig förlängning av lokal sökning till multi-objective-fallet är att starta från en uppsättning initiala Pareto-lösningar, prova en lösning framifrån, Optimera med lokal sökning en slumpmässig skalarisering av problemet, dvs en linjär kombination av optimeringspoängen med vikter samplade jämnt slumpmässigt från enheten simplex, uppdatera Pareto-fronten och iterera tills ett termineringstillstånd är uppfyllt .,
proceduren MULTI-OBJECTIVE-SEARCH, vars pseudo-kod rapporteras i vad som följer, tar emot som ingångar önskat intervall av amplicon längder (rangeamplen), en representativ uppsättning av 16S sekvenser (repset), en initial uppsättning av (eventuellt degenererade) primerpar (init) och antalet omstarter (nres). Förfarandet börjar med att välja från init alla möjliga primer par med önskad amplicon längd, primer längd (mellan 17 och 21 nukleotider) och måldomän (bakterier eller Universal).,
degenererade primerpar konverteras till icke-degenererade primer-set-Par och läggs till i ett arkiv. Förfarandet itererar sedan nresttider, varje gång provtagning av en slumpmässig primer-set-pair pstart från Pareto-fronten och en slumpmässig vektor α av relativa vikter för optimeringspoängen, med vikter samplade jämnt från enheten simplex; proceduren löser sedan en skalarisering av det Multi-objektiva problemet, dvs ett enda objektivt problem där en linjär kombination av de tre målen med relativa vikter α maximeras och lägger resultatet till arkivet., För detta ändamål normaliseras effektivitet, täckning och matchande-bias-poäng till sitt maximala, så att varje normaliserad poäng varierar mellan 0 och 1, och matchande – bias omdefinieras som 1-matchande-bias, så att den kan maximeras som de andra poängen., amplicon längd i rangeamplen
2 Lägg till att arkivera motsvarande icke-degenererade primer-set-pairs
3 för r = 1 till nrest
4 pf = PARETO-FRONT(arkiv)
5 prov pstart från pf
6 prov α från 3, med Σi ai = 1
7 p = LOCAL-SEARCH(pstart , α , repset)
P> 8 Lägg till p i arkivet
9 retur arkiv
single-objective optimering erhålls med hjälp av den bästa förbättringen lokal sökalgoritm : från en initial primer-set-pair, den lokala sökalgoritmen cykler genom primers av set-pair och, för varje primer, skannar dess grannskap, i.,e. uppsättningen av alla möjliga lokala störningar av primern. Lokala störningar består i alla möjliga flips av en nukleotid (bedömning av de tre andra möjliga baserna) och alla möjliga tillägg och avlägsnande av en nukleotid i extremiteterna., Sökningen i lösningsutrymmet utförs med den bästa förbättringen lokal sökning strategi: efter att ha genererat hela grannskapet som förklaras ovan, algoritmen väljer den bästa granne störning, börjar från det att generera nästa grannskap, och itererar tills den når en lösning för vilken ingen bättre granne störning kan hittas. Förfarandet avslutas när inga ytterligare lokala förbättringar kan appliceras på någon primer i primer-set-paret., Funktionen WEIGHTED-SCORE beräknar de tre optimeringspoängen från ett primerset-Par och den representativa uppsättningen, multiplicerar poängen med de relativa vikterna α och Returnerar summan av resultaten.
Vi utvecklade ett programverktyg som implementerar vårt tillvägagångssätt och släppte det under GNU General Public License som mopo16s-programverktyget (Multi-Objective Primer Optimization for 16S experiments) på http://sysbiobig.dei.unipd.it/?q=Software#mopo16S., mopo16S implementeras som ett multithreading C++ kommandoradsverktyg; programvaruverktyget bygger på effektiva algoritmer och datastrukturer från seqan-biblioteket och använder openMP-biblioteket för multithreading.,>
4 för i = 1 till |pcurr|
5 pri = jag e primer pcurr
6 för pnew = pcurr med alla möjliga tillägg och borttagningar av en bas på extremiteterna och ersättare i en bas av pri
7 scorenew = VÄGDA BETYG(pnew , α , repset)
8 om scorenew > scorebest
9 pbest = pnew
10 scorebest = scorenew
11 pcurr = pbest
12 återgå pcurr
State-of-the-art primerpar som första lösningar
Vi valde online-databas probeBase som en källa till kandidat primer-set-par för att användas som första lösningar av mopo16S., Databasen innehåller mer än 500 par (eventuellt degenererade) primers och rapporter för varje primer dess sekvens, strängen och positionen vid vilken den matchar referens 16S Escherichia coli-genen och måldomänen för vilken den är utformad (är antingen bakterier, Archaea eller Universal).,
givet ett önskat intervall för målet amplicon längd som inmatning av mopo16S, valde vi alla primerpar från probebasdatabasen som uppfyller alla följande egenskaper:
-
Amplicon längd i önskat område;
-
längd på båda primers större än eller lika med 17 nt och mindre än eller lika med 21 nt;
-
bakterier eller universell måldomän för båda primers.,
eftersom vårt tillvägagångssätt är att arbeta med uppsättningar av icke-degenererade primers, vid degenerering i antingen framåt eller omvänd primer, ersätter vi den degenererade primern med en motsvarande uppsättning icke-degenererade primers, erhållna genom att tilldela alla möjliga kombinationer av värden till de degenererade nukleotiderna i primern. Ett exempel på detta förfarande ges i Tabell 1.
Vi beräknade de tre poängen för var och en av primeruppsättningsparen och identifierade bland dessa primeruppsättningspar som bildar den ursprungliga Pareto-fronten.