Skip to content

allow oxDNA export when multiple helix groups are present #664

@dave-doty

Description

@dave-doty

Create a design with two helices groups (e.g., the 2-helix example design, then add a new helix group). Select Export --> oxDNA. The following exception occurs:

Uncaught Error: Invalid argument(s): cannot access Design.helices_view_order when groups are used. Access group.helices_view_order for each group instead.
    at Object.throw_ [as throw] (dart_sdk.js:4850)
    at design$._$Design.__.default_group (design.dart:710)
    at design$._$Design.__.get grid (design.dart:722)
    at design$._$Design.__.get grid [as grid] (design.g.dart:229)
    at Object.oxdna_get_helix_vectors (oxdna_export.dart:214)
    at Object.convert_design_to_oxdna_system (oxdna_export.dart:309)
    at Object.to_oxdna_format (oxdna_export.dart:34)
    at DevToolsMiddleware.new.oxdna_export_middleware (oxdna_export.dart:19)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.zoom_speed_middleware (zoom_speed.dart:15)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.system_clipboard_middleware (system_clipboard.dart:36)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.autostaple_and_autobreak_middleware (autostaple_and_autobreak.dart:20)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.periodic_design_save_local_storage_middleware (periodic_save_design_local_storage.dart:14)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.edit_select_mode_change_middleware (edit_select_mode_change.dart:32)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.check_reflect_strands_legal_middleware (check_mirror_strands_legal.dart:59)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.invalidate_png_middleware (invalidate_png.dart:14)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.adjust_grid_position_middleware (adjust_grid_position.dart:14)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.insertion_deletion_batching_middleware (insertion_deletion_batching.dart:38)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.selections_intersect_box_compute_middleware (selections_intersect_box_compute.dart:78)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.reselect_moved_copied_strands_middleware (reselect_moved_copied_strands.dart:73)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.reselect_moved_dna_ends_middleware (reselect_moved_dna_ends.dart:38)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.export_dna_sequences_middleware (export_dna_sequences.dart:10)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.dna_ends_move_start_middleware (dna_ends_move_start.dart:48)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.helix_positions_set_based_on_crossovers_middleware (helices_positions_set_based_on_crossovers.dart:29)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.helix_hide_all_middleware (helix_hide_all.dart:10)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.helix_grid_offsets_middleware (helix_grid_change.dart:51)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.helix_idxs_change_middleware (helix_idxs_change.dart:23)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.helix_change_offsets_middleware (helix_offsets_change.dart:50)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.helix_group_move_start_middleware (helix_group_move_start.dart:42)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.group_remove_middleware (group_remove.dart:26)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.helix_remove_middleware (helix_remove.dart:45)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.strand_create_middleware (strand_create.dart:12)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.assign_dna_middleware (assign_dna.dart:18)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.throttle_middleware (throttle.dart:27)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.example_design_selected_middleware (example_design_selected.dart:9)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.export_cadnano_or_codenano_file_middleware (export_cadnano_or_codenano_file.dart:17)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.load_file_middleware (load_file.dart:11)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.save_file_middleware (save_file.dart:11)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.export_svg_middleware (export_svg.dart:42)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.forbid_create_circular_strand_no_crossovers_middleware$ (forbid_create_circular_strand_no_crossovers_middleware.dart:88)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.move_ensure_all_in_same_helix_group_middleware (move_ensure_same_group.dart:21)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at middleware.dart:35
    at DevToolsMiddleware.new.local_storage_middleware (local_storage.dart:130)
    at DevToolsMiddleware.new.call (middleware.dart:39)
    at store.dart:255
    at Store.new.dispatch (store.dart:267)
    at DevToolsStore.new.dispatch (store.dart:74)
    at over_react_redux.dart:513
    at Object._checkAndCall (dart_sdk.js:5060)
    at Object.dcall (dart_sdk.js:5065)
    at menu._$$MenuProps$JsMap.new.ret (dart_sdk.js:57948)
    at menu.dart:824
    at Object._checkAndCall (dart_sdk.js:5060)
    at Object.dcall (dart_sdk.js:5065)
    at ret (dart_sdk.js:57948)
    at Object.current (react-bootstrap.js:7114)
    at react-bootstrap.js:3204
    at handleClick (react-bootstrap.js:3491)
    at HTMLUnknownElement.callCallback (react-dom.development.js:657)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:677)
    at invokeGuardedCallback (react-dom.development.js:696)
    at invokeGuardedCallbackAndCatchFirstError (react-dom.development.js:705)
    at executeDispatch (react-dom.development.js:1585)
    at processDispatchQueueItemsInOrder (react-dom.development.js:1585)
    at processDispatchQueue (react-dom.development.js:1585)
    at dispatchEventsForPlugins (react-dom.development.js:1587)
    at react-dom.development.js:1642
    at batchedEventUpdates$1 (react-dom.development.js:3772)
    at batchedEventUpdates (react-dom.development.js:602)
    at dispatchEventForPluginEventSystem (react-dom.development.js:1642)
    at attemptToDispatchEvent (react-dom.development.js:1029)
    at dispatchEvent (react-dom.development.js:1007)
    at unstable_runWithPriority (scheduler.development.js:651)
    at runWithPriority$1 (react-dom.development.js:2063)
    at discreteUpdates$1 (react-dom.development.js:3773)
    at discreteUpdates (react-dom.development.js:602)
    at dispatchDiscreteEvent (react-dom.development.js:997)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingclosed in devIndicates issue is closed in the dev branch, available at: https://scadnano.org/dev/high prioritySomething cruicial to get working soon.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions