Euklids algoritme og hvordan den vil blive skrevet i CRN++. Kredit:Vasic et al.
Syntetisk biologi er et relativt nyt forskningsområde, som kan påvirke en række områder betydeligt, herunder biologi, nanofabrikation og medicin. En primær udfordring i dette nye felt er at indlejre beregninger i molekylære sammenhænge, i situationer, hvor elektroniske mikrocontrollere ikke kan indsættes. At gøre dette kræver udvikling af metoder, der effektivt kan repræsentere beregninger ved hjælp af molekylære komponenter.
Et team af forskere ved University of Texas i Austin har skabt CRN++, et nyt sprog til programmering af deterministisk (massevirkning) kemisk kinetik ved udførelse af beregninger. I deres papir, forudgivet den arXiv , forskerne skitserer dette nye sprog og bygger en compiler, der oversætter CRN++-programmer til kemiske reaktioner.
"En vigtig teknisk udfordring ved syntetisk biologi er at designe en kemisk controller, der interagerer i et cellulært miljø, at udføre en bestemt opgave, "Marko Vasic, en af de forskere, der har udført undersøgelsen, fortalte Tech Xplore . "For at opnå dette, det er nødvendigt både at konstruere syntetiske molekyler og programmere dem. Molekyler interagerer via kemiske reaktioner, og ved at programmere molekyler, vi mener at definere interaktionsregler (kemiske reaktioner) mellem dem."
Nylige forbedringer i DNA-syntese har åbnet op for nye, spændende muligheder for molekyle engineering. Imidlertid, forskere i syntetisk biologi skal først udtænke måder at designe interaktionsreglerne (kemiske reaktioner) på for at nå et ønsket mål. Hovedformålet med denne nylige undersøgelse var at designe et sprog på højere niveau, der kunne udtrykke adfærden af kemiske reaktioner på en mere intuitiv måde.
"I software engineering, en programmør skriver på et højt niveau sprog, der er let at forstå, og et sådant program er kompileret ned til maskinkoden, som er svært at forstå af et menneske, men forståeligt af en maskine, "Vasic forklarede. "Vi forsøgte at bygge en analogi i molekylær programmering ved at definere et højt niveau sprog, der er lettere at ræsonnere om og er kompileret ned til 'kompleks' kemi."
Output af compileren samt simuleringsresultater for CRN++ programmet. Kredit:Vasic et al.
CRN++ er baseret på to ideer:modularitet og brugen af en oscillator. Modularitet betyder, at sproget omfatter et sæt kemiske reaktioner kaldet moduler, der kan sammensættes uden interferens mellem forskellige sæt af reaktioner. For at opnå dette, forskerne kortlagde grundlæggende operationer af CRN++ til disse moduler. De brugte også en kemisk oscillator til tidsmæssig bestilling, hvilket gjorde det muligt for dem at oversætte ordnede imperative kommandoer af sproget til kemi.
"Så vidt vi ved, vi er de første til at levere et imperativt programmeringssprog, der overholder kemiske reaktionsnetværk, " sagde Vasic. "Vi har åbnet vores kode, inklusive CRN++, samt simuleringsramme, da vi håber, at dette vil gøre det lettere for forskere at afprøve nye tilgange, og dermed fremføre området yderligere."
Forskerne evaluerede CRN++ og beviste dets gennemførlighed på en række algoritmer til diskret og reel værdiberegning. Det nye sprog kan også nemt udvides til at understøtte nye kommandoer eller implementeringer, gør det til det ideelle grundlag for udvikling af mere avancerede molekylære programmer.
"Programmer oversat fra CRN++ til kemi indeholder en vis mængde fejl, som kan være meget lav i nogle klasser af programmer, men kan være høj eller bygge op over tid i andre, " sagde Vasic. "Vi planlægger derfor at undersøge fejlkilder yderligere og designe programmer, der garanterer, at fejl ikke opbygges over visse grænser."
Vasic og hans kolleger søger også at udvide deres programmeringssprog ved at inkludere nye moduler, defineret som sæt af kemiske reaktioner, der kan udføre grundlæggende operationer.
© 2018 Tech Xplore