Pydna

Latest version: v5.2.0

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

Scan your dependencies

Page 3 of 3

6.0.0a3

What's Changed
* Bump pytest from 7.3.1 to 7.4.0 by dependabot in https://github.com/BjornFJohansson/pydna/pull/129
* Bump requests-mock from 1.10.0 to 1.11.0 by dependabot in https://github.com/BjornFJohansson/pydna/pull/125
* Bump pillow from 9.5.0 to 10.0.0 by dependabot in https://github.com/BjornFJohansson/pydna/pull/130
* Bump matplotlib from 3.7.1 to 3.7.2 by dependabot in https://github.com/BjornFJohansson/pydna/pull/131
* Bump coverage from 7.2.7 to 7.3.0 by dependabot in https://github.com/BjornFJohansson/pydna/pull/134
* Bump pytest-doctestplus from 0.12.1 to 1.0.0 by dependabot in https://github.com/BjornFJohansson/pydna/pull/135


**Full Changelog**: https://github.com/BjornFJohansson/pydna/compare/v6.0.0a02...v6.0.0a3

6.0.0a02

6.0.0a01

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](https://github.com/louisabraham/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 zen13 ("There should be one-- and preferably only one...") This change could break code, hence the bump of major version number.

What's Changed
* Bump pyqt5 from 5.15.8 to 5.15.9 by dependabot in https://github.com/BjornFJohansson/pydna/pull/96
* Bump biopython from 1.80 to 1.81 by dependabot in https://github.com/BjornFJohansson/pydna/pull/95
* Bump ipython from 8.9.0 to 8.10.0 by dependabot in https://github.com/BjornFJohansson/pydna/pull/94
* Bump coverage from 7.2.1 to 7.2.2 by dependabot in https://github.com/BjornFJohansson/pydna/pull/106
* test_module_all.py needs pyparsing by louisabraham in https://github.com/BjornFJohansson/pydna/pull/115
* allow tests to run without error by louisabraham in https://github.com/BjornFJohansson/pydna/pull/116
* Bump tornado from 6.2 to 6.3.2 by dependabot in https://github.com/BjornFJohansson/pydna/pull/120
* Bump requests from 2.27.1 to 2.31.0 by dependabot in https://github.com/BjornFJohansson/pydna/pull/118

New Contributors
* dependabot made their first contribution in https://github.com/BjornFJohansson/pydna/pull/96
* louisabraham made their first contribution in https://github.com/BjornFJohansson/pydna/pull/115

**Full Changelog**: https://github.com/BjornFJohansson/pydna/compare/v5.2.0...v6.0.0a01

5.2.0

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

Page 3 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.