Skip to content

Releases: BjornFJohansson/pydna

Kanelbulle release candidate 6.0.0a15

23 Nov 06:58
Compare
Choose a tag to compare
Pre-release

Bugfix. There was a subtle error in how the template sequence was chosen for the
pydna.design.circular_assembly_fragments in some situations. There were no tests for this
and there were also no effect on the final result.

What's Changed

New Contributors

Full Changelog: v6.0.0a4...v6.0.0a15

Kanelbulle 6.0.0a4

06 Nov 14:29
Compare
Choose a tag to compare
Kanelbulle 6.0.0a4 Pre-release
Pre-release

Full Changelog: v6.0.0a3...v6.0.0a4

6.0.0a3

18 Oct 13:33
Compare
Choose a tag to compare
6.0.0a3 Pre-release
Pre-release

What's Changed

Full Changelog: v6.0.0a02...v6.0.0a3

Kanelbulle

07 Jun 06:37
Compare
Choose a tag to compare
Kanelbulle Pre-release
Pre-release

see 6.0.0a01

fixes the pydna.getenv() function on Windows as environment variables are uppercase.

Kanelbulle

05 Jun 10:13
Compare
Choose a tag to compare
Kanelbulle Pre-release
Pre-release

New common_sub_strings function. The previous version was implemented in pure python that was quite fast, but still a bottleneck in the code. Thanks to @louisabraham, we now have code based on pydivsufsort which provide bindings to libdivsufsort, a very fast suffix array construction algorithm written in C. As a consequence, the Assembly code is now much faster.

Dseq and Dseqrecord now only take a circular argument (True or False) to indicate topology. Previously, linear was also accepted. This was a little used feature (by me) that made the init methods of both classes slow and complex. As this was a violation of zen#13 ("There should be one-- and preferably only one...") This change could break code, hence the bump of major version number.

What's Changed

New Contributors

Full Changelog: v5.2.0...v6.0.0a01

Maräng

02 Feb 14:23
Compare
Choose a tag to compare

Release v5.2.0 "maräng".

maräng

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 😄 . No documentation yet 😞

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: v5.0.1...v5.2.0