opencloning 0.2.8.1__tar.gz → 0.2.8.2__tar.gz

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.
Files changed (46) hide show
  1. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/PKG-INFO +1 -1
  2. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/pyproject.toml +1 -1
  3. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/dna_functions.py +11 -4
  4. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/LICENSE +0 -0
  5. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/README.md +0 -0
  6. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/__init__.py +0 -0
  7. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/api_config_utils.py +0 -0
  8. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/app_settings.py +0 -0
  9. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/assembly2.py +0 -0
  10. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/EBIC/__init__.py +0 -0
  11. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/EBIC/barcode.gb +0 -0
  12. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/EBIC/common_plasmid.gb +0 -0
  13. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/EBIC/example.py +0 -0
  14. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/EBIC/primer_design_settings.py +0 -0
  15. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/__init__.py +0 -0
  16. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/index.html +0 -0
  17. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/pombe/__init__.py +0 -0
  18. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/pombe/index.html +0 -0
  19. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/pombe/pombe_all.sh +0 -0
  20. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/pombe/pombe_clone.py +0 -0
  21. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/pombe/pombe_gather.py +0 -0
  22. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/pombe/pombe_get_primers.py +0 -0
  23. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/pombe/pombe_summary.py +0 -0
  24. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/ziqiang_et_al2024/__init__.py +0 -0
  25. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/ziqiang_et_al2024/index.html +0 -0
  26. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/batch_cloning/ziqiang_et_al2024/ziqiang_et_al2024.json +0 -0
  27. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/cre_lox.py +0 -0
  28. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/dna_utils.py +0 -0
  29. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/ebic/__init__.py +0 -0
  30. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/ebic/primer_design.py +0 -0
  31. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/ebic/primer_design_settings.py +0 -0
  32. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/endpoints/annotation.py +0 -0
  33. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/endpoints/assembly.py +0 -0
  34. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/endpoints/external_import.py +0 -0
  35. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/endpoints/no_assembly.py +0 -0
  36. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/endpoints/no_input.py +0 -0
  37. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/endpoints/other.py +0 -0
  38. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/endpoints/primer_design.py +0 -0
  39. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/gateway.py +0 -0
  40. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/get_router.py +0 -0
  41. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/main.py +0 -0
  42. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/ncbi_requests.py +0 -0
  43. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/primer_design.py +0 -0
  44. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/pydantic_models.py +0 -0
  45. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/request_examples.py +0 -0
  46. {opencloning-0.2.8.1 → opencloning-0.2.8.2}/src/opencloning/utils.py +0 -0
@@ -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.2
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
@@ -3,7 +3,7 @@ authors = ["Manuel Lera-Ramirez <manulera14@gmail.com>"]
3
3
  description = "Backend of OpenCloning, a web application to generate molecular cloning strategies in json format, and share them with others."
4
4
  license = "MIT"
5
5
  name = "opencloning"
6
- version = "v0.2.8.1"
6
+ version = "v0.2.8.2"
7
7
  package-mode = true
8
8
  readme = "README.md"
9
9
  repository = "https://github.com/manulera/OpenCloning_backend"
@@ -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):
File without changes
File without changes