Release v5.2.0 "maräng".
![maräng](https://user-images.githubusercontent.com/9726401/215458362-74aa6b88-6564-436a-8e51-87215bfdb866.png)
Thanks to all users, especially amijalis and jan-glx who found bugs in the way features are handled (92 and 88) . Hopefully these bugs have been solved in this release.
There is an important change in how restriction digestions are handled. Before this release, enzymes would cut in the order they were given if in a list or some other ordered iterable.
In the present release, the enzyme that cut the sequence in the first (5'-most) position is used to create a linear sequence. The linear sequence is then digested with all enzymes using the underlying Biopython function. This happens regardless of the order the enzymes were given. I decided that this was the way that creates least surprises for the user.
An example:
from pydna.dseqrecord import Dseqrecord
"""
aaaGGATCCnnnGAATTCnnGGATCCggg
tttCCTAGGnnnCTTAAGnnCCTAGGccc
"""
x=Dseqrecord("aaaGGATCCnnnGAATTCnnGGATCCggg", circular=True)
from Bio.Restriction import BamHI,EcoRI
assert (x.cut(BamHI, EcoRI) ==
x.cut(EcoRI, BamHI) ==
x.cut(BamHI+EcoRI))
a, b, c = x.cut(BamHI,EcoRI)
print(a.figure())
print(b.figure())
print(c.figure())
"""
Output:
Dseqrecord(-13)
GATCCnnnG
GnnnCTTAA
Dseqrecord(-12)
AATTCnnG
GnnCCTAG
Dseqrecord(-16)
GATCCgggaaaG
GccctttCCTAG
"""
Other changes:
removed .github/workflows/codeql-analysis.yml
Update to using Poetry for build. No conda packages will be built.
added dependencies:
- pyperclip
- pyqt
- pyfiglet
run_test.py now returns an integer (0 or 1).
Using pyfiglet for the logo (now including version).
Changed Biopython FeatureLocation to SimpleLocation everywhere.
Added a terminal_transferase method for `Dseq` and `Dseqrecord` for T/A cloning.
New private method `_firstcut` for `Dseq`. This is used to determine the first cut of a circular sequence.
NEW function `shift_location` in pydna.utils.
Dseqrecord cut and shifted has new an hopefully more manageable code.
NEW figure method for `Dseqrecord`.
new default feature color for ape : `ffff49` for better visibility.
NEW file pydna/gui.py, work in progress for a GUI viewer for sequences.
NEW function `pydna/sequence_picker.py` :smile: . No documentation yet :disappointed:
Removed seqfeature.py file and SeqFeature subclass.
LOTS of new tests:
- test_amijalis
- test_jan_glx
`Dseq` figure method now takes a class variable "trunc" to control if sequences in figure are truncated or not
NEW Dseqrecord methods:
`Dseqrecord.copy_gb_to_clipboard()`
`Dseqrecord.copy_fasta_to_clipboard()`
**Full Changelog**: https://github.com/BjornFJohansson/pydna/compare/v5.0.1...v5.2.0