v0.19.0
Release notes
BREAKING CHANGE: Renamed IDT-specific fields
Some names related to the DNA synthesis company IDT 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
. These use the values in Strand.vendor_fields
and 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
- bd12d4d: Update scadnano.py (David Doty) #285
- dbc1058: Update scadnano.py (David Doty) #285
- ddc8eee: Update README.md (David Doty) #285
- 34211de: Update scadnano.py (David Doty) #285
- 3ed8158: Update scadnano.py (David Doty) #285
- 0bd7995: Update scadnano.py (David Doty) #285
- d012f17: Update scadnano.py (David Doty) #285
- 1c39fbc: closes #279: rename IDTFields to VendorFields (David Doty) #280
- 5fefd41: re-ran examples to alter changed name of IDT fields (David Doty) #280
- f679027: fixed docstrings (David Doty) #280
- 65630f4: fixed docstrings (David Doty) #280
- 3bb1373: Update scadnano.py (David Doty) #285
- 6356689: closes #281: remove field
Modification.id
(David Doty) #282 - 4c52f52: Update scadnano.py (David Doty) #285
- 032ebde: Update scadnano.py (David Doty) #285
- 4795224: Update scadnano.py (David Doty) #285
- b72a5c7: Update scadnano.py (David Doty) #285
- db9ec53: Update scadnano.py (David Doty) #285
- 41d93e3: removed
Position3D.clone()
, which is unnecessary sincePosition3D
is frozen (David Doty) #285 - 6465434: Update scadnano.py (David Doty) #285
- fc30862: Update scadnano.py (David Doty) #285
- 37fa350: fixes #283: deal with non-unique Modification vendor codes (David Doty) #284
- 09ad91b: Update scadnano.py (David Doty) #285
- 82661bb: Update scadnano.py (David Doty) #285