diffbio 0.1.0__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.
Files changed (202) hide show
  1. diffbio/__init__.py +39 -0
  2. diffbio/configs.py +75 -0
  3. diffbio/constants.py +204 -0
  4. diffbio/core/__init__.py +127 -0
  5. diffbio/core/base_operators.py +612 -0
  6. diffbio/core/data_types.py +260 -0
  7. diffbio/core/gnn_components.py +629 -0
  8. diffbio/core/graph_utils.py +149 -0
  9. diffbio/core/neural_components.py +270 -0
  10. diffbio/core/optimal_transport.py +133 -0
  11. diffbio/core/soft_ops/__init__.py +216 -0
  12. diffbio/core/soft_ops/_projections_permutahedron.py +1864 -0
  13. diffbio/core/soft_ops/_projections_simplex.py +240 -0
  14. diffbio/core/soft_ops/_projections_transport.py +508 -0
  15. diffbio/core/soft_ops/_sorting_network.py +204 -0
  16. diffbio/core/soft_ops/_types.py +15 -0
  17. diffbio/core/soft_ops/_utils.py +342 -0
  18. diffbio/core/soft_ops/autograd_safe.py +120 -0
  19. diffbio/core/soft_ops/comparison.py +235 -0
  20. diffbio/core/soft_ops/elementwise.py +309 -0
  21. diffbio/core/soft_ops/logical.py +146 -0
  22. diffbio/core/soft_ops/quantile.py +376 -0
  23. diffbio/core/soft_ops/selection.py +236 -0
  24. diffbio/core/soft_ops/sorting.py +926 -0
  25. diffbio/core/soft_ops/straight_through.py +261 -0
  26. diffbio/core/uncertainty.py +279 -0
  27. diffbio/evaluation/__init__.py +42 -0
  28. diffbio/evaluation/adapters.py +409 -0
  29. diffbio/evaluation/graders.py +223 -0
  30. diffbio/evaluation/problem.py +157 -0
  31. diffbio/evaluation/runner.py +277 -0
  32. diffbio/losses/__init__.py +59 -0
  33. diffbio/losses/alignment_losses.py +222 -0
  34. diffbio/losses/biological_regularization.py +288 -0
  35. diffbio/losses/metric_losses.py +139 -0
  36. diffbio/losses/singlecell_losses.py +387 -0
  37. diffbio/losses/statistical_losses.py +345 -0
  38. diffbio/operators/__init__.py +60 -0
  39. diffbio/operators/_count_vae.py +197 -0
  40. diffbio/operators/_loss_balancing.py +65 -0
  41. diffbio/operators/_masked_gene_transformer.py +118 -0
  42. diffbio/operators/_transformer_validation.py +50 -0
  43. diffbio/operators/alignment/__init__.py +51 -0
  44. diffbio/operators/alignment/profile_hmm.py +350 -0
  45. diffbio/operators/alignment/scoring.py +127 -0
  46. diffbio/operators/alignment/smith_waterman.py +261 -0
  47. diffbio/operators/alignment/soft_msa.py +419 -0
  48. diffbio/operators/assembly/__init__.py +27 -0
  49. diffbio/operators/assembly/gnn_assembly.py +252 -0
  50. diffbio/operators/assembly/metagenomic_binning.py +296 -0
  51. diffbio/operators/crispr/__init__.py +17 -0
  52. diffbio/operators/crispr/guide_scoring.py +269 -0
  53. diffbio/operators/drug_discovery/__init__.py +133 -0
  54. diffbio/operators/drug_discovery/_graph_utils.py +142 -0
  55. diffbio/operators/drug_discovery/admet_predictor.py +285 -0
  56. diffbio/operators/drug_discovery/attentive_fp.py +411 -0
  57. diffbio/operators/drug_discovery/dti.py +261 -0
  58. diffbio/operators/drug_discovery/fingerprint.py +490 -0
  59. diffbio/operators/drug_discovery/maccs_keys.py +267 -0
  60. diffbio/operators/drug_discovery/message_passing.py +200 -0
  61. diffbio/operators/drug_discovery/primitives.py +242 -0
  62. diffbio/operators/drug_discovery/property_predictor.py +163 -0
  63. diffbio/operators/drug_discovery/similarity.py +193 -0
  64. diffbio/operators/epigenomics/__init__.py +35 -0
  65. diffbio/operators/epigenomics/chromatin_state.py +491 -0
  66. diffbio/operators/epigenomics/contextual.py +288 -0
  67. diffbio/operators/epigenomics/fno_peak_calling.py +153 -0
  68. diffbio/operators/epigenomics/peak_calling.py +555 -0
  69. diffbio/operators/foundation_models/__init__.py +119 -0
  70. diffbio/operators/foundation_models/adapters.py +114 -0
  71. diffbio/operators/foundation_models/contracts.py +245 -0
  72. diffbio/operators/foundation_models/embedding_probe.py +83 -0
  73. diffbio/operators/foundation_models/experimental.py +128 -0
  74. diffbio/operators/foundation_models/foundation_model.py +332 -0
  75. diffbio/operators/foundation_models/frozen.py +59 -0
  76. diffbio/operators/foundation_models/precomputed.py +270 -0
  77. diffbio/operators/foundation_models/transformer_encoder.py +564 -0
  78. diffbio/operators/mapping/__init__.py +17 -0
  79. diffbio/operators/mapping/neural_mapper.py +493 -0
  80. diffbio/operators/metabolomics/__init__.py +39 -0
  81. diffbio/operators/metabolomics/spectral_similarity.py +315 -0
  82. diffbio/operators/molecular_dynamics/__init__.py +51 -0
  83. diffbio/operators/molecular_dynamics/force_field.py +265 -0
  84. diffbio/operators/molecular_dynamics/integrator.py +304 -0
  85. diffbio/operators/molecular_dynamics/primitives.py +115 -0
  86. diffbio/operators/multiomics/__init__.py +38 -0
  87. diffbio/operators/multiomics/hic_contact.py +377 -0
  88. diffbio/operators/multiomics/multiomics_vae.py +325 -0
  89. diffbio/operators/multiomics/spatial_deconvolution.py +316 -0
  90. diffbio/operators/multiomics/spatial_gene_detection.py +493 -0
  91. diffbio/operators/normalization/__init__.py +42 -0
  92. diffbio/operators/normalization/embedding.py +222 -0
  93. diffbio/operators/normalization/phate.py +400 -0
  94. diffbio/operators/normalization/umap.py +261 -0
  95. diffbio/operators/normalization/vae_normalizer.py +258 -0
  96. diffbio/operators/population/__init__.py +17 -0
  97. diffbio/operators/population/ancestry_estimation.py +274 -0
  98. diffbio/operators/preprocessing/__init__.py +76 -0
  99. diffbio/operators/preprocessing/adapter_removal.py +311 -0
  100. diffbio/operators/preprocessing/duplicate_filter.py +317 -0
  101. diffbio/operators/preprocessing/error_correction.py +287 -0
  102. diffbio/operators/protein/__init__.py +31 -0
  103. diffbio/operators/protein/secondary_structure.py +509 -0
  104. diffbio/operators/quality_filter.py +128 -0
  105. diffbio/operators/rna_structure/__init__.py +35 -0
  106. diffbio/operators/rna_structure/rna_folding.py +509 -0
  107. diffbio/operators/rnaseq/__init__.py +23 -0
  108. diffbio/operators/rnaseq/motif_discovery.py +251 -0
  109. diffbio/operators/rnaseq/splicing_psi.py +216 -0
  110. diffbio/operators/singlecell/__init__.py +193 -0
  111. diffbio/operators/singlecell/ambient_removal.py +333 -0
  112. diffbio/operators/singlecell/archetypes.py +191 -0
  113. diffbio/operators/singlecell/batch_correction.py +288 -0
  114. diffbio/operators/singlecell/cell_annotation.py +519 -0
  115. diffbio/operators/singlecell/communication.py +704 -0
  116. diffbio/operators/singlecell/differential_distribution.py +243 -0
  117. diffbio/operators/singlecell/doublet_detection.py +657 -0
  118. diffbio/operators/singlecell/downsampling.py +166 -0
  119. diffbio/operators/singlecell/enhanced_batch_correction.py +519 -0
  120. diffbio/operators/singlecell/grn_inference.py +336 -0
  121. diffbio/operators/singlecell/imputation.py +429 -0
  122. diffbio/operators/singlecell/knockdown_filter.py +176 -0
  123. diffbio/operators/singlecell/ot_trajectory.py +277 -0
  124. diffbio/operators/singlecell/simulation.py +444 -0
  125. diffbio/operators/singlecell/sindy_grn.py +247 -0
  126. diffbio/operators/singlecell/soft_clustering.py +211 -0
  127. diffbio/operators/singlecell/spatial_domains.py +677 -0
  128. diffbio/operators/singlecell/switch_de.py +184 -0
  129. diffbio/operators/singlecell/trajectory.py +447 -0
  130. diffbio/operators/singlecell/velocity.py +361 -0
  131. diffbio/operators/statistical/__init__.py +35 -0
  132. diffbio/operators/statistical/em_quantification.py +260 -0
  133. diffbio/operators/statistical/hmm.py +234 -0
  134. diffbio/operators/statistical/nb_glm.py +272 -0
  135. diffbio/operators/variant/__init__.py +64 -0
  136. diffbio/operators/variant/classifier.py +333 -0
  137. diffbio/operators/variant/cnn_classifier.py +255 -0
  138. diffbio/operators/variant/cnv_segmentation.py +678 -0
  139. diffbio/operators/variant/deepvariant_pileup.py +426 -0
  140. diffbio/operators/variant/pileup.py +240 -0
  141. diffbio/operators/variant/quality_recalibration.py +274 -0
  142. diffbio/pipelines/__init__.py +65 -0
  143. diffbio/pipelines/differential_expression.py +279 -0
  144. diffbio/pipelines/enhanced_variant_calling.py +326 -0
  145. diffbio/pipelines/perturbation.py +407 -0
  146. diffbio/pipelines/preprocessing.py +267 -0
  147. diffbio/pipelines/single_cell.py +366 -0
  148. diffbio/pipelines/variant_calling.py +490 -0
  149. diffbio/samplers/__init__.py +9 -0
  150. diffbio/samplers/perturbation_sampler.py +142 -0
  151. diffbio/sequences/__init__.py +34 -0
  152. diffbio/sequences/dna.py +239 -0
  153. diffbio/sources/__init__.py +149 -0
  154. diffbio/sources/_anndata_shared.py +89 -0
  155. diffbio/sources/_batch_iteration.py +37 -0
  156. diffbio/sources/_benchmark_source.py +152 -0
  157. diffbio/sources/_indexed_batch_source.py +38 -0
  158. diffbio/sources/_utils.py +45 -0
  159. diffbio/sources/anndata_interop.py +387 -0
  160. diffbio/sources/anndata_source.py +361 -0
  161. diffbio/sources/archive_ii.py +174 -0
  162. diffbio/sources/balifam.py +207 -0
  163. diffbio/sources/bam.py +265 -0
  164. diffbio/sources/bengrn_ground_truth.py +306 -0
  165. diffbio/sources/contextual_epigenomics.py +242 -0
  166. diffbio/sources/dti.py +359 -0
  167. diffbio/sources/embeddings.py +203 -0
  168. diffbio/sources/encode_peaks.py +223 -0
  169. diffbio/sources/fasta.py +226 -0
  170. diffbio/sources/immune_human.py +172 -0
  171. diffbio/sources/indexed_embeddings.py +128 -0
  172. diffbio/sources/indexed_view.py +191 -0
  173. diffbio/sources/molnet.py +493 -0
  174. diffbio/sources/multiomics.py +279 -0
  175. diffbio/sources/pancreas.py +108 -0
  176. diffbio/sources/perturbation/__init__.py +69 -0
  177. diffbio/sources/perturbation/_types.py +51 -0
  178. diffbio/sources/perturbation/_utils.py +125 -0
  179. diffbio/sources/perturbation/concat_source.py +115 -0
  180. diffbio/sources/perturbation/control_mapping.py +215 -0
  181. diffbio/sources/perturbation/experiment_config.py +261 -0
  182. diffbio/sources/perturbation/h5_metadata_cache.py +218 -0
  183. diffbio/sources/perturbation/output_space.py +52 -0
  184. diffbio/sources/perturbation/perturbation_source.py +513 -0
  185. diffbio/sources/seqfish.py +145 -0
  186. diffbio/sources/sequence_foundation.py +68 -0
  187. diffbio/sources/singlecell_foundation.py +68 -0
  188. diffbio/splitters/__init__.py +63 -0
  189. diffbio/splitters/base.py +251 -0
  190. diffbio/splitters/molecular.py +330 -0
  191. diffbio/splitters/perturbation.py +199 -0
  192. diffbio/splitters/random.py +217 -0
  193. diffbio/splitters/sequence.py +201 -0
  194. diffbio/utils/__init__.py +55 -0
  195. diffbio/utils/dependency_runtime.py +115 -0
  196. diffbio/utils/nn_utils.py +157 -0
  197. diffbio/utils/quality.py +45 -0
  198. diffbio/utils/training.py +585 -0
  199. diffbio-0.1.0.dist-info/METADATA +480 -0
  200. diffbio-0.1.0.dist-info/RECORD +202 -0
  201. diffbio-0.1.0.dist-info/WHEEL +4 -0
  202. diffbio-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,202 @@
