UC-Davis-molecular-computing / scadnano

Web application for designing DNA structures such as DNA origami.
https://scadnano.org
MIT License
21 stars 13 forks source link

handle internal modifications that go in between bases #913

Closed dave-doty closed 10 months ago

dave-doty commented 10 months ago

The Python package distinguishes between internal modifications that are attached to a base (e.g., internal biotin on a T: /iBiodT/) versus those that go in between bases (e.g., a 6-carbon linker). They are distinguished by whether the field ModificationInternal.allowed_bases is specified or not.

The web interface has no such distinction and at present, always replaces the base at the specified position with the internal modification code. Give a way to distinguish internal modifications that do not replace a base.

dave-doty commented 10 months ago

Release notes

Distinction between internal modifications that attach to a base, versus those between bases

Some internal modifications are attached to a base (e.g., internal biotin on a T: /iBiodT/) versus those that go in between bases (e.g., a 9-carbon linker such as /ISp9/). Previously the web interface assumed all internal modifications are of the former type, and also assumed they could be attached to any base. Now one can distinguish between these two types, and for modifications attached to a base, can specify a subset of bases that they can attach to (e.g., IDT's internal biotin may only be on a T base):

image