Skip to content

v0.13.0

Compare
Choose a tag to compare
@github-actions github-actions released this 21 Nov 15:38
ba65a65

Improved Batch Editing

can select many objects and edit/delete them at once, when objects are:

scadnano-batch-deletion-actual

  • loopouts/crossovers (could delete before, now can convert between them, or change loopout lengths, in batch)
    scadnano-batch-crossover-loopout

  • modifications
    batch-modification

  • 5'/3' ends and add same modification to all of them at once
    scadnano-batch-modification-create

Rope Select Mode

scadnano-rope-select

Users can now draw an arbitrary non-self-intersecting polygon to select many items at once

Right click to edit insertion length

scadnano-modification-right-click

Previously this would be done by using (s)elect mode and clicking on the insertion. Now, users must right click on the insertion.

Links to older versions

scadnano-older-versions

Starting with v0.12.1, older versions of scadnano will hosted at scadnano.org/{version number}. This might be useful in case an update breaks some functionality.

Swap x and z coordinates

This change should not affect any users using only the web interface, but may be a breaking change for anyone using the Python scripting library. Python scripts using the "none" grid and specifying 3D coordinates will need to be rewritten so that x and z coordinates are swapped.

Previously, positive x moved right in the main view and into the screen in the side view, and positive z moved right in the side view and out of the screen in the main view. Now these are swapped.

If you are curious why this was done, read here: #488