1
+ diffbio/__init__.py,sha256=Yxlaemi6lg6xvrGXmUhoDNlBgCLi3mIhbhUQ5ilhhtc,994
2
+ diffbio/configs.py,sha256=VI3J06Ygf5_YlE9NvI9FPDyuqP3mZvT84TY2KqnNPBk,2415
3
+ diffbio/constants.py,sha256=ikilPqMMXDqszPuZHkrImGB9HA58O7EucY96ELnfeI8,5963
4
+ diffbio/core/__init__.py,sha256=pxb8TPw9YTDNVXNoz521b3eZ0YzWgXmto-K6DVxtjNU,4100
5
+ diffbio/core/base_operators.py,sha256=Hxs-4njJ6YYQUc3LdkqB3B3NdoyStzA0nzq7PjNtVLQ,20936
6
+ diffbio/core/data_types.py,sha256=-Rw7AEZzi5gICk66Yu-xoHG2T_KXj06TeHizyX3SGfg,6644
7
+ diffbio/core/gnn_components.py,sha256=iKFA0MEJ9TTVLhE_JDqo3HLIKtMRAmfxemqX2SKCK_Y,22209
8
+ diffbio/core/graph_utils.py,sha256=8y40XP7AGTn214a76l7XTEj79fwO0kJcer33_65ydEw,5158
9
+ diffbio/core/neural_components.py,sha256=yGvb3TgDo7_qGxhatd9TQRWb5duN0Vm6snQ9pnB0oRI,9463
10
+ diffbio/core/optimal_transport.py,sha256=rmqD_0ARx0pB5p9NZuB6qXZUPdwNZd6r94vUYu0lChs,4370
11
+ diffbio/core/uncertainty.py,sha256=ifk67x-D5kgdhDabcqXxF5tz3GLLcl4pdo-nDrPqa1U,9175
12
+ diffbio/core/soft_ops/__init__.py,sha256=ZEcU5HAo5NA8pSOymJuJWfgJaX_jUN8Hr3LGqDKxrr8,3831
13
+ diffbio/core/soft_ops/_projections_permutahedron.py,sha256=Xab3mqeCGtoCWlhXz7Rf7JX-eIcP9caQV_AtZI0y-GY,51793
14
+ diffbio/core/soft_ops/_projections_simplex.py,sha256=T1kqWvCmAaQoHii2BqyqchOf-wYPWPbB2rAmFPFuRDU,7932
15
+ diffbio/core/soft_ops/_projections_transport.py,sha256=pXDNFnwOASjQrTX1Kt0u2n_fzs-aUKRzYUKlyEyVNrw,15896
16
+ diffbio/core/soft_ops/_sorting_network.py,sha256=Wd0Iv4_LUJ3zTuITt2Njdn4w8G89dmHn45JZDaSHcOU,6430
17
+ diffbio/core/soft_ops/_types.py,sha256=EDpLKZSFHnc5C1KEugJZfAUi-98ngVy6zIanqkfu41I,479
18
+ diffbio/core/soft_ops/_utils.py,sha256=aV6aeU08yuNz0tme3DAXghm2y__uu8AtAQM8DwTThIw,9766
19
+ diffbio/core/soft_ops/autograd_safe.py,sha256=0TdFkKWro7F2TO9q6PvuV6676hiVeh0ETN-hg2yc5t0,3341
20
+ diffbio/core/soft_ops/comparison.py,sha256=SoelwU0LuYpX3I8HIbuigxyf6X9aBXcg75r6Bq5prKk,5942
21
+ diffbio/core/soft_ops/elementwise.py,sha256=b5ViHd5v0FjWkkeiuUVooWPMiSkPMwqjoMy8q7aaPG0,9041
22
+ diffbio/core/soft_ops/logical.py,sha256=kYwu_-ubbvydfcc8VNibnyg-fmq48PDKDunFH5R7IaU,3479
23
+ diffbio/core/soft_ops/quantile.py,sha256=oWtlra40701zLYXiDPcPKj4HmAudPY-LzxaUOm4pg7w,10641
24
+ diffbio/core/soft_ops/selection.py,sha256=qmBLMgQyOlFrXMDL64zByO1D1cgvorVbQQ4F7lavwaw,7505
25
+ diffbio/core/soft_ops/sorting.py,sha256=ImF9ouKnikB43fjJiqLLKiDlk5lCG4zSumaMinYi--A,29458
26
+ diffbio/core/soft_ops/straight_through.py,sha256=8VNSiRKUZ8GtUdoCRPxOass9jNeYsx6C4W__qod1x8M,8731
27
+ diffbio/evaluation/__init__.py,sha256=5Cx3D6MFm4YUP0YyPsqwqRbccU-M6TowvnGo0cFaMIc,1179
28
+ diffbio/evaluation/adapters.py,sha256=tbBjA-_X1XE3QF1cmb8pAHp_BX8itc3FrbKV8lA3ngw,14780
29
+ diffbio/evaluation/graders.py,sha256=0PS8bhuul_0NVOsT1BnKEz3uUwJib4idiTt0g-kIvEQ,7156
30
+ diffbio/evaluation/problem.py,sha256=xAIHa4t77m2Z6OAYi1CzHJi50DVAHlY6I5E_SGIEwU4,5174
31
+ diffbio/evaluation/runner.py,sha256=nuuQXVsmtZpxj9tLNg5oSg55C0SEZ8VQFZgLNf3TMj8,8656
32
+ diffbio/losses/__init__.py,sha256=qEwse3beXwIZ7ClAh-dN_8cL7cYwiw9MXsuB1YbSypo,1660
33
+ diffbio/losses/alignment_losses.py,sha256=lp6T1E5ZlkkAwndNeL7pg0QXePGrsiROxCARJI60_vk,7890
34
+ diffbio/losses/biological_regularization.py,sha256=ZfxFbvZc7DPA9WmH7jGstepPLy0dk3ZBC8meOtqFKQs,9352
35
+ diffbio/losses/metric_losses.py,sha256=Oy-xVps6_s-MJfyO4nzXlQNfcCS76vQ-uba9KNqJj94,4817
36
+ diffbio/losses/singlecell_losses.py,sha256=jynsT7m2eFqmvGuit3drxWhvgZwJQf1y_IryVM1gX4Y,14377
37
+ diffbio/losses/statistical_losses.py,sha256=TrckCdJUDWPs-Py-rcpbdsntaoHrgn3RhgKtXUMZ7bw,11172
38
+ diffbio/operators/__init__.py,sha256=sEvIUoOmE-AenntfZ8Y4nd2ajsuCCKXILpmJmwQDrBw,1743
39
+ diffbio/operators/_count_vae.py,sha256=x-RnKVenMAZv9MESkBNJyJuxdThQETF9wEDytuWTFZk,6189
40
+ diffbio/operators/_loss_balancing.py,sha256=8IjSW66Uokn972z0TaQNkZgW1gxLbORyEERrFQIoJpg,1798
41
+ diffbio/operators/_masked_gene_transformer.py,sha256=pNR2CWWLndDytAcNCZOIU2XyE8vcuw_mvSCkgrVSOrk,3622
42
+ diffbio/operators/_transformer_validation.py,sha256=PY8_fx5aJ-cnL55NE6RoSM3UoQsUT5nU-XzIoLKkjRs,1644
43
+ diffbio/operators/quality_filter.py,sha256=1UBUa4t3c5juxvhVHxPCjWG3jsHZ0fP6-PZel7YS21I,4560
44
+ diffbio/operators/alignment/__init__.py,sha256=vjdtxh-0-FgP2F2sv8YeE1YeMPzhG8S5dAJcdM8p9WY,1251
45
+ diffbio/operators/alignment/profile_hmm.py,sha256=-MMsmmg02Fk-y2inmrDP4quUH8F2hVBC4iY1rMEIZ6s,12941
46
+ diffbio/operators/alignment/scoring.py,sha256=0OztWmJJhMHCk7cpiy-xwGV251E_6LrZ_XZEQaF3jhk,4603
47
+ diffbio/operators/alignment/smith_waterman.py,sha256=xoFw8Nz9rFKagCFlDeW9Hr33MOSKiw-25kjdxOzk3W4,9291
48
+ diffbio/operators/alignment/soft_msa.py,sha256=iKnOzAgzXDs0tFnV6Fdko1TgbO0Y_x2XNOsf0bYCheg,13638
49
+ diffbio/operators/assembly/__init__.py,sha256=r1HW7ru2QKYWhhtosxAQJrLhQdWbEkUiersftr5oOYg,804
50
+ diffbio/operators/assembly/gnn_assembly.py,sha256=_lJQ6FUU0jn1kqi-EertnAzsxtm8omvQ0NNkKqS6lGI,8555
51
+ diffbio/operators/assembly/metagenomic_binning.py,sha256=m1jldtiIWM9qP0Mr9Cd0eJO3LELzGk9XycN2J6xS060,10529
52
+ diffbio/operators/crispr/__init__.py,sha256=sdwEFwFYcplTer82H9ZWIgvj-1UJo2AMSvgrBx_AbII,410
53
+ diffbio/operators/crispr/guide_scoring.py,sha256=Bk5NAGEzVRiM2A08qGfXcKaQhlDhfnR_3Ks42wK5m94,9066
54
+ diffbio/operators/drug_discovery/__init__.py,sha256=cQDPn_zcAFkrebaP9vD4szS6J2Lj85AxFs72dvL_z4E,4014
55
+ diffbio/operators/drug_discovery/_graph_utils.py,sha256=X81UAu1ufmBGw4mIC6w4lPWzhaFTcZ_wDVoZgCFEkUM,4368
56
+ diffbio/operators/drug_discovery/admet_predictor.py,sha256=LFNDHGtH7vPhcDG-GiV23A7X6w8_bkaI-zz5AcdtJIs,9619
57
+ diffbio/operators/drug_discovery/attentive_fp.py,sha256=04y-mRa6hhCdl8ZRxR_nsxPNlOULm7gmKhyyRCRNzi4,13746
58
+ diffbio/operators/drug_discovery/dti.py,sha256=dwA8SU_nQ28tFxudM8GbavTcR04Bicgwt-sVUxy7cWE,9811
59
+ diffbio/operators/drug_discovery/fingerprint.py,sha256=po-keCh0sLZvEnUWxZxaHKN4Ke-yNiuSZZT_F3OGvV8,17185
60
+ diffbio/operators/drug_discovery/maccs_keys.py,sha256=qhaD6yXmwFun0eTfBqHCfHlksUsG9E-hdiFPmEWprpw,9093
61
+ diffbio/operators/drug_discovery/message_passing.py,sha256=HpQvTHd3TQ8JrAih3g2XVtB9D6T_jrYK4JLD_chbI3c,6549
62
+ diffbio/operators/drug_discovery/primitives.py,sha256=uWPKvKIWxN-aQfxFTIr00Ui3KyQxoit_j5l70xnDKO0,8101
63
+ diffbio/operators/drug_discovery/property_predictor.py,sha256=duip3J3IJ-D5Leh6N2uAhv0uHF0OxOyQaKqLnlbqFUw,5569
64
+ diffbio/operators/drug_discovery/similarity.py,sha256=nvGR2166heOCkFChFwLJx6lntwy_4rM0WOEPyOi9zFc,5971
65
+ diffbio/operators/epigenomics/__init__.py,sha256=MQyIBoFU9LUgDzdv7YFeqgG8DpcmUv8-WjinYrf9t5I,1007
66
+ diffbio/operators/epigenomics/chromatin_state.py,sha256=4dEsdQiM8gmqeX2vKyiAAwLQ_apY8dqcZ82mHWY8cVA,19100
67
+ diffbio/operators/epigenomics/contextual.py,sha256=aB9kYLIJhScK68bNSHTZEIh1YUwQ0ezjKUZcF5Gc7Rc,10359
68
+ diffbio/operators/epigenomics/fno_peak_calling.py,sha256=qX9pF2gIaSnzP-u-ROflpWpWOvBst39JexTLh7GdzFs,5082
69
+ diffbio/operators/epigenomics/peak_calling.py,sha256=NNg9QKroFYOLQraTG8h87TcYjTi3IBrZo1kfncYzxNU,19231
70
+ diffbio/operators/foundation_models/__init__.py,sha256=icqeMkmJfy8rGCEoVa1LJb_wdF_ZW8qb0xFerrlSJgg,4048
71
+ diffbio/operators/foundation_models/adapters.py,sha256=7kckA3OZ40yc4R5ZlJolT3S59MIeihguNu418zBp4bY,4002
72
+ diffbio/operators/foundation_models/contracts.py,sha256=VrJK6LXsUHtS79gkvW2SEChXHIWg_5uAr3gofbKj00M,8156
73
+ diffbio/operators/foundation_models/embedding_probe.py,sha256=A4WzzcvtVyU_GhxwraHWJFJwsMmdL9LIcV_5Cpu8xkk,2385
74
+ diffbio/operators/foundation_models/experimental.py,sha256=_FdhyhXT3aeT8cdeMERI3tSubTy9xDX2aK4CU0pA6ts,4926
75
+ diffbio/operators/foundation_models/foundation_model.py,sha256=-cq2MBZI_Hn4s1L4PgoS8N-chbjDPMzd8F1qUNcBmT8,12897
76
+ diffbio/operators/foundation_models/frozen.py,sha256=4RIBL99MJozukraSXqonHuYFop0KZ8zWZUsfesVWA5s,2109
77
+ diffbio/operators/foundation_models/precomputed.py,sha256=9X8dqFnWKTWtkqcx0N1Q90bvt4n3aAkTlZvau_0i8oA,9292
78
+ diffbio/operators/foundation_models/transformer_encoder.py,sha256=-WAW-K7soHpzTieW_H6J8jDM76T_4znfESgScYUeyrs,19455
79
+ diffbio/operators/mapping/__init__.py,sha256=r-tBhvVFa-tNuciqLhimhnsrEDuIdUb8tW7vBw2Pyrw,422
80
+ diffbio/operators/mapping/neural_mapper.py,sha256=xhaO8IZPCzM6ZjTL-dlKbH_-6O4nif7EfTlWxjI0lHY,15307
81
+ diffbio/operators/metabolomics/__init__.py,sha256=y9Jz0JGoQxPo1CPIZxdkQuNxlkXk10Z3vQdGIH1XiE4,1218
82
+ diffbio/operators/metabolomics/spectral_similarity.py,sha256=2ArCbNYWdcngcjHuVApeaPwklQIDTqf95Tbxu8roa3s,11228
83
+ diffbio/operators/molecular_dynamics/__init__.py,sha256=AfHyA1SCNXbmdeAyZcVr1e69gOgPS-AQPkk8DxhFUg4,1586
84
+ diffbio/operators/molecular_dynamics/force_field.py,sha256=VhswkAr2WQ2g4MLW_wCSEKDoNPfWxS8-Il9htoUFfps,8868
85
+ diffbio/operators/molecular_dynamics/integrator.py,sha256=ew4bNFvpo8KQhKCoiMLyADRawh1qOrUAYLVRTu1jVSs,10291
86
+ diffbio/operators/molecular_dynamics/primitives.py,sha256=L6sGozRfQ6OceT7WnRxt_rUfmK2YlN_U7euEA8uJMSQ,3818
87
+ diffbio/operators/multiomics/__init__.py,sha256=8jHBdYJRSacpdBWqdtnNyWOAw6EkDWOFQe0qJsIHP3c,1266
88
+ diffbio/operators/multiomics/hic_contact.py,sha256=GQmJ4ZEZddrkoSytZWZdNR3E_HzqYZBiykfl0J3gsEA,11859
89
+ diffbio/operators/multiomics/multiomics_vae.py,sha256=CSQS14asXS43ByVMqBs5TvMevI2F9760XMjlzZEfWdI,12551
90
+ diffbio/operators/multiomics/spatial_deconvolution.py,sha256=SzsGpiN9DWTsCKJE8zQ-cjPFNj1uY9z35D2l2lXgj-w,10472
91
+ diffbio/operators/multiomics/spatial_gene_detection.py,sha256=DLUbHYR_9vfHtUuTmtrdylwZlg58CEbtHkPtY3H6gsA,17520
92
+ diffbio/operators/normalization/__init__.py,sha256=DXByV24PotsA4NAzfAXYP8nc_i6sk9UTNp8C2zim7b4,1051
93
+ diffbio/operators/normalization/embedding.py,sha256=24D0QALjD2w96A8Z82Xei6OtO_dJ5EsHgJwqIFOPE9o,7260
94
+ diffbio/operators/normalization/phate.py,sha256=bDsvZkxOn6Va985yW5AjceahCoCm404YU0mU_6D5oSg,14835
95
+ diffbio/operators/normalization/umap.py,sha256=7GXcnTL8VAKVWO5Wi9WkCYAygmjq-v1r2huBUSiaFak,9097
96
+ diffbio/operators/normalization/vae_normalizer.py,sha256=a9fWQsn1imneoBCoKLY1grF7rEXhRJPQ6Jdr3i1qCZc,9146
97
+ diffbio/operators/population/__init__.py,sha256=LvWmUoI6ydPI528iVz85fndod9cIfhFr6irXHPuGNJ4,455
98
+ diffbio/operators/population/ancestry_estimation.py,sha256=xoF6mAKA47CvNKl6s3DOWl-AuiNl-Nmfekh0HoiMUAE,9400
99
+ diffbio/operators/preprocessing/__init__.py,sha256=h95o5TvarQMPJEzTwIBGW4ZHeTd4dy08NxSt-lkaAiw,2381
100
+ diffbio/operators/preprocessing/adapter_removal.py,sha256=dT6HXIIdRcuaWRFNvRJWrT338x_eIlOl2G_VjgyGX2E,11491
101
+ diffbio/operators/preprocessing/duplicate_filter.py,sha256=-iAzhPKWatEGmp9UtSlZT0o3iPXoq-p3fGonECqkInQ,11396
102
+ diffbio/operators/preprocessing/error_correction.py,sha256=_4RwYZzASTnA-oSB9FIyKb1clGZlPMgPHj9N-2Gg-sc,10083
103
+ diffbio/operators/protein/__init__.py,sha256=5CoB6jrRRkjrW96aR-et5DdSRTtmEppPd_MM8kWmhoE,1027
104
+ diffbio/operators/protein/secondary_structure.py,sha256=ZW6ni8V1oA0ADgZZeiEBq2rF9MuXIKeKnDKJBetVfjQ,17980
105
+ diffbio/operators/rna_structure/__init__.py,sha256=qBoJYowQwnDX-FOwee7lFcdqgqM7387SW-lLF94Dji4,1052
106
+ diffbio/operators/rna_structure/rna_folding.py,sha256=Vouu5uIIj7xo79fx4UgXDkRRqx-JrTQvqNhAV42s9vQ,17791
107
+ diffbio/operators/rnaseq/__init__.py,sha256=Gd4Wb4BE-jnujuJvcwBHrJaGI1NuuSWvbILhUO8qE74,602
108
+ diffbio/operators/rnaseq/motif_discovery.py,sha256=9LE8fuvME-010Ytq_wVETGmw1KD79tpJaTBToNnjxiU,8567
109
+ diffbio/operators/rnaseq/splicing_psi.py,sha256=98MoujwpTgUfVwZxPkjFlhSUOp-AZ7SQFqa612eOcrA,7250
110
+ diffbio/operators/singlecell/__init__.py,sha256=8GxfalMkCzztowbB1lRiHCo864vKsRkl6h5nl0MeLRc,6429
111
+ diffbio/operators/singlecell/ambient_removal.py,sha256=R72FIMunp-k8bosHKxKw-J-9kzy5aNeE2dmPt2VCbR4,11232
112
+ diffbio/operators/singlecell/archetypes.py,sha256=2pPrr8HAH_A7Enm2icU9aVshUAfgBdVV24OduniEaa0,6367
113
+ diffbio/operators/singlecell/batch_correction.py,sha256=FS16HMPLSvz-hoxSymMRz_zsB9BX2Ljk7vF26RfoJvU,10119
114
+ diffbio/operators/singlecell/cell_annotation.py,sha256=lffhrUNnP9AfF5Xw7LUuP1UK5Vq2nM8QPmoeCtxlK8o,20405
115
+ diffbio/operators/singlecell/communication.py,sha256=f7sezUy7QFR7mdK0jzXpxN_2dLvZAEKb3iDkeLE0T5M,25708
116
+ diffbio/operators/singlecell/differential_distribution.py,sha256=kZiPFtFEi21LQrvflUZZYKAMMv2Q7gv_C8wdWwWplo8,9627
117
+ diffbio/operators/singlecell/doublet_detection.py,sha256=TRIt5W_q67zzqSWCK_zDa-h8zFozMNqVoco2vcK4Slw,24897
118
+ diffbio/operators/singlecell/downsampling.py,sha256=4LnPqAp2hgj6-homLmEfF9pPMFYF2hQCNSDqVFSI-4A,5437
119
+ diffbio/operators/singlecell/enhanced_batch_correction.py,sha256=CgwE952t27asFfFvIdFqvZJfdC1P5dVT3M8ldESWpwQ,18594
120
+ diffbio/operators/singlecell/grn_inference.py,sha256=-tLsI48WhHprMoD_7xu4Hb_0J_KQz02MZyl6DVawQ_o,12607
121
+ diffbio/operators/singlecell/imputation.py,sha256=dE05PkaOlpQMOwdkzJuZx4Br7eATFSp9EraN7gutlBE,15892
122
+ diffbio/operators/singlecell/knockdown_filter.py,sha256=pM_BeRwUFM4X3RNB-UaHpECpKM3RsVQJaLCx5g1aMmM,6032
123
+ diffbio/operators/singlecell/ot_trajectory.py,sha256=N3Hjt83jOVksuNvHvV-bnTL8fE38dEqwtyhcwVdLKlU,10082
124
+ diffbio/operators/singlecell/simulation.py,sha256=CBpjA3fpFAzJOmr9u1v6HEqQrFpTAiOsa3IBe-xyrQU,16881
125
+ diffbio/operators/singlecell/sindy_grn.py,sha256=FKnsxkd334nR_5b33B8shNKY1-cZCFc8yoWmEbtDOsM,7992
126
+ diffbio/operators/singlecell/soft_clustering.py,sha256=o3TM3R562BzpjRn59FOXDv7Mu3QZHcrV8Ats8vrx5cE,7004
127
+ diffbio/operators/singlecell/spatial_domains.py,sha256=1zg5WHZVItpH2yi_P4nmFP4GwgfkCMvfSApHW-6F14w,24914
128
+ diffbio/operators/singlecell/switch_de.py,sha256=ciTIImZ2l_PsGvQuEAVhaTPCMWlBB4LFK5JrAPQ0X7k,6308
129
+ diffbio/operators/singlecell/trajectory.py,sha256=ZhuWTgC6ZVNoC5R_qxE7mW0aWyKuo4Crv_7KCMwhJ_U,16530
130
+ diffbio/operators/singlecell/velocity.py,sha256=UOMTH5lu6q1Lic4WJYuSIwykorY8nvj8lovH-XmfSPQ,11050
131
+ diffbio/operators/statistical/__init__.py,sha256=2mEKtbuY23_2D6HpRXRYQ1hr97V8Cd4MHngIHDebPVI,838
132
+ diffbio/operators/statistical/em_quantification.py,sha256=hYttdDaT0j4ceGyk0wQFskoXsnHqCVjiUNikbVPA9h4,9060
133
+ diffbio/operators/statistical/hmm.py,sha256=0y9QGtB07r5azWm1q1orUesravqkrEj8QVZsrPi_8_g,8041
134
+ diffbio/operators/statistical/nb_glm.py,sha256=VFUl7UZzVzygwxM7JkPyrFtMk0POjuthLNzPnsxJ7gg,8620
135
+ diffbio/operators/variant/__init__.py,sha256=09pV__85zjXCdvRIuwBZFmtgb_0kWdLJ38-H3raSfec,2131
136
+ diffbio/operators/variant/classifier.py,sha256=H_sEbrLpXpqbb2h9hsaHylQIEIKjnnZG_TUE-1gn8yE,11886
137
+ diffbio/operators/variant/cnn_classifier.py,sha256=Uir6tfUTWgHd2w7BR1O510It2L-gXxkyW_Ma468NpQ0,8400
138
+ diffbio/operators/variant/cnv_segmentation.py,sha256=fAmZF6iuZD_8gixN9hnRNnLPlieaEtuui7KRHT4Qoqc,25453
139
+ diffbio/operators/variant/deepvariant_pileup.py,sha256=pp_tJCE9aEShz62nlyY_DqtPwbMjkkJi6-H45mXwZu0,17106
140
+ diffbio/operators/variant/pileup.py,sha256=7f4z9UcEz8SM8DOgh3rNTKbddYedBwDnkNMQ3bBoM2g,9512
141
+ diffbio/operators/variant/quality_recalibration.py,sha256=NISP2W0IGU6RKqxAmpJZcbkc0nOGCrirKKQeRUQfow0,9530
142
+ diffbio/pipelines/__init__.py,sha256=RIrb6ZA-sq1fhCYSKZTCEO6RtJhDeVzzm30y7GIukFg,1915
143
+ diffbio/pipelines/differential_expression.py,sha256=FaaEpVYVCDdCmnztbXfue8GBom2yZkHio2ypYOKP0HU,9627
144
+ diffbio/pipelines/enhanced_variant_calling.py,sha256=I5863P-ofSusqLyHqCJoG_SyjOnaChI8Ua7Z1Neb0rY,12807
145
+ diffbio/pipelines/perturbation.py,sha256=n5ZPatmzsqwTIcFGfpI7kX5T0w3QR3w_9Z86f6MiDMM,14656
146
+ diffbio/pipelines/preprocessing.py,sha256=-65ktaUVl1q8J_tz_KnRNod5F0yMcSlIc-Z_rREnc2g,10118
147
+ diffbio/pipelines/single_cell.py,sha256=zbU7lLHsHnkKeX1Di3Pd24xIWblw_1ogKhCfB43N9nc,13428
148
+ diffbio/pipelines/variant_calling.py,sha256=Q9Y-mnnFMlWpFcGVecUFJUBVguUBghbZ--yrOKXqpVI,18684
149
+ diffbio/samplers/__init__.py,sha256=4WwWMYC3sCq0ZYImrS85g4znV406SeAsoIEFpjQowt0,298
150
+ diffbio/samplers/perturbation_sampler.py,sha256=dU0-eFHsho-ECn1G-3tQe2p4ZoW3aQM1Loo23_og-_Q,4934
151
+ diffbio/sequences/__init__.py,sha256=sLstE7TAxceEtafGbxCAXMqU0kNEotYewbya_Q1g3P8,788
152
+ diffbio/sequences/dna.py,sha256=h0EuVlqmhtsX984Fhr8WS-8b88rUNt5ZkzSuOXcLRik,7088
153
+ diffbio/sources/__init__.py,sha256=IfQ5TKzOOqBwIn3L6a6nrWXApRx2Nyo83NkT4X7F1Bk,5114
154
+ diffbio/sources/_anndata_shared.py,sha256=1QrlXdz6mx3dXi-7esp1yma8DgmSACTqv8Iz5MhvdWc,2598
155
+ diffbio/sources/_batch_iteration.py,sha256=6Z5hDYQUYHf-8AabNRD58RRf2gQYqlBEr32N_PwkIdE,1011
156
+ diffbio/sources/_benchmark_source.py,sha256=PO8pqCwEcmn7Igrfx9Bhpq739CFoGvYLiJsW8y6qp5E,4488
157
+ diffbio/sources/_indexed_batch_source.py,sha256=mMo2XCz4EL4gNunaGH3MxSZJErHkdnvTBF-yIigLnW4,1245
158
+ diffbio/sources/_utils.py,sha256=DwYzf3qZa1Wc0PZUyP9xVLzbhnKJcgecFsTfstPw654,1151
159
+ diffbio/sources/anndata_interop.py,sha256=nxOYR-kv_jXB6yKZ1qHL8ZhiYxwnRWqSGP5VlhNvAw0,14034
160
+ diffbio/sources/anndata_source.py,sha256=-QTPKwNzjPVG32rPoqhjCtRlOxf25Fa5lYgnsoCAsuE,11915
161
+ diffbio/sources/archive_ii.py,sha256=dtZmkC_ZYcSoC6RxFx0V7IxuWQehe3jkjbwKBFr_KaE,5630
162
+ diffbio/sources/balifam.py,sha256=mM7BD8v_VwvIDZVCZsoWhNMEVXixxInaElerXDJWmLY,6532
163
+ diffbio/sources/bam.py,sha256=urAEJxzZ6aOb1EG__0lzkSDWyTsbtOuzq8ZF-rkdHPM,9029
164
+ diffbio/sources/bengrn_ground_truth.py,sha256=5P8g9JAU2Ol5PmJNru1my1lVXhFfbjNStHH6L8dI65I,10277
165
+ diffbio/sources/contextual_epigenomics.py,sha256=tw_cbQ8fcdGH7GOdARTPOv4kmyRdABdHbA5c1dO367Y,8510
166
+ diffbio/sources/dti.py,sha256=TxXGEKBdRusCkkoxzrjvwolSg5RgUYWoLye5A31muJs,12509
167
+ diffbio/sources/embeddings.py,sha256=CFEQNrmblXthB1yb9qjYJOqhiojUu1F-BUslocnet3Y,7260
168
+ diffbio/sources/encode_peaks.py,sha256=oneD_9UbVIk_14uCEe3tE8A2UPCtkQbR3K4K3UQ8M2E,7111
169
+ diffbio/sources/fasta.py,sha256=63h_U72oPXftSUWzAMG8xv6uG154srXqLKEZ4O3QBOw,7334
170
+ diffbio/sources/immune_human.py,sha256=Dr-j0pmG-MDhwIEifbugP8-KqjBE7gU1hHdmLjuJokc,5926
171
+ diffbio/sources/indexed_embeddings.py,sha256=lodw3nvagPHnRfTc6_3om1oWJxzPkg8aWZUnBrDOHkQ,5126
172
+ diffbio/sources/indexed_view.py,sha256=eziCbixqAj8wb0rxeJspFUX3J37A61p0JHJWWNQAGvA,6167
173
+ diffbio/sources/molnet.py,sha256=2vN3HCtEQcJbkeA36JKOqxgC53kWQ9jGeHgsNY9CQpY,16258
174
+ diffbio/sources/multiomics.py,sha256=mDzorSvvW6rA_i1w--vTuesLV4H2XpgOGz8vatFTvHQ,9800
175
+ diffbio/sources/pancreas.py,sha256=VivaD9m6ZTVj4I5i1cP2-zdFOxB2ylnzW08BhpoQKIA,3370
176
+ diffbio/sources/seqfish.py,sha256=MMrjxu62NGBQebXjL1eUBnsLbjWeXdVlHEXAQGU3B9c,5043
177
+ diffbio/sources/sequence_foundation.py,sha256=gyXraezzuS9okwYqA8ySuCvjk_Wy6M-3sI4wbSHHbys,2174
178
+ diffbio/sources/singlecell_foundation.py,sha256=eRKQsQsfh1l8xkpLAUYxquCjF9QusX7l6qIgg9soSck,2135
179
+ diffbio/sources/perturbation/__init__.py,sha256=W6VH0-Ke3RdHET05bd-kD-fT5gGGsGA3eTs6tqxge8I,2040
180
+ diffbio/sources/perturbation/_types.py,sha256=ZTmB5duR17FhJFt4txbsb_fg__k8RQqCrJ5tx-vPsUw,1413
181
+ diffbio/sources/perturbation/_utils.py,sha256=_8VoMY5R7UEu1ZRE-B3tnnZm7dEKIETc17Zy3bhdYdQ,3911
182
+ diffbio/sources/perturbation/concat_source.py,sha256=-fGvEDTZ_xIMp76a8jKWLEylKv2lyxMr1wOPcrcoS0w,3802
183
+ diffbio/sources/perturbation/control_mapping.py,sha256=bf-8KmfNUXybF3cwPyiZYTJ-l1t9b3ud688ABh9gBTo,7288
184
+ diffbio/sources/perturbation/experiment_config.py,sha256=QuFmeiyZnROtRsRtx5XG1mRyZKRd2MFbnbYl5StKrs4,8191
185
+ diffbio/sources/perturbation/h5_metadata_cache.py,sha256=LOTOfEAMrsloWOsN3INoJDGyHM1bvc05H2ycGQ8wpWg,7315
186
+ diffbio/sources/perturbation/output_space.py,sha256=eitp3dPCX0XF5Evo8x6nj-dJAcVPfNvcUwLa-oKLfx4,1618
187
+ diffbio/sources/perturbation/perturbation_source.py,sha256=Yqmpj6WJn00YFDNuLwx-L-n6x11tKdOJq4cMWqs_1S4,19924
188
+ diffbio/splitters/__init__.py,sha256=1ADK8ARVsZDJ_362DXaW16jydrh3K-6Y0_b3UZccTrE,1915
189
+ diffbio/splitters/base.py,sha256=RyVKz4TrtVMTUuvGnOgQhBZe1EEWEK6gF_iug-OicmA,8547
190
+ diffbio/splitters/molecular.py,sha256=Rng9Uo6a3zFkznwhwyVIgFkXzj12q5ei2juloySUM1g,11721
191
+ diffbio/splitters/perturbation.py,sha256=fu2LV0fvoMdZUwHkMqj-VIkWZt_ezcfZ8kIOLc2Vvr8,6519
192
+ diffbio/splitters/random.py,sha256=FMK8qDcckieVCJeEZ-p8C_S3fd0UjtG6iResZ9RiB7c,6768
193
+ diffbio/splitters/sequence.py,sha256=1IA7mCjebWNcF2hXi9jo7aQyTArfvNHRRiTx2La_oJU,6591
194
+ diffbio/utils/__init__.py,sha256=hBHD6cXeLg351pwdo33eE2Ks0a0myRNduEpV51ON254,1416
195
+ diffbio/utils/dependency_runtime.py,sha256=GJRuUQeij_AQad6gmZj5MoAdId-gVotxHtd_nAW3V-Q,4055
196
+ diffbio/utils/nn_utils.py,sha256=B1M7BC0tHJVKsbOqThUnAmQTr-uL_N0Xu1Yuh_ZK9W0,4183
197
+ diffbio/utils/quality.py,sha256=Qz6MAZULZ5d9ojHzEVGZwsN31V8oBf8YuxFb4QT4Kyc,1757
198
+ diffbio/utils/training.py,sha256=_qsxiUqDpCXrEHMkwB6azbgVY-cSYIJRpUlAU4aAgXw,19727
199
+ diffbio-0.1.0.dist-info/METADATA,sha256=BJ1wdG_c4b54YZyKMCB_x5qON_yW2af8s1OgzpbzTYc,19924
200
+ diffbio-0.1.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
201
+ diffbio-0.1.0.dist-info/licenses/LICENSE,sha256=wm1uGOlpkgBGzAsTT0-iZkFq-k5O9Ty-3ZITpUwpBLc,1070
202
+ diffbio-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.29.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Mahdi Shafiei
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.