dna-design-suite 0.1.0__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 (201) hide show
  1. dna_design_suite-0.1.0/Cargo.lock +529 -0
  2. dna_design_suite-0.1.0/Cargo.toml +43 -0
  3. dna_design_suite-0.1.0/LICENSE +201 -0
  4. dna_design_suite-0.1.0/NOTICE +113 -0
  5. dna_design_suite-0.1.0/PKG-INFO +640 -0
  6. dna_design_suite-0.1.0/README.md +614 -0
  7. dna_design_suite-0.1.0/crates/cf-burden/Cargo.toml +11 -0
  8. dna_design_suite-0.1.0/crates/cf-burden/src/capacity.rs +312 -0
  9. dna_design_suite-0.1.0/crates/cf-burden/src/ledger.rs +202 -0
  10. dna_design_suite-0.1.0/crates/cf-burden/src/lib.rs +24 -0
  11. dna_design_suite-0.1.0/crates/cf-burden/src/penalty.rs +479 -0
  12. dna_design_suite-0.1.0/crates/cf-burden/src/wobble.rs +230 -0
  13. dna_design_suite-0.1.0/crates/cf-burden/tests/capacity.rs +263 -0
  14. dna_design_suite-0.1.0/crates/cf-burden/tests/ledger.rs +357 -0
  15. dna_design_suite-0.1.0/crates/cf-burden/tests/penalty.rs +76 -0
  16. dna_design_suite-0.1.0/crates/cf-constraints/Cargo.toml +16 -0
  17. dna_design_suite-0.1.0/crates/cf-constraints/src/detect.rs +1329 -0
  18. dna_design_suite-0.1.0/crates/cf-constraints/src/feasibility.rs +974 -0
  19. dna_design_suite-0.1.0/crates/cf-constraints/src/kmer.rs +351 -0
  20. dna_design_suite-0.1.0/crates/cf-constraints/src/legacy.rs +333 -0
  21. dna_design_suite-0.1.0/crates/cf-constraints/src/lib.rs +64 -0
  22. dna_design_suite-0.1.0/crates/cf-constraints/src/motif.rs +456 -0
  23. dna_design_suite-0.1.0/crates/cf-constraints/src/repair.rs +644 -0
  24. dna_design_suite-0.1.0/crates/cf-constraints/src/seed.rs +4788 -0
  25. dna_design_suite-0.1.0/crates/cf-constraints/src/spec.rs +616 -0
  26. dna_design_suite-0.1.0/crates/cf-constraints/src/spend.rs +107 -0
  27. dna_design_suite-0.1.0/crates/cf-constraints/src/tabu.rs +197 -0
  28. dna_design_suite-0.1.0/crates/cf-constraints/src/window.rs +316 -0
  29. dna_design_suite-0.1.0/crates/cf-constraints/tests/feasibility.rs +577 -0
  30. dna_design_suite-0.1.0/crates/cf-constraints/tests/locked_span.rs +162 -0
  31. dna_design_suite-0.1.0/crates/cf-constraints/tests/region.rs +222 -0
  32. dna_design_suite-0.1.0/crates/cf-constraints/tests/repair.rs +570 -0
  33. dna_design_suite-0.1.0/crates/cf-constraints/tests/seed_assembly.rs +191 -0
  34. dna_design_suite-0.1.0/crates/cf-epistasis/Cargo.toml +10 -0
  35. dna_design_suite-0.1.0/crates/cf-epistasis/src/lib.rs +21 -0
  36. dna_design_suite-0.1.0/crates/cf-epistasis/src/naturalness.rs +193 -0
  37. dna_design_suite-0.1.0/crates/cf-epistasis/src/potts.rs +846 -0
  38. dna_design_suite-0.1.0/crates/cf-landscape/Cargo.toml +15 -0
  39. dna_design_suite-0.1.0/crates/cf-landscape/src/cache.rs +157 -0
  40. dna_design_suite-0.1.0/crates/cf-landscape/src/compose.rs +631 -0
  41. dna_design_suite-0.1.0/crates/cf-landscape/src/construct.rs +65 -0
  42. dna_design_suite-0.1.0/crates/cf-landscape/src/lib.rs +41 -0
  43. dna_design_suite-0.1.0/crates/cf-landscape/src/terms/constraints.rs +251 -0
  44. dna_design_suite-0.1.0/crates/cf-landscape/src/terms/harmonize.rs +417 -0
  45. dna_design_suite-0.1.0/crates/cf-landscape/src/terms/mod.rs +32 -0
  46. dna_design_suite-0.1.0/crates/cf-landscape/src/terms/structure.rs +133 -0
  47. dna_design_suite-0.1.0/crates/cf-landscape/src/terms/usage.rs +570 -0
  48. dna_design_suite-0.1.0/crates/cf-landscape/tests/builtin_terms.rs +521 -0
  49. dna_design_suite-0.1.0/crates/cf-landscape/tests/composition.rs +989 -0
  50. dna_design_suite-0.1.0/crates/cf-landscape/tests/support/mod.rs +164 -0
  51. dna_design_suite-0.1.0/crates/cf-landscape-api/Cargo.toml +12 -0
  52. dna_design_suite-0.1.0/crates/cf-landscape-api/src/batch.rs +380 -0
  53. dna_design_suite-0.1.0/crates/cf-landscape-api/src/capability.rs +156 -0
  54. dna_design_suite-0.1.0/crates/cf-landscape-api/src/json.rs +851 -0
  55. dna_design_suite-0.1.0/crates/cf-landscape-api/src/lib.rs +72 -0
  56. dna_design_suite-0.1.0/crates/cf-landscape-api/src/provider.rs +537 -0
  57. dna_design_suite-0.1.0/crates/cf-landscape-api/src/query.rs +481 -0
  58. dna_design_suite-0.1.0/crates/cf-landscape-api/src/response.rs +448 -0
  59. dna_design_suite-0.1.0/crates/cf-landscape-api/src/role.rs +145 -0
  60. dna_design_suite-0.1.0/crates/cf-landscape-api/tests/batch.rs +582 -0
  61. dna_design_suite-0.1.0/crates/cf-landscape-api/tests/contract.rs +498 -0
  62. dna_design_suite-0.1.0/crates/cf-landscape-api/tests/support/mod.rs +433 -0
  63. dna_design_suite-0.1.0/crates/cf-metrics/Cargo.toml +8 -0
  64. dna_design_suite-0.1.0/crates/cf-metrics/src/dominance.rs +270 -0
  65. dna_design_suite-0.1.0/crates/cf-metrics/src/indicators.rs +258 -0
  66. dna_design_suite-0.1.0/crates/cf-metrics/src/lib.rs +65 -0
  67. dna_design_suite-0.1.0/crates/cf-metrics/src/niching.rs +365 -0
  68. dna_design_suite-0.1.0/crates/cf-metrics/tests/indicators.rs +445 -0
  69. dna_design_suite-0.1.0/crates/cf-metrics/tests/niching.rs +380 -0
  70. dna_design_suite-0.1.0/crates/cf-primer-search/Cargo.toml +14 -0
  71. dna_design_suite-0.1.0/crates/cf-primer-search/src/lib.rs +834 -0
  72. dna_design_suite-0.1.0/crates/cf-primer-thermo/Cargo.toml +13 -0
  73. dna_design_suite-0.1.0/crates/cf-primer-thermo/data/santalucia1998.json +36 -0
  74. dna_design_suite-0.1.0/crates/cf-primer-thermo/src/duplex.rs +191 -0
  75. dna_design_suite-0.1.0/crates/cf-primer-thermo/src/lib.rs +136 -0
  76. dna_design_suite-0.1.0/crates/cf-primer-thermo/src/parameters.rs +112 -0
  77. dna_design_suite-0.1.0/crates/cf-primer-thermo/src/structure.rs +196 -0
  78. dna_design_suite-0.1.0/crates/cf-pyext/Cargo.toml +47 -0
  79. dna_design_suite-0.1.0/crates/cf-pyext/src/lib.rs +1096 -0
  80. dna_design_suite-0.1.0/crates/cf-pyext/src/nussinov.rs +154 -0
  81. dna_design_suite-0.1.0/crates/cf-pyext/src/pipeline.rs +1307 -0
  82. dna_design_suite-0.1.0/crates/cf-search/Cargo.toml +17 -0
  83. dna_design_suite-0.1.0/crates/cf-search/src/baseline.rs +251 -0
  84. dna_design_suite-0.1.0/crates/cf-search/src/context.rs +116 -0
  85. dna_design_suite-0.1.0/crates/cf-search/src/determinism.rs +158 -0
  86. dna_design_suite-0.1.0/crates/cf-search/src/generation.rs +326 -0
  87. dna_design_suite-0.1.0/crates/cf-search/src/genotype.rs +433 -0
  88. dna_design_suite-0.1.0/crates/cf-search/src/job.rs +286 -0
  89. dna_design_suite-0.1.0/crates/cf-search/src/lib.rs +65 -0
  90. dna_design_suite-0.1.0/crates/cf-search/src/operators/crossover.rs +168 -0
  91. dna_design_suite-0.1.0/crates/cf-search/src/operators/mod.rs +236 -0
  92. dna_design_suite-0.1.0/crates/cf-search/src/operators/mutation.rs +337 -0
  93. dna_design_suite-0.1.0/crates/cf-search/src/population.rs +199 -0
  94. dna_design_suite-0.1.0/crates/cf-search/src/rationing.rs +389 -0
  95. dna_design_suite-0.1.0/crates/cf-search/src/rng.rs +247 -0
  96. dna_design_suite-0.1.0/crates/cf-search/src/tier1.rs +724 -0
  97. dna_design_suite-0.1.0/crates/cf-search/src/tier2.rs +908 -0
  98. dna_design_suite-0.1.0/crates/cf-search/src/tier3.rs +1221 -0
  99. dna_design_suite-0.1.0/crates/cf-search/tests/batch_consumption.rs +562 -0
  100. dna_design_suite-0.1.0/crates/cf-search/tests/determinism.rs +303 -0
  101. dna_design_suite-0.1.0/crates/cf-search/tests/generations.rs +353 -0
  102. dna_design_suite-0.1.0/crates/cf-search/tests/job.rs +217 -0
  103. dna_design_suite-0.1.0/crates/cf-search/tests/operators.rs +812 -0
  104. dna_design_suite-0.1.0/crates/cf-search/tests/rationing.rs +164 -0
  105. dna_design_suite-0.1.0/crates/cf-search/tests/support/mod.rs +242 -0
  106. dna_design_suite-0.1.0/crates/cf-search/tests/tier1.rs +1013 -0
  107. dna_design_suite-0.1.0/crates/cf-search/tests/tier2.rs +1144 -0
  108. dna_design_suite-0.1.0/crates/cf-search/tests/tier3.rs +987 -0
  109. dna_design_suite-0.1.0/crates/cf-types/Cargo.toml +18 -0
  110. dna_design_suite-0.1.0/crates/cf-types/data/genetic_codes.json +477 -0
  111. dna_design_suite-0.1.0/crates/cf-types/src/canonical.rs +440 -0
  112. dna_design_suite-0.1.0/crates/cf-types/src/codon.rs +201 -0
  113. dna_design_suite-0.1.0/crates/cf-types/src/error.rs +285 -0
  114. dna_design_suite-0.1.0/crates/cf-types/src/ids.rs +262 -0
  115. dna_design_suite-0.1.0/crates/cf-types/src/lib.rs +39 -0
  116. dna_design_suite-0.1.0/crates/cf-types/src/seqrec.rs +795 -0
  117. dna_design_suite-0.1.0/crates/cf-types/src/tables.rs +385 -0
  118. dna_design_suite-0.1.0/crates/cf-types/src/units.rs +272 -0
  119. dna_design_suite-0.1.0/pyproject.toml +80 -0
  120. dna_design_suite-0.1.0/python/dna_design_suite/__init__.py +60 -0
  121. dna_design_suite-0.1.0/python/dna_design_suite/active/__init__.py +20 -0
  122. dna_design_suite-0.1.0/python/dna_design_suite/active/measurements.py +182 -0
  123. dna_design_suite-0.1.0/python/dna_design_suite/active/observations.py +228 -0
  124. dna_design_suite-0.1.0/python/dna_design_suite/active/outcome.py +134 -0
  125. dna_design_suite-0.1.0/python/dna_design_suite/api/__init__.py +12 -0
  126. dna_design_suite-0.1.0/python/dna_design_suite/api/__main__.py +53 -0
  127. dna_design_suite-0.1.0/python/dna_design_suite/api/examples/BBa_E0040.fa +12 -0
  128. dna_design_suite-0.1.0/python/dna_design_suite/api/examples/biobrick_rfc10.json +38 -0
  129. dna_design_suite-0.1.0/python/dna_design_suite/api/examples/gibson.json +20 -0
  130. dna_design_suite-0.1.0/python/dna_design_suite/api/examples/golden_gate.json +20 -0
  131. dna_design_suite-0.1.0/python/dna_design_suite/api/examples/kazusa_e_coli_316407.json +200 -0
  132. dna_design_suite-0.1.0/python/dna_design_suite/api/examples/mg1655_ribosomal_usage.json +199 -0
  133. dna_design_suite-0.1.0/python/dna_design_suite/api/examples/rpsL.cds +1 -0
  134. dna_design_suite-0.1.0/python/dna_design_suite/api/examples/rpsL_constraints.json +9 -0
  135. dna_design_suite-0.1.0/python/dna_design_suite/api/examples/synthesis.json +32 -0
  136. dna_design_suite-0.1.0/python/dna_design_suite/api/server.py +1505 -0
  137. dna_design_suite-0.1.0/python/dna_design_suite/api/static/app.js +2889 -0
  138. dna_design_suite-0.1.0/python/dna_design_suite/api/static/codonforge-ui.css +1309 -0
  139. dna_design_suite-0.1.0/python/dna_design_suite/api/static/formats.js +103 -0
  140. dna_design_suite-0.1.0/python/dna_design_suite/api/static/helix.js +297 -0
  141. dna_design_suite-0.1.0/python/dna_design_suite/api/static/index.html +479 -0
  142. dna_design_suite-0.1.0/python/dna_design_suite/api/static/viewer.js +145 -0
  143. dna_design_suite-0.1.0/python/dna_design_suite/cli/__init__.py +32 -0
  144. dna_design_suite-0.1.0/python/dna_design_suite/cli/main.py +733 -0
  145. dna_design_suite-0.1.0/python/dna_design_suite/cli/writers.py +312 -0
  146. dna_design_suite-0.1.0/python/dna_design_suite/codon/__init__.py +1 -0
  147. dna_design_suite-0.1.0/python/dna_design_suite/codon/bench/__init__.py +39 -0
  148. dna_design_suite-0.1.0/python/dna_design_suite/codon/bench/baselines.py +101 -0
  149. dna_design_suite-0.1.0/python/dna_design_suite/codon/bench/compare.py +46 -0
  150. dna_design_suite-0.1.0/python/dna_design_suite/codon/bench/corpus.py +462 -0
  151. dna_design_suite-0.1.0/python/dna_design_suite/codon/bench/exp05.py +65 -0
  152. dna_design_suite-0.1.0/python/dna_design_suite/codon/bench/exp05_campaign.py +231 -0
  153. dna_design_suite-0.1.0/python/dna_design_suite/codon/bench/reference.py +80 -0
  154. dna_design_suite-0.1.0/python/dna_design_suite/codon/bench/results.py +89 -0
  155. dna_design_suite-0.1.0/python/dna_design_suite/codon/biophys_lm/__init__.py +9 -0
  156. dna_design_suite-0.1.0/python/dna_design_suite/codon/decision/__init__.py +16 -0
  157. dna_design_suite-0.1.0/python/dna_design_suite/codon/decision/front.py +146 -0
  158. dna_design_suite-0.1.0/python/dna_design_suite/codon/decision/reduce.py +325 -0
  159. dna_design_suite-0.1.0/python/dna_design_suite/codon/epistasis/__init__.py +9 -0
  160. dna_design_suite-0.1.0/python/dna_design_suite/codon/epistasis/artifact.py +204 -0
  161. dna_design_suite-0.1.0/python/dna_design_suite/codon/epistasis/context.py +135 -0
  162. dna_design_suite-0.1.0/python/dna_design_suite/codon/epistasis/dwell.py +88 -0
  163. dna_design_suite-0.1.0/python/dna_design_suite/codon/epistasis/train.py +192 -0
  164. dna_design_suite-0.1.0/python/dna_design_suite/codon/gibson.py +418 -0
  165. dna_design_suite-0.1.0/python/dna_design_suite/codon/orchestrator/__init__.py +50 -0
  166. dna_design_suite-0.1.0/python/dna_design_suite/codon/orchestrator/archive.py +357 -0
  167. dna_design_suite-0.1.0/python/dna_design_suite/codon/orchestrator/budget.py +388 -0
  168. dna_design_suite-0.1.0/python/dna_design_suite/codon/orchestrator/design.py +873 -0
  169. dna_design_suite-0.1.0/python/dna_design_suite/codon/orchestrator/job.py +1301 -0
  170. dna_design_suite-0.1.0/python/dna_design_suite/codon/orchestrator/local_structure.py +257 -0
  171. dna_design_suite-0.1.0/python/dna_design_suite/codon/orchestrator/operon.py +478 -0
  172. dna_design_suite-0.1.0/python/dna_design_suite/codon/orchestrator/rationale.py +201 -0
  173. dna_design_suite-0.1.0/python/dna_design_suite/codon/orchestrator/structure_diag.py +276 -0
  174. dna_design_suite-0.1.0/python/dna_design_suite/codon/predictors/__init__.py +21 -0
  175. dna_design_suite-0.1.0/python/dna_design_suite/codon/predictors/cache.py +283 -0
  176. dna_design_suite-0.1.0/python/dna_design_suite/codon/predictors/global_fold.py +137 -0
  177. dna_design_suite-0.1.0/python/dna_design_suite/codon/predictors/nussinov.py +57 -0
  178. dna_design_suite-0.1.0/python/dna_design_suite/codon/predictors/structure.py +173 -0
  179. dna_design_suite-0.1.0/python/dna_design_suite/codon/predictors/viennarna.py +151 -0
  180. dna_design_suite-0.1.0/python/dna_design_suite/export/__init__.py +10 -0
  181. dna_design_suite-0.1.0/python/dna_design_suite/export/sbol.py +506 -0
  182. dna_design_suite-0.1.0/python/dna_design_suite/ingest/__init__.py +50 -0
  183. dna_design_suite-0.1.0/python/dna_design_suite/ingest/errors.py +121 -0
  184. dna_design_suite-0.1.0/python/dna_design_suite/ingest/fasta.py +246 -0
  185. dna_design_suite-0.1.0/python/dna_design_suite/ingest/genbank.py +262 -0
  186. dna_design_suite-0.1.0/python/dna_design_suite/ingest/host.py +252 -0
  187. dna_design_suite-0.1.0/python/dna_design_suite/ingest/seeds.py +286 -0
  188. dna_design_suite-0.1.0/python/dna_design_suite/ingest/usage_table.py +302 -0
  189. dna_design_suite-0.1.0/python/dna_design_suite/modelreg/__init__.py +55 -0
  190. dna_design_suite-0.1.0/python/dna_design_suite/modelreg/errors.py +42 -0
  191. dna_design_suite-0.1.0/python/dna_design_suite/modelreg/lockfile.py +246 -0
  192. dna_design_suite-0.1.0/python/dna_design_suite/modelreg/manifest.py +143 -0
  193. dna_design_suite-0.1.0/python/dna_design_suite/modelreg/resolve.py +245 -0
  194. dna_design_suite-0.1.0/python/dna_design_suite/modelreg/store.py +166 -0
  195. dna_design_suite-0.1.0/python/dna_design_suite/primer/__init__.py +5 -0
  196. dna_design_suite-0.1.0/python/dna_design_suite/primer/sequence.py +31 -0
  197. dna_design_suite-0.1.0/python/dna_design_suite/primer/service.py +212 -0
  198. dna_design_suite-0.1.0/python/dna_design_suite/testkit/__init__.py +44 -0
  199. dna_design_suite-0.1.0/python/dna_design_suite/testkit/synthetic.py +448 -0
  200. dna_design_suite-0.1.0/python/dna_design_suite/vendor/__init__.py +8 -0
  201. dna_design_suite-0.1.0/python/dna_design_suite/vendor/screen.py +277 -0
@@ -0,0 +1,529 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 3
4
+
5
+ [[package]]
6
+ name = "aho-corasick"
7
+ version = "1.1.5"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba"
10
+ dependencies = [
11
+ "memchr",
12
+ ]
13
+
14
+ [[package]]
15
+ name = "autocfg"
16
+ version = "1.5.1"
17
+ source = "registry+https://github.com/rust-lang/crates.io-index"
18
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
19
+
20
+ [[package]]
21
+ name = "block-buffer"
22
+ version = "0.10.4"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
25
+ dependencies = [
26
+ "generic-array",
27
+ ]
28
+
29
+ [[package]]
30
+ name = "cf-biophys-kinetics"
31
+ version = "0.1.0"
32
+
33
+ [[package]]
34
+ name = "cf-biophys-structure"
35
+ version = "0.1.0"
36
+ dependencies = [
37
+ "cf-types",
38
+ "serde_json",
39
+ ]
40
+
41
+ [[package]]
42
+ name = "cf-burden"
43
+ version = "0.1.0"
44
+ dependencies = [
45
+ "cf-landscape-api",
46
+ "cf-types",
47
+ "serde_json",
48
+ ]
49
+
50
+ [[package]]
51
+ name = "cf-constraints"
52
+ version = "0.1.0"
53
+ dependencies = [
54
+ "cf-types",
55
+ "regex",
56
+ "serde",
57
+ "serde_json",
58
+ "sha2",
59
+ ]
60
+
61
+ [[package]]
62
+ name = "cf-epistasis"
63
+ version = "0.1.0"
64
+ dependencies = [
65
+ "cf-landscape-api",
66
+ "cf-types",
67
+ ]
68
+
69
+ [[package]]
70
+ name = "cf-landscape"
71
+ version = "0.1.0"
72
+ dependencies = [
73
+ "cf-constraints",
74
+ "cf-landscape-api",
75
+ "cf-types",
76
+ "serde_json",
77
+ ]
78
+
79
+ [[package]]
80
+ name = "cf-landscape-api"
81
+ version = "0.1.0"
82
+ dependencies = [
83
+ "cf-types",
84
+ "serde",
85
+ "serde_json",
86
+ ]
87
+
88
+ [[package]]
89
+ name = "cf-metrics"
90
+ version = "0.1.0"
91
+
92
+ [[package]]
93
+ name = "cf-primer-search"
94
+ version = "0.1.0"
95
+ dependencies = [
96
+ "cf-metrics",
97
+ "cf-primer-thermo",
98
+ "cf-types",
99
+ "serde",
100
+ "serde_json",
101
+ ]
102
+
103
+ [[package]]
104
+ name = "cf-primer-thermo"
105
+ version = "0.1.0"
106
+ dependencies = [
107
+ "cf-types",
108
+ "serde",
109
+ "serde_json",
110
+ "sha2",
111
+ ]
112
+
113
+ [[package]]
114
+ name = "cf-pyext"
115
+ version = "0.1.0"
116
+ dependencies = [
117
+ "cf-burden",
118
+ "cf-constraints",
119
+ "cf-epistasis",
120
+ "cf-landscape",
121
+ "cf-landscape-api",
122
+ "cf-metrics",
123
+ "cf-primer-search",
124
+ "cf-primer-thermo",
125
+ "cf-search",
126
+ "cf-types",
127
+ "pyo3",
128
+ "serde_json",
129
+ ]
130
+
131
+ [[package]]
132
+ name = "cf-search"
133
+ version = "0.1.0"
134
+ dependencies = [
135
+ "cf-constraints",
136
+ "cf-landscape-api",
137
+ "cf-metrics",
138
+ "cf-types",
139
+ "rayon",
140
+ "serde_json",
141
+ ]
142
+
143
+ [[package]]
144
+ name = "cf-types"
145
+ version = "0.1.0"
146
+ dependencies = [
147
+ "regex",
148
+ "serde",
149
+ "serde_json",
150
+ "sha2",
151
+ ]
152
+
153
+ [[package]]
154
+ name = "cfg-if"
155
+ version = "1.0.4"
156
+ source = "registry+https://github.com/rust-lang/crates.io-index"
157
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
158
+
159
+ [[package]]
160
+ name = "cpufeatures"
161
+ version = "0.2.17"
162
+ source = "registry+https://github.com/rust-lang/crates.io-index"
163
+ checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
164
+ dependencies = [
165
+ "libc",
166
+ ]
167
+
168
+ [[package]]
169
+ name = "crossbeam-deque"
170
+ version = "0.8.7"
171
+ source = "registry+https://github.com/rust-lang/crates.io-index"
172
+ checksum = "5181e0de7b61eb03a81e347d6dd8797bae9da5146707b51077e2d71a54ec0ceb"
173
+ dependencies = [
174
+ "crossbeam-epoch",
175
+ "crossbeam-utils",
176
+ ]
177
+
178
+ [[package]]
179
+ name = "crossbeam-epoch"
180
+ version = "0.9.20"
181
+ source = "registry+https://github.com/rust-lang/crates.io-index"
182
+ checksum = "2d6914041f254d6e9176c01941b21115dcfb7089e55135a35411081bd106ef3f"
183
+ dependencies = [
184
+ "crossbeam-utils",
185
+ ]
186
+
187
+ [[package]]
188
+ name = "crossbeam-utils"
189
+ version = "0.8.22"
190
+ source = "registry+https://github.com/rust-lang/crates.io-index"
191
+ checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
192
+
193
+ [[package]]
194
+ name = "crypto-common"
195
+ version = "0.1.7"
196
+ source = "registry+https://github.com/rust-lang/crates.io-index"
197
+ checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
198
+ dependencies = [
199
+ "generic-array",
200
+ "typenum",
201
+ ]
202
+
203
+ [[package]]
204
+ name = "digest"
205
+ version = "0.10.7"
206
+ source = "registry+https://github.com/rust-lang/crates.io-index"
207
+ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
208
+ dependencies = [
209
+ "block-buffer",
210
+ "crypto-common",
211
+ ]
212
+
213
+ [[package]]
214
+ name = "either"
215
+ version = "1.18.0"
216
+ source = "registry+https://github.com/rust-lang/crates.io-index"
217
+ checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34"
218
+
219
+ [[package]]
220
+ name = "generic-array"
221
+ version = "0.14.7"
222
+ source = "registry+https://github.com/rust-lang/crates.io-index"
223
+ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
224
+ dependencies = [
225
+ "typenum",
226
+ "version_check",
227
+ ]
228
+
229
+ [[package]]
230
+ name = "heck"
231
+ version = "0.5.0"
232
+ source = "registry+https://github.com/rust-lang/crates.io-index"
233
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
234
+
235
+ [[package]]
236
+ name = "indoc"
237
+ version = "2.0.7"
238
+ source = "registry+https://github.com/rust-lang/crates.io-index"
239
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
240
+ dependencies = [
241
+ "rustversion",
242
+ ]
243
+
244
+ [[package]]
245
+ name = "itoa"
246
+ version = "1.0.18"
247
+ source = "registry+https://github.com/rust-lang/crates.io-index"
248
+ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
249
+
250
+ [[package]]
251
+ name = "libc"
252
+ version = "0.2.189"
253
+ source = "registry+https://github.com/rust-lang/crates.io-index"
254
+ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
255
+
256
+ [[package]]
257
+ name = "memchr"
258
+ version = "2.8.3"
259
+ source = "registry+https://github.com/rust-lang/crates.io-index"
260
+ checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
261
+
262
+ [[package]]
263
+ name = "memoffset"
264
+ version = "0.9.1"
265
+ source = "registry+https://github.com/rust-lang/crates.io-index"
266
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
267
+ dependencies = [
268
+ "autocfg",
269
+ ]
270
+
271
+ [[package]]
272
+ name = "once_cell"
273
+ version = "1.21.4"
274
+ source = "registry+https://github.com/rust-lang/crates.io-index"
275
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
276
+
277
+ [[package]]
278
+ name = "portable-atomic"
279
+ version = "1.15.0"
280
+ source = "registry+https://github.com/rust-lang/crates.io-index"
281
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
282
+
283
+ [[package]]
284
+ name = "proc-macro2"
285
+ version = "1.0.107"
286
+ source = "registry+https://github.com/rust-lang/crates.io-index"
287
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
288
+ dependencies = [
289
+ "unicode-ident",
290
+ ]
291
+
292
+ [[package]]
293
+ name = "pyo3"
294
+ version = "0.22.6"
295
+ source = "registry+https://github.com/rust-lang/crates.io-index"
296
+ checksum = "f402062616ab18202ae8319da13fa4279883a2b8a9d9f83f20dbade813ce1884"
297
+ dependencies = [
298
+ "cfg-if",
299
+ "indoc",
300
+ "libc",
301
+ "memoffset",
302
+ "once_cell",
303
+ "portable-atomic",
304
+ "pyo3-build-config",
305
+ "pyo3-ffi",
306
+ "pyo3-macros",
307
+ "unindent",
308
+ ]
309
+
310
+ [[package]]
311
+ name = "pyo3-build-config"
312
+ version = "0.22.6"
313
+ source = "registry+https://github.com/rust-lang/crates.io-index"
314
+ checksum = "b14b5775b5ff446dd1056212d778012cbe8a0fbffd368029fd9e25b514479c38"
315
+ dependencies = [
316
+ "once_cell",
317
+ "target-lexicon",
318
+ ]
319
+
320
+ [[package]]
321
+ name = "pyo3-ffi"
322
+ version = "0.22.6"
323
+ source = "registry+https://github.com/rust-lang/crates.io-index"
324
+ checksum = "9ab5bcf04a2cdcbb50c7d6105de943f543f9ed92af55818fd17b660390fc8636"
325
+ dependencies = [
326
+ "libc",
327
+ "pyo3-build-config",
328
+ ]
329
+
330
+ [[package]]
331
+ name = "pyo3-macros"
332
+ version = "0.22.6"
333
+ source = "registry+https://github.com/rust-lang/crates.io-index"
334
+ checksum = "0fd24d897903a9e6d80b968368a34e1525aeb719d568dba8b3d4bfa5dc67d453"
335
+ dependencies = [
336
+ "proc-macro2",
337
+ "pyo3-macros-backend",
338
+ "quote",
339
+ "syn 2.0.119",
340
+ ]
341
+
342
+ [[package]]
343
+ name = "pyo3-macros-backend"
344
+ version = "0.22.6"
345
+ source = "registry+https://github.com/rust-lang/crates.io-index"
346
+ checksum = "36c011a03ba1e50152b4b394b479826cad97e7a21eb52df179cd91ac411cbfbe"
347
+ dependencies = [
348
+ "heck",
349
+ "proc-macro2",
350
+ "pyo3-build-config",
351
+ "quote",
352
+ "syn 2.0.119",
353
+ ]
354
+
355
+ [[package]]
356
+ name = "quote"
357
+ version = "1.0.47"
358
+ source = "registry+https://github.com/rust-lang/crates.io-index"
359
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
360
+ dependencies = [
361
+ "proc-macro2",
362
+ ]
363
+
364
+ [[package]]
365
+ name = "rayon"
366
+ version = "1.12.0"
367
+ source = "registry+https://github.com/rust-lang/crates.io-index"
368
+ checksum = "fb39b166781f92d482534ef4b4b1b2568f42613b53e5b6c160e24cfbfa30926d"
369
+ dependencies = [
370
+ "either",
371
+ "rayon-core",
372
+ ]
373
+
374
+ [[package]]
375
+ name = "rayon-core"
376
+ version = "1.13.0"
377
+ source = "registry+https://github.com/rust-lang/crates.io-index"
378
+ checksum = "22e18b0f0062d30d4230b2e85ff77fdfe4326feb054b9783a3460d8435c8ab91"
379
+ dependencies = [
380
+ "crossbeam-deque",
381
+ "crossbeam-utils",
382
+ ]
383
+
384
+ [[package]]
385
+ name = "regex"
386
+ version = "1.13.1"
387
+ source = "registry+https://github.com/rust-lang/crates.io-index"
388
+ checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d"
389
+ dependencies = [
390
+ "aho-corasick",
391
+ "memchr",
392
+ "regex-automata",
393
+ "regex-syntax",
394
+ ]
395
+
396
+ [[package]]
397
+ name = "regex-automata"
398
+ version = "0.4.18"
399
+ source = "registry+https://github.com/rust-lang/crates.io-index"
400
+ checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2"
401
+ dependencies = [
402
+ "aho-corasick",
403
+ "memchr",
404
+ "regex-syntax",
405
+ ]
406
+
407
+ [[package]]
408
+ name = "regex-syntax"
409
+ version = "0.8.11"
410
+ source = "registry+https://github.com/rust-lang/crates.io-index"
411
+ checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
412
+
413
+ [[package]]
414
+ name = "rustversion"
415
+ version = "1.0.23"
416
+ source = "registry+https://github.com/rust-lang/crates.io-index"
417
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
418
+
419
+ [[package]]
420
+ name = "serde"
421
+ version = "1.0.229"
422
+ source = "registry+https://github.com/rust-lang/crates.io-index"
423
+ checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
424
+ dependencies = [
425
+ "serde_core",
426
+ "serde_derive",
427
+ ]
428
+
429
+ [[package]]
430
+ name = "serde_core"
431
+ version = "1.0.229"
432
+ source = "registry+https://github.com/rust-lang/crates.io-index"
433
+ checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
434
+ dependencies = [
435
+ "serde_derive",
436
+ ]
437
+
438
+ [[package]]
439
+ name = "serde_derive"
440
+ version = "1.0.229"
441
+ source = "registry+https://github.com/rust-lang/crates.io-index"
442
+ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
443
+ dependencies = [
444
+ "proc-macro2",
445
+ "quote",
446
+ "syn 3.0.4",
447
+ ]
448
+
449
+ [[package]]
450
+ name = "serde_json"
451
+ version = "1.0.151"
452
+ source = "registry+https://github.com/rust-lang/crates.io-index"
453
+ checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
454
+ dependencies = [
455
+ "itoa",
456
+ "memchr",
457
+ "serde",
458
+ "serde_core",
459
+ "zmij",
460
+ ]
461
+
462
+ [[package]]
463
+ name = "sha2"
464
+ version = "0.10.9"
465
+ source = "registry+https://github.com/rust-lang/crates.io-index"
466
+ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
467
+ dependencies = [
468
+ "cfg-if",
469
+ "cpufeatures",
470
+ "digest",
471
+ ]
472
+
473
+ [[package]]
474
+ name = "syn"
475
+ version = "2.0.119"
476
+ source = "registry+https://github.com/rust-lang/crates.io-index"
477
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
478
+ dependencies = [
479
+ "proc-macro2",
480
+ "quote",
481
+ "unicode-ident",
482
+ ]
483
+
484
+ [[package]]
485
+ name = "syn"
486
+ version = "3.0.4"
487
+ source = "registry+https://github.com/rust-lang/crates.io-index"
488
+ checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f"
489
+ dependencies = [
490
+ "proc-macro2",
491
+ "quote",
492
+ "unicode-ident",
493
+ ]
494
+
495
+ [[package]]
496
+ name = "target-lexicon"
497
+ version = "0.12.16"
498
+ source = "registry+https://github.com/rust-lang/crates.io-index"
499
+ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
500
+
501
+ [[package]]
502
+ name = "typenum"
503
+ version = "1.20.1"
504
+ source = "registry+https://github.com/rust-lang/crates.io-index"
505
+ checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
506
+
507
+ [[package]]
508
+ name = "unicode-ident"
509
+ version = "1.0.24"
510
+ source = "registry+https://github.com/rust-lang/crates.io-index"
511
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
512
+
513
+ [[package]]
514
+ name = "unindent"
515
+ version = "0.2.4"
516
+ source = "registry+https://github.com/rust-lang/crates.io-index"
517
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
518
+
519
+ [[package]]
520
+ name = "version_check"
521
+ version = "0.9.5"
522
+ source = "registry+https://github.com/rust-lang/crates.io-index"
523
+ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
524
+
525
+ [[package]]
526
+ name = "zmij"
527
+ version = "1.0.23"
528
+ source = "registry+https://github.com/rust-lang/crates.io-index"
529
+ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
@@ -0,0 +1,43 @@
1
+ [workspace]
2
+ resolver = "2"
3
+ members = ["crates/*"]
4
+
5
+ [workspace.package]
6
+ version = "0.1.0"
7
+ edition = "2021"
8
+ license = "Apache-2.0"
9
+ rust-version = "1.75"
10
+ repository = "https://github.com/HT-alpha/iGEM-Codon-Optimization-Tool"
11
+
12
+ # Dependency policy (see planning/00-scope/03-architecture-amendments.md AMD-009
13
+ # and RISK-DEP-001/002): every dependency must be redistributable under
14
+ # Apache-2.0. ViennaRNA, LinearFold and LinearDesign are excluded from the
15
+ # dependency tree entirely - not as an optional feature, not behind a flag.
16
+ # Structure prediction goes through the StructureEngine seam against the
17
+ # permissive native kernel.
18
+ [workspace.dependencies]
19
+ serde = { version = "1", features = ["derive"] }
20
+ # `float_roundtrip` is not optional here. Without it serde_json parses floats
21
+ # through a fast path that can land one ulp away from the value that was
22
+ # written, so a document carrying an f64 does not survive a write-read cycle.
23
+ # Every checkpoint in this system carries floats — objective vectors,
24
+ # hypervolume history, constraint violations — so a resumed run would diverge
25
+ # from an uninterrupted one by a rounding error, which is precisely what
26
+ # GATE-REPRO-001 forbids. Found when a tier-3 resume diverged and the diff came
27
+ # down to 0.40476190476190477 becoming 0.4047619047619048.
28
+ serde_json = { version = "1", features = ["float_roundtrip"] }
29
+ sha2 = "0.10"
30
+ regex = "1"
31
+
32
+ [profile.release]
33
+ lto = "thin"
34
+ codegen-units = 1
35
+ panic = "abort"
36
+
37
+ # The search engine is unusable at `dev` optimization levels, and the
38
+ # property tests in cf-types/cf-constraints run 10^4-10^6 iterations.
39
+ [profile.dev]
40
+ opt-level = 1
41
+
42
+ [profile.test]
43
+ opt-level = 1