Commits

  • [a3c6b33]: added whitespace between IDT name displayed in footer and Strand name (David Doty) #507
  • [4f9121f]: Update dart.yml (Benjamin Lee) #485
  • [b7731f5]: Update CONTRIBUTING.md (David Doty) #507
  • [6454166]: Fixes #473; side cursor title use yz instead of xy (Benjamin Lee) #486
  • [028162c]: Fixes #473; side cursor title use zy instead of xy (Benjamin Lee) #486
  • [d75a989]: Performance improvement for strand selection (Benjamin Lee) #487
  • [4c50667]: fixed bug with setting HTML id of modification that disabled right-click context menu for some of them (David Doty) #507
  • [cc44388]: fixed bug in converting from gridless 3D positions to square grid positions (David Doty) #507
  • [cc9e10b]: added unit test for util.position3d_to_grid_position (David Doty) #507
  • [36d27dd]: when adding modification, dialog remembers choice of modification display text, id, and idt text (depending on type of mod: 5', 3', or internal), so that it does not need to be typed in the next dialog. (useful for adding several copies of the same modification to several places in the design) (David Doty) #507
  • [cf4ab54]: removed string id as option to set when adding or editing modification; now it automatically uses the IDT text field as the ID. (David Doty) #507
  • [9d681a1]: added ability to convert all selected crossovers to loopouts via right-click context menu (haven't yet implemented changing all loopout lengths at once, including setting length to 0 to convert back to crossover) (David Doty) #507
  • [c5625b2]: Fixes #488; swap position x z coordinate (Benjamin Lee) #499
  • [8e5bf03]: fixed bug allowing null ModificationInternal.allowed_bases in constructor (David Doty) #507
  • [421b66f]: closes #493 ; displays more nicely loopouts on a single helix between two domains in the same direction, so it looks more like an insertion (David Doty) #507
  • [0191ce1]: can select many loopouts and change all of their lengths at once (or convert all to crossovers by setting length 0) (David Doty) #507
  • [2eb1bc4]: updated pubspec.yamp to fix analyzer error after upgrading to Dart 2.10 (David Doty) #507
  • [8b9a2b7]: fixed bug where helix groups were not properly updated after changing a helix's index (David Doty) #507
  • [5aff64c]: Update helices_reducer.dart (David Doty) #507
  • [6201886]: Update pubspec.yaml (David Doty) #507
  • [4879318]: Update pubspec.yaml (David Doty) #507
  • [ed98954]: changed IDT export plates code to put last 24 strands on last 96-well plate if necessary (since minimum per plate is 24), and similarly for 96 strands per 384-well plate. (David Doty) #507
  • [758ec7d]: fixed bug where deletions/insertions not updated properly when reflecting strands horizontally. (David Doty) #507
  • [b68b9f4]: closes #494; allow deletions/insertions to be added to all domains in a HelixGroup occupying the clicked offset, which helps with implementing twist correcting-deletions for flat square-lattice origami, for instance (David Doty) #507
  • [2a6e225]: fixed unit tests to account for new "all_helices" field in DeletionAdd and InsertionAdd (David Doty) #507
  • [8112c43]: closes #501; make deletions/insertions selectable/deletable; this makes it easier to select large groups of deletions or insertions and delete them, instead of clicking one at a time (David Doty) #507
  • [70e6468]: fixed bug when removing only deletions or only insertions (David Doty) #507
  • [1bfb660]: closes #504; add right-click context menu to insertion to allow editing insertion length; When multiple insertions are selected, this adjusts all of their lengths. (David Doty) #507
  • [113355f]: added discussion of new select/remove capability for insertions/deletions (David Doty) #507
  • [bc5bc99]: Fix helix position set on crossover for #488 (Benjamin Lee) #499
  • [2066621]: Merge branch 'dev' into dev-issue-488 (Benjamin Lee) #499
  • [e3050a5]: closes #505; can select many modifications and edit/delete them in batch. Deleting can either be done by pressing the delete key, or by right-clicking and selecting "Remove modification" (both will delete everything that is selected, which is only modifications, since nothing else is selectable when modifications are selectable) (David Doty) #507
  • [73cc42d]: closes #502; can select many 3' ends or 5' ends and add same modification to all of them (David Doty) #507
  • [8c9a614]: Fixes #500; freeze versions in all GitHub actions (Benjamin Lee) #506
  • [e30040a]: Merge branch 'dev' into dev-issue-488 (Benjamin Lee) #499
  • [da634a0]: Revert pubspec version to 2.9 for #500 (Benjamin Lee) #506
  • [3802a5d]: Update web examples (Benjamin Lee) #499
  • [d8af1fc]: Fix analyzer issue (Benjamin Lee) #506
  • [8bc218e]: Set build_runner to ^1.10.1 (Benjamin Lee) #506
  • [1e77fe2]: updated README with instructions on batch editing/adding/deleting modifications/insertions/deletions as in issues #502, #502, #504, #505 (David Doty) #507
  • [8039cc0]: Fixes #490; store old versions of scadnano at version-specific URLs (Benjamin Lee) #508
  • [6a12f7d]: Update README.md (David Doty) #507
  • [6aa32c9]: added note to README explaining how to simulate loopouts on end of a strand using 5'/3' modifications (David Doty) #507
  • [4f69b72]: Add links to older version (Benjamin Lee) #510
  • [7b959f4]: closes #364; add "rope select" mode to select items by drawing an arbitrary polygon (David Doty) #511
  • [0834bcd]: Update README.md (David Doty) #507
  • [15cfaf3]: Ctrl+A now selects all selectable items while in rope select mode (David Doty) #507
  • [3c13379]: closes #513; unselect selected objects when switching from non-end select mode to "all ends" select mode (David Doty) #507
  • [fa2c3d8]: Update README.md (David Doty) #507
  • [d19ac32]: Add dropdown right component for making sub menus (Benjamin Lee) #510
  • [6c13377]: removed statement from README recommending single-stranded Domains for extensions on the end of a strand, since 5'/3' modifications are now the recommended way to do that (David Doty) #507
  • [2879ffc]: Update README.md (David Doty) #507
  • [22b1065]: Update README.md (David Doty) #507
  • [ee8301e]: Update README.md (David Doty) #507
  • [889bdc8]: rearranged other versions in dropdown menu (David Doty) #507
  • [7880ad8]: Merge branch 'master' into dev (David Doty) #507
  • [4ae14c6]: re-arranged list of versions in constants.dart to make an explicit list of older versions and add CURRENT_VERSION to it (more DRY not to write the same current version twice) (David Doty) #507
  • [319524c]: fixed bug where rope selections were made even if rope polygon did not have >= 3 points ; now it must have >= 3 points for anything to get selected (David Doty) #507
  • [dc4ada7]: fixes #509; display hairpins properly when 5' end is on reverse domain (David Doty) #507
  • [c207995]: fixed bug in menu not having unique React key for link to dev site (David Doty) #507
  • [3b55689]: fixed bug in loading null design (David Doty) #507
  • [c1180d1]: modified export to use Strand.idt.name or Strand.name if they exist, before going with default (David Doty) #507
  • [59a2638]: fixes #519; don't use IDT text as key for modifications if two types of modifications have the same IDT text (David Doty) #507
  • [8484ca0]: added v0.12.2 to list of older versions to link to in Help menu (David Doty) #507
  • [62fb2c7]: added note in menu on link to current version (e..g, https://scadnano.org/v0.13.0) that it is the current version (David Doty) #507