Probleembeperkingen
zoals vermeld in de vorige paragraaf, moet een optimaal primer-set-paar tegelijkertijd de efficiëntie en dekking maximaliseren en matching-bias minimaliseren. Hieronder beschrijven we hoe we deze beperkingen kwantitatief gecodeerd hebben.
efficiëntie
de perfecte primer-set-paren moeten voldoen aan verschillende beperkingen, gericht op het verbeteren van PCR-efficiëntie en-specificiteit ., Tegelijkertijd voldoen aan alle beperkingen is echter vaak onpraktisch en de meeste state-of-the-art primers schenden een of meer beperkingen . We hebben daarom besloten om efficiëntie te introduceren als een optimalisatie score, en coderen veel van de beperkingen als fuzzy score functies. Meer precies definieerden we onze efficiëntiescore als de som van tien scoretermen: zeven fuzzy score-termen gerelateerd aan single-primer efficiëntiebeperkingen, gemiddeld over alle primers in de primer-set-paren, plus drie scoretermen gerelateerd aan de efficiëntie van de primer-set-paren als geheel., Omdat alle termen bedoeld zijn om te variëren tussen 0 en 1, de optimalisatie score varieert van 0 (minimale efficiëntie) tot 10 (maximale efficiëntie).
in grote lijnen telt onze fuzzy score 1 voor elke beperking die perfect is voldaan, of, als alternatief, een waarde tussen 0 en 1 afhankelijk van hoe dicht de primer is bij de beperking limiet. Als voorbeeld, overwegen de primer smelttemperatuur, Tm. Tm moet groter zijn dan of gelijk aan 52 graden in een perfecte primer, maar 51 is nog steeds aanvaardbaar, zij het niet ideaal., In dit geval kent onze fuzzy scoringfunctie 1 toe aan temperaturen van 52 graden of hoger, 0 aan temperaturen van 50 graden of minder en beschouwt een lineaire oplopende functie tussen 50 en 52 graden. Elke term wordt nauwkeurig beschreven in wat volgt.
de 7 single-primer score termen zijn:
-
smelttemperatuur: de smelttemperatuur Tm van een primer wordt berekend met de dichtstbijzijnde-buur formule . De score term is 1 if TM ≥ 52, 0 if TM ≤ 50 en (Tm – 50)/2 if 50 < Tm < 52.,
-
GC-gehalte: GC-gehalte is de fractie fGC van basenparen in de primersequentie gelijk aan G (guanine) of C (cytosine). De score term is 1 als 0,5 ≤ fGC ≤ 0,7, 0 als fGC > 0,7 of fGC < 0,4 en (0,5 – fGC)/0,1 als 0,4 ≤ fGC < 0,5.
-
3 ‘- end stability-score term 1: Er zijn twee scoretermen gedefinieerd voor 3 ‘ – end stability. De eerste term is 0 als de laatste drie basen van de primer volledig bestaan uit As (adenines) en Ts, (thymines) en 1 anders.,
-
3 ‘ – end stability-score term 2: de tweede score term is 0 als de laatste 5 basen meer dan 3 Cs of Gs bevatten, en 1 anders.
-
homopolymeren: een homopolymeer is een sequentie van identieke nucleotiden. De score term is 1 als er geen homopolymeren langer dan 4 nt, 0,5 als er geen homopolymeren langer dan 5 nt, en 0 als er ten minste een homopolymeer langer dan 5 nt in de sequentie.
-
zelf-dimeren: de aanwezigheid van zelf-complementaire gebieden tussen paren van identieke primers kan leiden tot het ontstaan van zelf-dimeren., Gezien het maximum aantal overeenkomsten in een gap-free alignment tussen een primer met zijn omgekeerde complement, maxM, is de score term 1 als maxM ≤ 8, 0 als maxM ≥ 11 en (11 – maxM)/3 als 8 < maxM < 11.
-
haarspelden: een haarspeld kan worden gevormd in aanwezigheid van zelf-complementariteit binnen de primer sequentie, vooral aan het 3′ – einde., De score term is 0 als, voor ten minste één gap-vrije uitlijning tussen de primer en het omgekeerde complement van zijn 3′-einde, zowel de laatste nucleotide en 3 of meer van de 4 voorafgaande nucleotiden overeenkomen, en 1 anders.
De drie scoreborden voor primer-set-paren zijn als volgt gedefinieerd:
-
Smelttemperatuurbereik: het smelttemperatuurbereik ΔTm van een primer-set-paar wordt berekend als het maximum minus het minimum van de smelttemperaturen van alle primers in het stelpaar., De scoreterm is 1 indien ΔTm ≤ 3, 0 indien ΔTm ≥ 5 en (5-ΔTm)/2 Indien 3 < ΔTm < 5.
-
dimeren: we beschouwen het maximum aantal overeenkomsten maxM over alle mogelijke uitlijningen tussen alle mogelijke combinaties van vooruit en achteruit primers van een primer-set-pair. De score term is 1 als maxM ≤ 8, 0 als maxM ≥ 11 en (11-maxM)/3 als 8 < maxM < 11.,
-
ampliconlengtebereik: vanwege de bekende vermindering van PCR-efficiëntie met toenemende ampliconlengte , willen we dat de lengtes van de gegenereerde ampliconen in een smal bereik liggen. We willen vooral amplicons veel korter dan de doellengte vermijden, omdat ze overversterkt zouden zijn ten opzichte van de anderen. We willen echter een klein deel van de uitschieters kunnen tolereren, om te voorkomen dat potentieel waardevolle primer-set-paren worden bestraft door slechts een paar zeldzame sequenties., Gegeven een representatieve set van bacteriële 16S-sequenties, van nu af aan “referentieverzameling” genoemd, beschouwen we het verschil Δamplen tussen de mediaan en het eerste percentiel van ampliconlengtes over alle mogelijke ampliconen, gevormd door alle combinaties van voorwaartse en omgekeerde primers van het setpaar te matchen met de referentieverzameling. De scoreterm is 1 indien Δamplen ≤ 50 nucleotiden, 0 indien Δamplen ≥ 100 en (100-Δamplen)/50 indien 50 < Δamplen < 100.,
de keuze van de scorecriteria en de standaarddrempel zijn gebaseerd op eerdere literatuur . Echter, zowel de drempels en de fuzzy tolerantie intervallen kunnen worden ingesteld door de Gebruiker anders dan de standaard en volgens zijn / haar experimentele behoeften door het specificeren van de gewenste waarden als input parameters bij het aanroepen van de command line tool.
Coverage
De coverage score wordt gedefinieerd als het aantal 16S-sequenties dat overeenkomt met ten minste één primer., Gezien de sequenties van een primer en van een bacteriële 16S, definiëren we zaad de laatste 5 nucleotiden aan het 3′-einde van een primer en we beschouwen een 16S-sequentie als geëvenaard door de primer als er een gebied van de 16S-sequentie bestaat dat overeenkomt met I) het zaad van de primer precies; en ii) de rest van de primer met maximaal 2 mismatches . Een 16S-reeks van een referentieset wordt geacht te zijn gedekt door een primer-set-pair indien ten minste één vooruit-en één achteruitprimer in het primer-set-pair overeenkomen met de sequentie., Aangezien de PCR-efficiëntie afneemt met de ampliconlengte, leggen we nog een beperking op: gegeven een primer-set-pair en een referentieset van 16S-sequenties, schatten we de doelampliconlengte in als de mediaan van de lengtes van alle ampliconen die worden verkregen door alle combinaties van vooruit-en achteruitprimers van het primer-set-pair te matchen met de referentieset. Wij beschouwen dan als niet behandelde alle 16S-referentieopeenvolgingen waarvan de ampliconlengte meer dan 100 nucleotiden (of langer of korter) van de doellengte verschilt.,
Matching-bias
gegeven een referentieset van 16S-sequenties en een primer-set-paar, meet de derde optimalisatiescore de variabiliteit van het aantal combinaties van vooruit-en achteruitprimers die overeenkomen met elke 16S-referentiesequentie. De variabiliteit van de dekking door matching bias moet tot een minimum worden beperkt, of ten minste worden meegerekend, wanneer het onderzoek bedoeld is om de relatieve abundanties van de verschillende bacteriesoorten te kwantificeren, vanwege de amplificatie bias ten opzichte van de soorten die door meer combinaties van voorwaartse en omgekeerde primers worden bestreken., Als maat voor matching-bias, gebruiken we de variatiecoëfficiënt van de dekking over de doelsequenties, berekend als de standaardafwijking over het gemiddelde van het aantal combinaties die overeenkomen met elke reeks.
Referentieset van 16S-sequenties, voorbereiding en annotatie
om de drie bovenstaande scores te optimaliseren, vertrouwen we op een representatieve set van bacteriële 16S-sequenties uit een openbare 16S-sequentiedatabase, GreenGenes ., De GreenGenes 16S sequentiedatabase is georganiseerd in Operational Taxonomic Units (OTUs), dat zijn geneste clusters van sequenties in de database, georganiseerd op verschillende niveaus van Inter-cluster gelijkenis. Voor elk niveau van gelijkenis wordt aan elke cluster een referentiesequentie geassocieerd, die maximaal vergelijkbaar is met alle andere sequenties in hetzelfde cluster . De reeks referentiesequenties kan dus worden beschouwd als een representatieve subset van de volledige sequentiedatabase, steeds nauwkeuriger voor het verhogen van niveaus van intercluster gelijkenis (en, dus, aantal referentiesequenties)., We kozen voor een 85% vergelijkbaar niveau tussen clusters als een goede afweging tussen representativiteit en complexiteit, overeenkomend met een set van 5088 representatieve sequenties die gebruikt worden om de optimalisatiecriteria te beoordelen.
hoewel zeer gevoelig in het annoteren van de bacteriën en Archaea domeinen, is de greengenes taxonomie niet ontworpen om sequenties te onderscheiden die behoren tot eukaryoten of virussen., Om deze reden hebben we besloten om 16S bacteriële sequenties opnieuw te annoteren door gebruik te maken van de oorspronkelijke NCBI taxonomie om, onder de representatieve sequenties, alleen degenen die behoren tot het Bacteriedomein nauwkeurig te identificeren. Aangezien domein informatie ontbreekt in de NCBI annotatie voor ongeveer 20% van de sequenties, ontwierpen we een ad hoc procedure om bacteriële sequenties tussen deze te identificeren. De procedure wordt in detail beschreven in de aanvullende materialen (zie aanvullend dossier 1)., We hebben er conservatief voor gekozen om alleen de geannoteerde sequenties als bacteriën te beschouwen, zowel in onze gecureerde, NCBI-gebaseerde annotatie als in de originele GreenGenes annotatie. Dit resulteerde in een reeks 4573 representatieve 16S opeenvolgingen behorend tot het Bacteriedomein.,
Optimalisatiealgoritme
aangezien het probleem van optimale primerskeuze de gelijktijdige optimalisatie van verschillende concurrerende scores vereist, kan het worden gegoten als een multi-objectief optimalisatieprobleem, waarbij de zoekruimte de verzameling is van alle mogelijke primer-set-paren en een scorefunctie, of optimalisatiecriterium, kan worden gedefinieerd om de efficiëntie en dekking te maximaliseren en matching-bias te minimaliseren., Wanneer meer dan één criterium tegelijkertijd moet worden geoptimaliseerd, maar de te optimaliseren doelstellingen tegenstrijdig zijn, is men meestal niet geïnteresseerd in een enkele oplossing, maar in de set van Pareto optimale oplossingen, dat wil zeggen in de set van oplossingen waarvoor geen van de doelstellingen kan worden verbeterd zonder ten minste een ander doel op te offeren ., Het resultaat van multi-objective optimalisatie is niet langer een unieke optimale primer-set-pair, zoals bij single-objective optimalisatie, maar eerder een verzameling primer-set-pairs die niet slechter zijn dan een andere primer-set-pair en strikt beter volgens ten minste één van de criteria. Meer precies, voor de tri-objective optimalisatie probleem van het maximaliseren van de efficiëntie (E) en dekking (C) optimalisatie scores en het minimaliseren van de matching-bias (M) score, zoals gedefinieerd in de vorige sectie, kandidaat primer-set-paren worden geëvalueerd volgens een objectieve functie vector f = (f E ; f C ; fM)., Gegeven twee primer-set-paren p en p’, zeggen we dat p domineert p ‘(p ≺ p’) dan en alleen als f (p) ≠ f (p’), fE (p) ≥ fE (p’), fC (p) ≥ fC (p’) en fM (p) ≤ fM (p’). Als er geen p ‘zo bestaat dat p’ ≺ p, wordt het primer-set-pair p Pareto-optimal genoemd. In deze context is het doel van optimal primers choice het bepalen (of benaderen) van de verzameling van alle Pareto-optimale primer-set-paren, waarvan het beeld in de tri-objectieve ruimte het Pareto-front wordt genoemd .
om het optimale Pareto-front te zoeken vertrouwen we op de tweefasige iterated best improvement local search approach voorgesteld door Dubois-Lacoste et al., en effectief uitgebuit in Sambo et al. en Borrotti et al. voor een optimaal multi-objectief ontwerp van experimenten.
lokale zoekopdracht begint met een initiële oplossing en verfijnt deze iteratief door kleine lokale veranderingen toe te passen en elke keer hun effect op de kwaliteit van de oplossing te beoordelen; het stopt wanneer geen verdere lokale veranderingen de oplossing kunnen verbeteren. Het proces wordt herhaald vanuit verschillende uitgangspunten en de beste oplossing ooit gevonden wordt teruggegeven, als een benadering van de onbekende optimum ., Een gemeenschappelijke uitbreiding van de lokale zoekopdracht naar de multi-objective case is om te beginnen met een set van initiële Pareto oplossingen, monster een oplossing van de voorzijde, optimaliseren met lokale zoekopdracht een willekeurige scalarisatie van het probleem, dat wil zeggen een lineaire combinatie van de optimalisatie scores met gewichten verzameld uniform willekeurig uit de eenheid simplex, updaten van de Pareto front en itereren totdat een beëindiging voorwaarde is voldaan .,
de procedure MULTI-OBJECTIVE-SEARCH, waarvan de pseudo-code wordt gerapporteerd in wat volgt, ontvangt als input het gewenste bereik van ampliconlengtes( rangeampllen), een representatieve set van 16S-sequenties (repset), een initiële set van (mogelijk gedegenereerde) primerparen (init) en het aantal herstarts (nres). De procedure begint met het selecteren van init alle mogelijke primerparen met de gewenste ampliconlengte, primerlengte( tussen 17 en 21 nucleotiden) en doeldomein (bacteriën of universeel).,
gedegenereerde primerparen worden geconverteerd naar niet-gedegenereerde primer-set-paren en toegevoegd aan een archief. De procedure herhaalt vervolgens de meeste keren, waarbij telkens een willekeurige primer-set-pair pstart van het Pareto-front wordt bemonsterd en een willekeurige vector α van relatieve gewichten voor de optimalisatiescores, waarbij gewichten uniform worden bemonsterd uit de eenheid simplex; de procedure Lost vervolgens een scalarisatie op van het multi-objectieve probleem, dat wil zeggen een enkel-objectief probleem waarbij een lineaire combinatie van de drie doelstellingen met relatieve gewichten α wordt gemaximaliseerd, en voegt het resultaat toe aan het archief., Om dit doel, efficiëntie, dekking en matching-bias scores worden genormaliseerd tot hun maximum, zodat elke genormaliseerde score varieert tussen 0 en 1, en matching-bias wordt opnieuw gedefinieerd als 1 – matching-bias, zodat het kan worden gemaximaliseerd als de andere scores., amplicon lengte in rangeamplen
2 Toevoegen aan het archief van de overeenkomstige niet-ontaarde primer-set-paren
3 voor r = 1 tot nrest
4 pf = PARETO-FRONT(archief)
5 Monster pstart van pf
6 Monster α van 3, met Σi ai = 1
7 p = LOCAL-SEARCH(pstart , α , repset)
8 Add p archiveren
9 return archief
Single-objective optimalisatie is verkregen met behulp van de Beste Verbetering Local Search algoritme : het starten van een eerste primer-set-pair, de LOCAL-SEARCH algoritme doorloopt de primers van de set-pair en, voor elke primer, scans zijn buurt, ik.,e.de verzameling van alle mogelijke lokale verstoringen van de primer. Lokale verstoringen bestaan uit alle mogelijke salto ‘ s van één nucleotide (waarbij de drie andere mogelijke basen worden beoordeeld) en alle mogelijke toevoegingen en verwijderingen van één nucleotide aan de extremiteiten., De zoekopdracht in de oplossingsruimte wordt uitgevoerd met de beste verbetering lokale zoekbenadering: na het genereren van de hele buurt zoals hierboven uitgelegd, selecteert het algoritme de beste verstoring van de buren, start het om de volgende buurt te genereren, en herhaalt het totdat het een oplossing bereikt waarvoor geen betere verstoring van de buren kan worden gevonden. De procedure eindigt wanneer er geen verdere lokale verbeteringen kunnen worden toegepast op een primer in de primer-set-pair., De gewogen SCORE-functie berekent de drie optimalisatiescores uit een primer-set-pair en de representatieve set, vermenigvuldigt de scores met de relatieve gewichten α en geeft de som van de resultaten terug.
We ontwikkelden een software tool die onze aanpak implementeerde en brachten het uit onder de GNU General Public Licence als de mopo16S software tool (Multi-Objective Primer Optimization for 16S experiments) op http://sysbiobig.dei.unipd.it/?q=Software#mopo16S., mopo16S is geà mplementeerd als een multithreading C++ command line tool; de software tool vertrouwt op de efficiënte algoritmen en datastructuren van de seqan bibliotheek en maakt gebruik van de openMP bibliotheek voor multithreading.,>
4 voor i = 1 |pcurr|
5 pri = i-de primer van pcurr
6 voor pnew = pcurr met alle mogelijke toevoegingen en verwijderingen van een basis op de extremiteiten en de vervangingen van een basis van pri
7 scorenew = GEWOGEN SCORE(pnew , α , repset)
8 als scorenew > scorebest
9 pbest = pnew
10 scorebest = scorenew
11 pcurr = pbest
12 terug pcurr
State-of-the-art primer paren als eerste oplossingen
We hebben gekozen voor de online database probeBase als een bron van kandidaat-primer-set-paren om te worden gebruikt als initiële oplossingen door mopo16S., De database bevat meer dan 500 paren (mogelijk gedegenereerde) primers en rapporteert voor elke primer zijn sequentie, de streng en positie waarop het overeenkomt met het referentie 16S Escherichia coli gen, en het doeldomein waarvoor het is ontworpen (zijnde ofwel bacteriën, Archaea of universeel).,
gegeven een gewenst bereik voor de doelampliconlengte als input van mopo16S, selecteerden we alle primerparen uit de probeBase-database die voldoen aan alle volgende eigenschappen:
-
Ampliconlengte in het gewenste bereik;
-
lengte van beide primers groter dan of gelijk aan 17 nt en kleiner dan of gelijk aan 21 nt;
-
bacteriën of universeel doeldomein van beide primers.,
omdat onze aanpak is om te werken met sets van niet-gedegenereerde primers, in het geval van degeneraties in de vooruit-of de omgekeerde primer, vervangen we de gedegenereerde primer door een overeenkomstige set van niet-gedegenereerde primers, verkregen door alle mogelijke combinaties van waarden toe te kennen aan de gedegenereerde nucleotiden in de primer. Een voorbeeld van deze procedure wordt gegeven in Tabel 1.
we berekenden de drie scores voor elk van de primer-set-paren en identificeerden, onder deze, de primer-set-paren die het initiële Pareto front vormen.