There are several new features in this release.
Display strand names, Issue 576
If strands are assigned names, then can be optionally displayed in scadnano. They are displayed in the same location as the 5'-most domain name when domain names are displayed.
Copying strands to system clipboard, Issue 536
When strands are copied, this now puts some text on the system clipboard with details about the strands. This was originally done as a feature request (536) to make it easier to gather information about a few strands from a large design and paste them into a text file to visually inspect. However, it also allows us to copy and paste strands between different instances of scadnano; see next feature.
The next few features can make it faster to create designs.
Strands can be copied from one instance of scadnano and pasted into another, Issue 590
Previously, when strands were copied, it only affected internal memory of a scadnano instance. Several scadnano instances (for example, open in different browser tabs) would have their own internal representation of copied strands. The only way to copy strands from one instance of design to another was to copy the strands, then load the new designs in the same running instance of scadnano, then paste them. (issue 520)
Now that strands are copied to the system clipboard, it is possible to copy strands from one design and paste them into another already open instance of scadnano with a different design. The exact rules governing how this works are a bit esoteric, since the two designs may not have any helix indices in common, for example, but it is similar to pasting from one HelixGroup to another (issue 249).
The first time you attempt to paste, the browser will issue a warning, because it needs your permission to access the operating system clipboard to read the information stored there when the strands were copied. Give it permission to read the clipboard.
**Caution:** Whenever there are changes to the design or UI settings, scadnano writes these into your browser's local storage. If you use the same browser to open two different instances of scadnano, they will be writing to the same place. If you want two open instances of scadnano really to have no effect on each other, the best way is to use two different browsers. (Since currently scadnano only supports Chrome and Firefox, those are the only two that could both be used.)
Join many selected ends by vertical crossovers, Issue 581
This can speed up adding many crossovers to a design, especially scaffold crossovers in an DNA origami design. See 581 for details.
Autopaste, Issue 580
This idea was inspired by [ENSNano](http://www.ens-lyon.fr/ensnano/), which has a similar feature. If strands are copied and pasted, the translate "vector" is recorded (i.e., how many helices up or down were the pasted strands from the original, and how much did the offsets move, and did the forward/reverse orientation change). By pressing Ctrl+Shift+V, strands can be pasted again, with the new pasted positions automatically calculated to move along the same vector. This can speed up creating a large design from many repetitive strands. See #580 for details.
Commits
- [[474c087](https://github.com/UC-Davis-molecular-computing/scadnano/commit/474c087d2500bf63f7e0687b780a727c35c2ec44)]: added instructions for running scadnano offline to README and CONTRIBUTING (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[32db707](https://github.com/UC-Davis-molecular-computing/scadnano/commit/32db707aa2c2b6bfe67b00096b34a347021103b3)]: Deleted pyodide directory; takes up lots of room and we probably won't ever use it (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[03776aa](https://github.com/UC-Davis-molecular-computing/scadnano/commit/03776aa759980219438fb4a7aa8c3f55a764165b)]: Update CONTRIBUTING.md (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[2f6c855](https://github.com/UC-Davis-molecular-computing/scadnano/commit/2f6c855d56eedbb350b3c8016e950523f51e2b8f)]: Update CONTRIBUTING.md (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[4f3db7c](https://github.com/UC-Davis-molecular-computing/scadnano/commit/4f3db7cffecc0b67b05818e89409547ba23c519f)]: Update CONTRIBUTING.md (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[6e12f2b](https://github.com/UC-Davis-molecular-computing/scadnano/commit/6e12f2b2a168868ced1e1e391206cf868954c693)]: Fixes #536; copy strand details to clipboard as human-readable text (578) (Benjamin Lee) [578](https://github.com/UC-Davis-molecular-computing/scadnano/pull/578)
- [[e74a78a](https://github.com/UC-Davis-molecular-computing/scadnano/commit/e74a78ae61c23b5750093c7b01bb6b00ec321941)]: Bump version to 0.15.3 (Benjamin Lee) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[03a5aec](https://github.com/UC-Davis-molecular-computing/scadnano/commit/03a5aecf38d58d83e46679f982749a6029119476)]: added tip about Chrome extension "Downloads Overwrite Already Existing Files" to tutorial (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[67214c4](https://github.com/UC-Davis-molecular-computing/scadnano/commit/67214c4eb37646a87dfa1c0e521fa4f1f0a574ea)]: added table of contents to CONTRIBUTING (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[a51b8f3](https://github.com/UC-Davis-molecular-computing/scadnano/commit/a51b8f3e9cf0f5fbc0e795ea1f18ec84668470bc)]: closes #576: display strand names (David Doty) [582](https://github.com/UC-Davis-molecular-computing/scadnano/pull/582)
- [[79eba60](https://github.com/UC-Davis-molecular-computing/scadnano/commit/79eba608f126b5cbe7723091b981cbdd4fe4f2da)]: closes #581 ; add Edit menu item "Join selected ends by crossovers" (David Doty) [583](https://github.com/UC-Davis-molecular-computing/scadnano/pull/583)
- [[3706382](https://github.com/UC-Davis-molecular-computing/scadnano/commit/3706382a6e2adeaf27eafadf2ef766424015184a)]: rearranged JoinStrandsByMultipleCrossovers action to have no information about ends to join, to push that complex logic from view code into the reducer (David Doty) [#583](https://github.com/UC-Davis-molecular-computing/scadnano/pull/583)
- [[2e9dd06](https://github.com/UC-Davis-molecular-computing/scadnano/commit/2e9dd06861655c21bd4678e96bb1ad2351535f93)]: added basic (but incomplete) unit tests for JoinStrandsByMultipleCrossovers action (David Doty) [#583](https://github.com/UC-Davis-molecular-computing/scadnano/pull/583)
- [[c712bd9](https://github.com/UC-Davis-molecular-computing/scadnano/commit/c712bd922b6644f24be9cedacbb64a8dacafe066)]: refactored response to Ctrl+C to use Actions (previously was doing hacky updates of member variable of view/Design class) (David Doty) [#593](https://github.com/UC-Davis-molecular-computing/scadnano/pull/593)
- [[6cc04b9](https://github.com/UC-Davis-molecular-computing/scadnano/commit/6cc04b9a692dd07f1bf952f217012bd2cd86b1d1)]: closes #580; autopaste: paste strand with translation auto-calculated from last paste (David Doty) [593](https://github.com/UC-Davis-molecular-computing/scadnano/pull/593)
- [[da9cbd0](https://github.com/UC-Davis-molecular-computing/scadnano/commit/da9cbd0eff9b33f83290811b3049c0942fb22d24)]: beefed up unit tests for autopaste to test that pasted strands are in correct positions (David Doty) [#593](https://github.com/UC-Davis-molecular-computing/scadnano/pull/593)
- [[1e59160](https://github.com/UC-Davis-molecular-computing/scadnano/commit/1e59160da82494d51b8af2a003a1fe2f6e394dd5)]: fixed bugs related to keeping strand color when autopasting, and a bad assertion when pasting that caused a crash if no copy was just done, and invalid behavior where copy buffer is unecessarily cleared when pressing Esc (David Doty) [#593](https://github.com/UC-Davis-molecular-computing/scadnano/pull/593)
- [[87e056a](https://github.com/UC-Davis-molecular-computing/scadnano/commit/87e056a3a3102a5ccfb704b9586cf07b57038bc5)]: Update strands_copy_info_autopaste_reducer.dart (David Doty) [#593](https://github.com/UC-Davis-molecular-computing/scadnano/pull/593)
- [[972a7bc](https://github.com/UC-Davis-molecular-computing/scadnano/commit/972a7bc440c903377f1a64e705b463e93a7397c4)]: fixed ability to paste strands from one HelixGroup into another (David Doty) [#593](https://github.com/UC-Davis-molecular-computing/scadnano/pull/593)
- [[3378553](https://github.com/UC-Davis-molecular-computing/scadnano/commit/3378553c9ba038422676d50a64d5077b2b2efd7f)]: removed CopySelectedObjectTextToSystemClipboard action and just using CopySelectedStrands action now (David Doty) [#593](https://github.com/UC-Davis-molecular-computing/scadnano/pull/593)
- [[553dbe1](https://github.com/UC-Davis-molecular-computing/scadnano/commit/553dbe1c6d39649738d06a13d835e756fbeeaa74)]: fixed bug where strands could not be copied in rope select mode (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[4844b3a](https://github.com/UC-Davis-molecular-computing/scadnano/commit/4844b3a17669bda86d3c28f81643782047f1797a)]: Merge branch 'dev' into repeated-strand-paste-without-mouse-click (David Doty) [#593](https://github.com/UC-Davis-molecular-computing/scadnano/pull/593)
- [[2611e89](https://github.com/UC-Davis-molecular-computing/scadnano/commit/2611e899846908ce76c0c345bb033e95920e669d)]: fixed bug where strand, domain, and loopout names altered with web interface were not being saved (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[25fa451](https://github.com/UC-Davis-molecular-computing/scadnano/commit/25fa4519069062c2d5d9cd34a91c3744485ef8a9)]: closes #590 ; paste strands from separate instance of scadnano (David Doty) [593](https://github.com/UC-Davis-molecular-computing/scadnano/pull/593)
- [[17d3a4f](https://github.com/UC-Davis-molecular-computing/scadnano/commit/17d3a4f8fe1ca6561129d4ad4abc18690b8bbedb)]: updated some comment docs in actions.dart (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)
- [[54951dd](https://github.com/UC-Davis-molecular-computing/scadnano/commit/54951dd971e44151be8166fb6707956d59d25bf8)]: fixed bug where DNA ends and HelixGroups could not be moved by dragging (David Doty) [#594](https://github.com/UC-Davis-molecular-computing/scadnano/pull/594)