Scadnano

Latest version: v0.19.4

Safety actively analyzes 613755 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 15

0.19.4

Release notes

Changed type of `Design.to_oxview_format` from `dict` to `str` to keep convention with similar other methods such as `Design.to_oxdna_format`.

This is a breaking change, although the minor version number did not change. The method `Design.to_oxview_json` has the same functionality that `Design.to_oxview_format`, namely that it returns a JSON-serializable dict. Calling `json.dumps` on this dict produces the same output as `Design.to_oxview_format`.

0.19.3

Release notes

Mostly fixes this bug with oxView export: 297.

We jumped straight from v0.19.0 to v0.19.3 due to some testing that happened in the dev branch.


Commits
- a78b395: bumped version (David Doty) [299](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/299)
- 5cf25e3: changed parameter type of `Strand.set_domains` to allow `Extension`'s (David Doty) [299](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/299)
- 1128beb: added the required build section (RayBipse) [292](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/292)
- dcede52: Removed python.version (RayBipse) [293](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/293)
- 3d20590: Removed python.version and added back tools.python (RayBipse) [294](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/294)
- 4380042: Changed to use mamba and added python version requirement to environment.yml (RayBipse) [295](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/295)
- 21aa34a: Added pip packages used to environment.yml (RayBipse) [296](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/296)
- e5572ad: fixes 297: fix oxView export exception on Loopouts (David Doty) [298](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/298)
- a220c32: Update scadnano.py (David Doty) [299](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/299)

0.19.2

Release notes

Several bug fixes and a few new features:

Export to oxView format
The scadnano web interface can now export to the [oxView format](https://github.com/sulcgroup/oxdna-viewer/blob/master/file-format.md), which (like oxDNA files) can be read the tool [oxView](https://sulcgroup.github.io/oxdna-viewer/).

It has been possible for a while to export to the oxDNA format, but this is nicer just for visualizing scadnano structures in oxView, because

1. The oxDNA format has two files, whereas oxView has only one.
2. The oxView format includes some extra data such as which bases are paired, and what color strands are. This information is populated with the relevant scadnano data. Have the strands be the same color in each tool makes it easier to figure out which strand is which.

For example, this scadnano design:

![image](https://github.com/UC-Davis-molecular-computing/scadnano/assets/19274365/9ea59a72-8844-43f9-82d5-9040536e0a3d)

exports like this in oxView:

![image](https://github.com/UC-Davis-molecular-computing/scadnano/assets/19274365/ebc89773-dc05-464c-94b0-41a51dde1f0a)

In particular, this provides an immediate visual cue that the view angle in oxView is reversed in both horizontal and vertical directions from that of scadnano, since the purple staple in the bottom right of scadnano appears in the top left of oxView. Rotating it 180 degrees around the *y* (up-down) axis, and then rotating 180 degree around the *z* (left-right) axis, then the oxView orientation matches scadnano's:

![image](https://github.com/UC-Davis-molecular-computing/scadnano/assets/19274365/757bb573-884a-40fc-a3db-dfbd042db9f4)

This can also be checked with the axis arrows of oxView and scadnano, which match colors:

![image](https://github.com/UC-Davis-molecular-computing/scadnano/assets/19274365/3ca92c8c-77a5-467f-85ac-01146d153e72) ![image](https://github.com/UC-Davis-molecular-computing/scadnano/assets/19274365/a3fdc696-2c95-491a-ad5a-6707eca2ebcf)


Sequences of selected strands are *not* exported
There was already a feature where only sequences of selected strands could be exported. Now it is possible to declare that exactly the *unselected* strands should be exported:

![image](https://github.com/UC-Davis-molecular-computing/scadnano/assets/19274365/b002d607-3a68-4fcf-a77f-7d63948dd3b2)



Commits
- a071097: bumped version (David Doty) [972](https://github.com/UC-Davis-molecular-computing/scadnano/pull/972)
- 58cd26e: added css class for darker stroke on crossovers within the same helix (David Doty) [972](https://github.com/UC-Davis-molecular-computing/scadnano/pull/972)
- e487457: fixed batch remove label, remove name, set name (Raybipse) [954](https://github.com/UC-Davis-molecular-computing/scadnano/pull/954)
- abcecd2: fixes 953 (Raybipse) [954](https://github.com/UC-Davis-molecular-computing/scadnano/pull/954)
- 22ae227: Fixed batch remove/set for extensions and loopouts (Raybipse) [954](https://github.com/UC-Davis-molecular-computing/scadnano/pull/954)
- f72c32c: implemented logic for filtering connected base pairs (Raybipse) [955](https://github.com/UC-Davis-molecular-computing/scadnano/pull/955)
- 8657d04: Fixed typo in action name for remove strand name (Raybipse) [954](https://github.com/UC-Davis-molecular-computing/scadnano/pull/954)
- d291063: add menu option for retaining color on strand selection (Edwin Chang) [957](https://github.com/UC-Davis-molecular-computing/scadnano/pull/957)
- 1471f3f: implemented logic for filtering connected base pairs (Raybipse) [955](https://github.com/UC-Davis-molecular-computing/scadnano/pull/955)
- 17f944b: closes 895 selected base pair lines is exported (Raybipse) [955](https://github.com/UC-Davis-molecular-computing/scadnano/pull/955)
- 34ff35c: Rebased branch onto dev and fixed minor bug (Raybipse) [955](https://github.com/UC-Davis-molecular-computing/scadnano/pull/955)
- e438f97: Fixed copy image not displaying base lines (Raybipse) [955](https://github.com/UC-Davis-molecular-computing/scadnano/pull/955)
- b3dd9c7: Changed to letterSpacing (Raybipse) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- 146a350: closes 870: Feature request: selection preserves color (Edwin Chang) [957](https://github.com/UC-Davis-molecular-computing/scadnano/pull/957)
- d68babc: reformat code (Edwin Chang) [957](https://github.com/UC-Davis-molecular-computing/scadnano/pull/957)
- 94c0b0f: Refractored code for readability and consistency (RayBipse) [955](https://github.com/UC-Davis-molecular-computing/scadnano/pull/955)
- 1a66286: Setup separate export setting (RayBipse) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- 692e01d: moved set separate text menu (RayBipse) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- a0d3ac2: Added separate text support (RayBipse) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- 5d4cc56: Merge branch 'dev' of https://github.com/UC-Davis-molecular-computing/scadnano into dev (RayBipse) [#955](https://github.com/UC-Davis-molecular-computing/scadnano/pull/955)
- 760fb4a: fixes 959: display DNA sequence on extension in order 5' to 3' (David Doty) [960](https://github.com/UC-Davis-molecular-computing/scadnano/pull/960)
- 1840933: fixes bug with setting extension name when no extensions are selected (David Doty) [960](https://github.com/UC-Davis-molecular-computing/scadnano/pull/960)
- 35f4e9f: fixes bug with selecting strand "pieces" (domains/extensions/ends/etc) with new property `retain_strand_color_on_selection`, which was not being properly prop-drilled into those view components (David Doty) [960](https://github.com/UC-Davis-molecular-computing/scadnano/pull/960)
- da99847: fixed some variable/file names (David Doty) [972](https://github.com/UC-Davis-molecular-computing/scadnano/pull/972)
- c9c2894: fixed problem with non-unique React key when a strand has a 5' and a 3' extension adjacent to the same domain (David Doty) [972](https://github.com/UC-Davis-molecular-computing/scadnano/pull/972)
- 2cfac1f: Update README.md (David Doty) [972](https://github.com/UC-Davis-molecular-computing/scadnano/pull/972)
- 1e78e1e: Fixed the frequent "cannot read undefined" error in console (RayBipse) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- 63b66af: Fixes 941 (RayBipse) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- b307a48: Changed names to snakes case and fixed outline bug (RayBipse) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- bf718f2: Fixed bug export SVG main view doesn't contain a viewbox (RayBipse) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- d0adc28: Merge branch 'dev' into 941-dna-sequences-justified (Ray Zhu) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- 3ce8c86: Fixed wrong merge resolve (RayBipse) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- 3850c48: Fixed bug where selected strands were pink (RayBipse) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- a6b06ac: re-ordered export menu (David Doty) [963](https://github.com/UC-Davis-molecular-computing/scadnano/pull/963)
- 34ba098: added ability to exclude scaffolds from selection when using "select all with same..." (David Doty) [972](https://github.com/UC-Davis-molecular-computing/scadnano/pull/972)
- 33a5630: closes 964: exclude selected strands from export DNA sequences (Dave Doty) [965](https://github.com/UC-Davis-molecular-computing/scadnano/pull/965)
- 77e21ef: Added the button for base pair display (RayBipse) [966](https://github.com/UC-Davis-molecular-computing/scadnano/pull/966)
- 7c5645a: Closes 897 (RayBipse) [966](https://github.com/UC-Davis-molecular-computing/scadnano/pull/966)
- f842e25: Changed the layout for base pair display to checkboxes (RayBipse) [966](https://github.com/UC-Davis-molecular-computing/scadnano/pull/966)
- 4e75ec2: closes 588: export to oxView format (David Doty) [971](https://github.com/UC-Davis-molecular-computing/scadnano/pull/971)

0.19.1

Release notes

A few bug fixes.

Commits
- 3e752ec: bumped version (David Doty) [951](https://github.com/UC-Davis-molecular-computing/scadnano/pull/951)
- 7395f7f: changed "Select all with same..." trait named "IDT fields" to "Vendor fields" (David Doty) [951](https://github.com/UC-Davis-molecular-computing/scadnano/pull/951)
- 21b7287: fixes 904 large design should not hide strands on hover (Abhishek Gokhale) [949](https://github.com/UC-Davis-molecular-computing/scadnano/pull/949)
- 7da7a68: Formatting changes (Abhishek Gokhale) [949](https://github.com/UC-Davis-molecular-computing/scadnano/pull/949)
- 855fe21: Update README.md (David Doty) [951](https://github.com/UC-Davis-molecular-computing/scadnano/pull/951)
- ca85360: Update README.md (David Doty) [951](https://github.com/UC-Davis-molecular-computing/scadnano/pull/951)
- de91ace: Update README.md (David Doty) [951](https://github.com/UC-Davis-molecular-computing/scadnano/pull/951)
- 0f73968: fixes bug in reading .sc files with old modification keys (David Doty) [951](https://github.com/UC-Davis-molecular-computing/scadnano/pull/951)

0.19.0

Release notes

BREAKING CHANGE: Renamed IDT-specific fields
Some names related to the DNA synthesis company [IDT](https://www.idtdna.com/) have been renamed to be more general. You will have to rename these in your own code for it to run:

- class `IDTFields` --> `VendorFields`
- field `Modification.idt_text` --> `Modification.vendor_code`
- field `Strand.idt` --> `Strand.vendor_fields`

Additionally, some keys in the JSON format for `.sc` files have changed as well. Scadnano (both the web interface and the Python package) should be able to read files with the old keys and convert them to the new keys upon saving. However, if you are manually editing the `.sc` file then use the new keys.

Some IDT-specific methods remain, such as [`Design.write_idt_plate_excel_file`](https://scadnano-python-package.readthedocs.io/en/latest/#scadnano.Design.write_idt_plate_excel_file). These use the values in [`Strand.vendor_fields`](https://scadnano-python-package.readthedocs.io/en/latest/#scadnano.Strand.vendor_fields) and [`Modification.vendor_code`](https://scadnano-python-package.readthedocs.io/en/latest/#scadnano.Modification.vendor_code), but since the file format actually is specific to IDT, the method name is unchanged.

Although currently there are no methods for exporting to file formats recognized by other synthesis companies, in the meantime it should be straightforward to use the values in `VendorFields` to write custom code for such exports.

Field `Modification.id` removed
Previously, scadnano used `Modification.id` as a unique identifier for modifications.

The field `id` has been removed. Now, the field `vendor_code` is used as a unique identifier for the modification, where `id` was previously used.

Previously, if no `id` was specified, but `vendor_code`/`idt_text` was, then `id` was set to the latter. Such code should continue to work unmodified. But code referencing `id` should now refer to `vendor_code` instead. Additionally, if a script used the same `vendor_code` for different Modifications, then this will break. Each Modification should now have a unique `vendor_code` field.

Note that some vendors such as Eurofins use the same code for 5'/3' modifications (see issue 283). For this reason, the modifications internally are stored in a way that encodes their location (5', 3', internal). But for any two modifications of the same "location" (both 5' modifications, both 3' modifications, or both internal modifications) the `vendor_code` must be unique to the type of modification.

Commits
- 99e16d2: bumped version (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- bd12d4d: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- dbc1058: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- ddc8eee: Update README.md (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 34211de: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 3ed8158: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 0bd7995: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- d012f17: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 1c39fbc: closes 279: rename IDTFields to VendorFields (David Doty) [280](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/280)
- 5fefd41: re-ran examples to alter changed name of IDT fields (David Doty) [280](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/280)
- f679027: fixed docstrings (David Doty) [280](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/280)
- 65630f4: fixed docstrings (David Doty) [280](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/280)
- 3bb1373: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 6356689: closes 281: remove field `Modification.id` (David Doty) [282](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/282)
- 4c52f52: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 032ebde: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 4795224: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- b72a5c7: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- db9ec53: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 41d93e3: removed `Position3D.clone()`, which is unnecessary since `Position3D` is frozen (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 6465434: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- fc30862: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 37fa350: fixes 283: deal with non-unique Modification vendor codes (David Doty) [284](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/284)
- 09ad91b: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)
- 82661bb: Update scadnano.py (David Doty) [285](https://github.com/UC-Davis-molecular-computing/scadnano-python-package/pull/285)

0.18.10

Bug fix for editing IDT text of internal modifications.

Commits
- 5d6434e: bumped version (David Doty) [918](https://github.com/UC-Davis-molecular-computing/scadnano/pull/918)
- 4cc8fd3: Update design_main_strand.dart (David Doty) [918](https://github.com/UC-Davis-molecular-computing/scadnano/pull/918)
- 571fda0: fixed bug in editing IDT text of internal modification (David Doty) [918](https://github.com/UC-Davis-molecular-computing/scadnano/pull/918)

Page 1 of 15

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.