Skip to content

Class Structure for DNA and DNA Assembly #29

@WilliamIX

Description

@WilliamIX

Currently Component is the superclass of DNA and DNAassembly. DNA is then the superclass for each part-type (promoter, UTR, CDS, etc). These part types are then subclassed to specific kinds, eg "RepressablePromoter" which in turn are subclassed to specific parts eg "PTETPromoter". I suggest simplifying this scheme as follows:

Component is the superclass of DNA which is the superclass of DNAassembly (and other DNA objects).

Component is the superclass for a SubComponent class which is then the superclass for each part of an assembly. Parts should not be DNA pieces because in the event of degradation, the whole assembly should be degraded, not just one piece of it. Additionally, SubComponent will lose some of the functionality of component in order to help keep loops and other issues from occurring during compilation. Basically, as a design rule I think it is preferable not to have nested components or nested mechanisms.

Finally, I think specific kinds of Parts, such as PTETpromoter should not be their own classes. PTET is a repressible promoter with a specific name and specific parameters that can be looked up in a data file. This has a number of advantages including minimizing the total number of classes, not using eval statements to convert strings into class names (a great way to get errors), and recognizing that classes store functionality while parameter values store specifics like rates.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions