Skip to content

Latest commit

 

History

History
45 lines (35 loc) · 2.75 KB

README.md

File metadata and controls

45 lines (35 loc) · 2.75 KB

Code organization

Relationship between classes

The short story is that an AssemblyPlan contains Assemblies simulated using Mixes of DNA Fragments. Now for more details:

  • An AssemblyPlan is mostly a list of Assembly instances
  • A SequenceRepository provides parts sequences to simulate an Assembly.
  • Simulating an Assembly results in an AssemblySimulation, which contains:
    • Biopython SeqRecords of the predicted assembly constructs.
    • The list of AssemblyMix instances created during the simulation.
    • The list of AssemblyFlaw instances (errors and warnings) detected during the simulation.
  • Simulating an AssemblyPlan results in an AssemblyPlanSimulation which is mostly a list of AssemblySimulation instances.
  • An AssemblySimulation or AssemblyPlanSimulation can be written to a file using an AssemblyReportWriter

The biology of the different cloning techniques is implemented in the subclasses of Assembly and AssemblyMix.

DNA Cauldron Logo

AssemblyMix subclasses

An AssemblyMix contains a list of Fragment instances (which subclass BioPython's SeqRecord), and can be:

  • A StickyEndFragmentMix:
    • Such mixes contain a list of StickyEndFragment instances.
    • A StickyEndFragment has a StickyEndSeq (subclass of BioPython's Seq with additional StickyEnd sequences on the left and right).
    • Usable Subclasses include RestrictionLigationMix, Type2sRestrictionMix, BASICAssemblyMix. StickyEndFragments are generated by restriction mixes, for example by RestrictionLigationMix.
  • An HomologousFragmentMix:
    • Such mixes contain a list of HomologousFragment instances.
    • Mixes also require a HomologyChecker to detect homologies.
    • Subclasses include LCRAssemblyMix

DNA Cauldron Logo

DNA Cauldron Logo

Assembly subclasses

DNA Cauldron Logo