opencloning 0.2.8.1__py3-none-any.whl → 0.2.8.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -241,16 +241,23 @@ def find_sequence_regex(pattern: str, seq: str, is_circular: bool) -> list[Locat
241
241
  def oligonucleotide_hybridization_overhangs(
242
242
  fwd_oligo_seq: str, rvs_oligo_seq: str, minimal_annealing: int
243
243
  ) -> list[int]:
244
+ """
245
+ Returns possible overhangs between two oligos, and returns an error if mismatches are found.
246
+
247
+ see https://github.com/manulera/OpenCloning_backend/issues/302 for notation
248
+
249
+ """
244
250
  matches = common_sub_strings(fwd_oligo_seq.lower(), reverse_complement(rvs_oligo_seq.lower()), minimal_annealing)
245
251
 
246
- for m in matches:
247
- if not (
248
- (m[0] == 0 and m[1] + m[2] == len(fwd_oligo_seq)) or (m[1] == 0 and m[0] + m[2] == len(rvs_oligo_seq))
252
+ for pos_fwd, pos_rvs, length in matches:
253
+
254
+ if (pos_fwd != 0 and pos_rvs != 0) or (
255
+ pos_fwd + length < len(fwd_oligo_seq) and pos_rvs + length < len(rvs_oligo_seq)
249
256
  ):
250
257
  raise ValueError('The oligonucleotides can anneal with mismatches')
251
258
 
252
259
  # Return possible overhangs
253
- return [start_on_rvs - start_on_fwd for start_on_fwd, start_on_rvs, length in matches]
260
+ return [pos_rvs - pos_fwd for pos_fwd, pos_rvs, length in matches]
254
261
 
255
262
 
256
263
  class MyGenBankScanner(GenBankScanner):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: opencloning
3
- Version: 0.2.8.1
3
+ Version: 0.2.8.3
4
4
  Summary: Backend of OpenCloning, a web application to generate molecular cloning strategies in json format, and share them with others.
5
5
  License: MIT
6
6
  Author: Manuel Lera-Ramirez
@@ -18,7 +18,7 @@ Requires-Dist: httpx (>=0.25.0,<0.26.0)
18
18
  Requires-Dist: opencloning-linkml (==0.2.6.1a0)
19
19
  Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
20
20
  Requires-Dist: pandas (>=2.2.3,<3.0.0)
21
- Requires-Dist: primer3-py (>=2.0.3,<3.0.0)
21
+ Requires-Dist: primer3-py (==2.0.3)
22
22
  Requires-Dist: pydantic (>=2.7.1,<3.0.0)
23
23
  Requires-Dist: pydna (==5.5.0)
24
24
  Requires-Dist: python-multipart
@@ -20,7 +20,7 @@ opencloning/batch_cloning/ziqiang_et_al2024/__init__.py,sha256=zZUbj3uMzd9rKMXi5
20
20
  opencloning/batch_cloning/ziqiang_et_al2024/index.html,sha256=EDncANDhhQkhi5FjnnAP6liHkG5srf4_Y46IrnMUG5g,4607
21
21
  opencloning/batch_cloning/ziqiang_et_al2024/ziqiang_et_al2024.json,sha256=mB81j2qWam7uRc-980YFjfqq2CiWTXJYfKFAoKuGtRw,157148
22
22
  opencloning/cre_lox.py,sha256=mb2ZddjrPIrUBT3xxMub5-c97WkKZ4Z-HkGFVzuR8pQ,2031
23
- opencloning/dna_functions.py,sha256=W-SxEfvYpN1JVZbTeCNitpQXkazEHvFyqZBUndd-jpY,16329
23
+ opencloning/dna_functions.py,sha256=ivepJM2wRTIW0ArSiQ5s-XuqBd69giEQijaWXXGT64E,16536
24
24
  opencloning/dna_utils.py,sha256=uv97aO04dbk3NnqbN6GlnwOu0MOpK88rl2np2QcEQ4Y,6301
25
25
  opencloning/ebic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  opencloning/ebic/primer_design.py,sha256=gPZTF9w5SV7WGgnefp_HBM831y0z73M1Kb0QUPnbfIM,2270
@@ -40,7 +40,7 @@ opencloning/primer_design.py,sha256=nqCmYIZ7UvU4CQwVGJwX7T5LTHwt3-51_ZcTZZAgT_Y,
40
40
  opencloning/pydantic_models.py,sha256=gsipVXhjQOXVz2NL-MiNpLuOZYDVo2Pli9F--bp6tjs,15345
41
41
  opencloning/request_examples.py,sha256=QAsJxVaq5tHwlPB404IiJ9WC6SA7iNY7XnJm63BWT_E,2944
42
42
  opencloning/utils.py,sha256=wsdTJYliap-t3oa7yQE3pWDa1CR19mr5lUQfocp4hoM,1875
43
- opencloning-0.2.8.1.dist-info/LICENSE,sha256=VSdVE1f8axjIh6gvo9ZZygJdTVkRFMcwCW_hvjOHC_w,1058
44
- opencloning-0.2.8.1.dist-info/METADATA,sha256=rp3mHAG3x49YfumIjM5teZL6iAtRbhQG1tl64bOjPfI,8429
45
- opencloning-0.2.8.1.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
46
- opencloning-0.2.8.1.dist-info/RECORD,,
43
+ opencloning-0.2.8.3.dist-info/LICENSE,sha256=VSdVE1f8axjIh6gvo9ZZygJdTVkRFMcwCW_hvjOHC_w,1058
44
+ opencloning-0.2.8.3.dist-info/METADATA,sha256=Wox-THlR-NrqHBqQ5Fo8PG_-2Vl55dvNS6rRZlpkRMs,8422
45
+ opencloning-0.2.8.3.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
46
+ opencloning-0.2.8.3.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.2
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any