Skip to content
James Parkin edited this page Dec 15, 2017 · 2 revisions

Introduction

Piperine designs DNA sequences from text files that define an abstract chemical reaction network. We have shown that this program can be used to automate the design of DNA molecules that, when properly prepared into complexes and mixed in a test-tube, will emulate the behavior of a dynamical CRN.

In order to compile a CRN definition into DNA sequences, Piperine needs to know how abstract chemical reactions are recreated using DNA molecules. We call a "translation scheme" any algorithm that takes in an abstract chemical reaction or a list of such reactions and returns a domain-level description of DNA molecules that can emulate the theoretical system. Piperine is packaged with two such translation schemes described in references [1] and [2].

A domain-level representation of DNA specifies the length of each DNA molecule and a set of domain complementarity rules. This representation may also specify the nucleotide identities or ambiguity codes at specific locations. Piperine then calls methods in the peppercompiler package to perform sequence symmetry minimization on the domain-level representation. Sequence symmetry minimization ensures adherence to complementarity constraints while minimizing the prevalence of undesirable sequence motifs, spurious complementarity between domains, and sequence features within DNA molecules that may support incorrect secondary structure.

After generating a set of sequences defining a set of molecules and complexes, Piperine then calculates a set heuristic quality scores. When multiple sets are generated, Piperine performs a variety of score and score-rank comparisons. These list of comparisons includes: rank sum, worst rank, fractional excess, percent badness, and more. Fractional excess and percent badness both transform a column of raw heuristic scores into values that are in proportion to the best score in that column. The fractional excess of a sequence set under a given heuristic function is the difference between its score and the best score normalized to the best score. Percent badness is calculated by a linear transformation of the raw scores such that the transformed values fall between 0 and 100, corresponding to the best and worst scores observed.

We do not have a model that relates heuristic scores to specific changes in strand displacement behavior, nor one to assign relative weight the heuristics, so we instead consider a large variety of comparisons and trust that the optimal sequence set will be overrepresented in the comparisons. Therefore, we perform additional "metarank" analyses, additional rank order measures of the order statistics of the heuristic functions. The default behavior of Piperine is to select the candidate set with the lowest sum-of-metaranks as the best of the batch provided to the selector routine.

References

  1. Srinivas, N., Parkin, J., Seelig, G., Winfree, E. & Soloveichik, D. Enzyme-free nucleic acid dynamical systems. Science (80-. ). 358, (2017).
Clone this wiki locally