GslCore icon indicating copy to clipboard operation
GslCore copied to clipboard

FEA: representation for flanking DNA during construction

Open daz10000 opened this issue 5 years ago • 1 comments

Flanking DNA

GSL typically models just the designed DNA (e.g. locus, promoter gene terminator constructs), but during the process of construction it is very common to package the design into a larger piece of DNA e.g. typically a plasmid construct, at which point there are flanking DNA sequences upstream and downstream of the design. We wish to provide some system for describing the richer representation, without completely breaking the separation between design and implementation.

Proposal

  • Introduce a syntax for specifying a packaging construct that can introduce adjacent DNA sequences.
  • Enable output generators to create the abstract design and/or the fully packaged design

As an example implementation, the user could create a GSL function that takes a design as input, and returns a more elaborate design with the flanking sequences. We would need a mechanism for flagging to the compiler that this function is needed for packaging design. It's not uncommon to have multiple packaging systems, so we would also need a mechanism at the design level for selecting the packaging function. Finally, output generators (that care) would need to decide whether to generate the abstract form of the DNA, the packaged form of the DNA or optionally both. This might be a compiler level decision, in which case we could somewhat abstract the problem away from the individual generators by making two passes through the output generation.

Example

let myPackager(assembly) =
    /ATGATGCTAGTCGTACGTAGTCAGT/ ; &assembly ; /TGATCGTACGTAGTCGTACGTACGTA/
end


#packager myPackager

uFOO5; oERG10 ; dFOO5

daz10000 avatar Apr 06 '19 23:04 daz10000