diffbio 0.1.1__tar.gz → 0.1.3__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 (229) hide show
  1. {diffbio-0.1.1 → diffbio-0.1.3}/PKG-INFO +19 -17
  2. {diffbio-0.1.1 → diffbio-0.1.3}/README.md +6 -5
  3. {diffbio-0.1.1 → diffbio-0.1.3}/pyproject.toml +14 -11
  4. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/__init__.py +4 -2
  5. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/protein/secondary_structure.py +1 -1
  6. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/anndata_source.py +1 -1
  7. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/bam.py +5 -5
  8. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/splitters/random.py +2 -1
  9. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/utils/dependency_runtime.py +1 -1
  10. {diffbio-0.1.1 → diffbio-0.1.3}/.gitignore +0 -0
  11. {diffbio-0.1.1 → diffbio-0.1.3}/LICENSE +0 -0
  12. {diffbio-0.1.1 → diffbio-0.1.3}/benchmarks/README.md +0 -0
  13. {diffbio-0.1.1 → diffbio-0.1.3}/benchmarks/crossmodality/README.md +0 -0
  14. {diffbio-0.1.1 → diffbio-0.1.3}/examples/README.md +0 -0
  15. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/configs.py +0 -0
  16. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/constants.py +0 -0
  17. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/__init__.py +0 -0
  18. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/base_operators.py +0 -0
  19. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/data_types.py +0 -0
  20. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/gnn_components.py +0 -0
  21. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/graph_utils.py +0 -0
  22. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/neural_components.py +0 -0
  23. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/optimal_transport.py +0 -0
  24. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/__init__.py +0 -0
  25. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/_projections_permutahedron.py +0 -0
  26. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/_projections_simplex.py +0 -0
  27. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/_projections_transport.py +0 -0
  28. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/_sorting_network.py +0 -0
  29. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/_types.py +0 -0
  30. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/_utils.py +0 -0
  31. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/autograd_safe.py +0 -0
  32. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/comparison.py +0 -0
  33. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/elementwise.py +0 -0
  34. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/logical.py +0 -0
  35. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/quantile.py +0 -0
  36. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/selection.py +0 -0
  37. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/sorting.py +0 -0
  38. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/soft_ops/straight_through.py +0 -0
  39. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/core/uncertainty.py +0 -0
  40. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/evaluation/__init__.py +0 -0
  41. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/evaluation/adapters.py +0 -0
  42. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/evaluation/graders.py +0 -0
  43. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/evaluation/problem.py +0 -0
  44. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/evaluation/runner.py +0 -0
  45. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/losses/__init__.py +0 -0
  46. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/losses/alignment_losses.py +0 -0
  47. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/losses/biological_regularization.py +0 -0
  48. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/losses/metric_losses.py +0 -0
  49. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/losses/self_supervised_losses.py +0 -0
  50. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/losses/singlecell_losses.py +0 -0
  51. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/losses/statistical_losses.py +0 -0
  52. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/__init__.py +0 -0
  53. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/_count_vae.py +0 -0
  54. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/_loss_balancing.py +0 -0
  55. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/_masked_gene_transformer.py +0 -0
  56. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/_transformer_validation.py +0 -0
  57. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/alignment/__init__.py +0 -0
  58. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/alignment/profile_hmm.py +0 -0
  59. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/alignment/scoring.py +0 -0
  60. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/alignment/smith_waterman.py +0 -0
  61. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/alignment/soft_msa.py +0 -0
  62. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/assembly/__init__.py +0 -0
  63. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/assembly/gnn_assembly.py +0 -0
  64. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/assembly/metagenomic_binning.py +0 -0
  65. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/crispr/__init__.py +0 -0
  66. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/crispr/guide_scoring.py +0 -0
  67. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/__init__.py +0 -0
  68. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/_graph_utils.py +0 -0
  69. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/admet_predictor.py +0 -0
  70. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/attentive_fp.py +0 -0
  71. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/dti.py +0 -0
  72. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/fingerprint.py +0 -0
  73. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/maccs_keys.py +0 -0
  74. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/message_passing.py +0 -0
  75. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/primitives.py +0 -0
  76. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/property_predictor.py +0 -0
  77. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/drug_discovery/similarity.py +0 -0
  78. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/epigenomics/__init__.py +0 -0
  79. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/epigenomics/chromatin_state.py +0 -0
  80. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/epigenomics/contextual.py +0 -0
  81. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/epigenomics/fno_peak_calling.py +0 -0
  82. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/epigenomics/peak_calling.py +0 -0
  83. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/foundation_models/__init__.py +0 -0
  84. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/foundation_models/adapters.py +0 -0
  85. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/foundation_models/contracts.py +0 -0
  86. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/foundation_models/embedding_probe.py +0 -0
  87. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/foundation_models/experimental.py +0 -0
  88. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/foundation_models/foundation_model.py +0 -0
  89. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/foundation_models/frozen.py +0 -0
  90. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/foundation_models/precomputed.py +0 -0
  91. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/foundation_models/transformer_encoder.py +0 -0
  92. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/mapping/__init__.py +0 -0
  93. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/mapping/neural_mapper.py +0 -0
  94. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/metabolomics/__init__.py +0 -0
  95. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/metabolomics/isotope_envelope.py +0 -0
  96. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/metabolomics/soft_centroiding.py +0 -0
  97. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/metabolomics/spectral_similarity.py +0 -0
  98. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/molecular_dynamics/__init__.py +0 -0
  99. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/molecular_dynamics/force_field.py +0 -0
  100. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/molecular_dynamics/integrator.py +0 -0
  101. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/molecular_dynamics/primitives.py +0 -0
  102. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/multiomics/__init__.py +0 -0
  103. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/multiomics/hic_contact.py +0 -0
  104. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/multiomics/multiomics_vae.py +0 -0
  105. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/multiomics/spatial_deconvolution.py +0 -0
  106. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/multiomics/spatial_gene_detection.py +0 -0
  107. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/__init__.py +0 -0
  108. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/arcsinh_cofactor.py +0 -0
  109. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/differentiable_pca.py +0 -0
  110. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/embedding.py +0 -0
  111. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/learnable_normalization.py +0 -0
  112. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/learnable_orthogonal_projection.py +0 -0
  113. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/learnable_projection.py +0 -0
  114. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/matrix_free_pca.py +0 -0
  115. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/phate.py +0 -0
  116. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/scaling.py +0 -0
  117. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/soft_pca.py +0 -0
  118. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/umap.py +0 -0
  119. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/normalization/vae_normalizer.py +0 -0
  120. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/population/__init__.py +0 -0
  121. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/population/ancestry_estimation.py +0 -0
  122. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/preprocessing/__init__.py +0 -0
  123. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/preprocessing/adapter_removal.py +0 -0
  124. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/preprocessing/duplicate_filter.py +0 -0
  125. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/preprocessing/error_correction.py +0 -0
  126. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/protein/__init__.py +0 -0
  127. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/quality_filter.py +0 -0
  128. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/rna_structure/__init__.py +0 -0
  129. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/rna_structure/rna_folding.py +0 -0
  130. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/rnaseq/__init__.py +0 -0
  131. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/rnaseq/motif_discovery.py +0 -0
  132. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/rnaseq/splicing_psi.py +0 -0
  133. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/__init__.py +0 -0
  134. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/ambient_removal.py +0 -0
  135. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/archetypes.py +0 -0
  136. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/batch_correction.py +0 -0
  137. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/cell_annotation.py +0 -0
  138. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/communication.py +0 -0
  139. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/differential_distribution.py +0 -0
  140. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/doublet_detection.py +0 -0
  141. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/downsampling.py +0 -0
  142. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/enhanced_batch_correction.py +0 -0
  143. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/grn_inference.py +0 -0
  144. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/imputation.py +0 -0
  145. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/knockdown_filter.py +0 -0
  146. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/ot_trajectory.py +0 -0
  147. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/simulation.py +0 -0
  148. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/sindy_grn.py +0 -0
  149. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/soft_clustering.py +0 -0
  150. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/soft_hvg.py +0 -0
  151. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/spatial_domains.py +0 -0
  152. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/stochastic_gate_selector.py +0 -0
  153. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/switch_de.py +0 -0
  154. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/trajectory.py +0 -0
  155. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/singlecell/velocity.py +0 -0
  156. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/statistical/__init__.py +0 -0
  157. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/statistical/em_quantification.py +0 -0
  158. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/statistical/hmm.py +0 -0
  159. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/statistical/nb_glm.py +0 -0
  160. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/variant/__init__.py +0 -0
  161. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/variant/classifier.py +0 -0
  162. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/variant/cnn_classifier.py +0 -0
  163. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/variant/cnv_segmentation.py +0 -0
  164. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/variant/deepvariant_pileup.py +0 -0
  165. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/variant/learnable_pileup.py +0 -0
  166. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/variant/pileup.py +0 -0
  167. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/operators/variant/quality_recalibration.py +0 -0
  168. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/__init__.py +0 -0
  169. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/adapters.py +0 -0
  170. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/differential_expression.py +0 -0
  171. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/enhanced_variant_calling.py +0 -0
  172. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/joint_preprocessing.py +0 -0
  173. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/joint_training.py +0 -0
  174. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/minibatch_training.py +0 -0
  175. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/perturbation.py +0 -0
  176. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/preprocessing.py +0 -0
  177. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/single_cell.py +0 -0
  178. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/pipelines/variant_calling.py +0 -0
  179. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/reductions/__init__.py +0 -0
  180. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/reductions/base.py +0 -0
  181. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/reductions/pca_reduction.py +0 -0
  182. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/reductions/tfidf_reduction.py +0 -0
  183. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/samplers/__init__.py +0 -0
  184. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/samplers/perturbation_sampler.py +0 -0
  185. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sequences/__init__.py +0 -0
  186. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sequences/dna.py +0 -0
  187. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sequences/kmer.py +0 -0
  188. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/__init__.py +0 -0
  189. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/_anndata_shared.py +0 -0
  190. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/_batch_iteration.py +0 -0
  191. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/_benchmark_source.py +0 -0
  192. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/_indexed_batch_source.py +0 -0
  193. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/_utils.py +0 -0
  194. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/anndata_interop.py +0 -0
  195. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/archive_ii.py +0 -0
  196. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/balifam.py +0 -0
  197. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/bengrn_ground_truth.py +0 -0
  198. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/contextual_epigenomics.py +0 -0
  199. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/dti.py +0 -0
  200. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/embeddings.py +0 -0
  201. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/encode_peaks.py +0 -0
  202. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/fasta.py +0 -0
  203. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/immune_human.py +0 -0
  204. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/indexed_embeddings.py +0 -0
  205. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/indexed_view.py +0 -0
  206. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/molnet.py +0 -0
  207. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/multiomics.py +0 -0
  208. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/pancreas.py +0 -0
  209. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/perturbation/__init__.py +0 -0
  210. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/perturbation/_types.py +0 -0
  211. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/perturbation/_utils.py +0 -0
  212. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/perturbation/concat_source.py +0 -0
  213. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/perturbation/control_mapping.py +0 -0
  214. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/perturbation/experiment_config.py +0 -0
  215. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/perturbation/h5_metadata_cache.py +0 -0
  216. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/perturbation/output_space.py +0 -0
  217. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/perturbation/perturbation_source.py +0 -0
  218. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/seqfish.py +0 -0
  219. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/sequence_foundation.py +0 -0
  220. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/sources/singlecell_foundation.py +0 -0
  221. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/splitters/__init__.py +0 -0
  222. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/splitters/base.py +0 -0
  223. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/splitters/molecular.py +0 -0
  224. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/splitters/perturbation.py +0 -0
  225. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/splitters/sequence.py +0 -0
  226. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/utils/__init__.py +0 -0
  227. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/utils/nn_utils.py +0 -0
  228. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/utils/quality.py +0 -0
  229. {diffbio-0.1.1 → diffbio-0.1.3}/src/diffbio/utils/training.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: diffbio
3
- Version: 0.1.1
3
+ Version: 0.1.3
4
4
  Summary: DiffBio: End-to-end differentiable bioinformatics pipelines built on Datarax, Artifex, Opifex, and Calibrax
5
5
  Project-URL: Bug Tracker, https://github.com/avitai/DiffBio/issues
6
6
  Project-URL: Documentation, https://diffbio.readthedocs.io
@@ -36,30 +36,31 @@ Classifier: Intended Audience :: Science/Research
36
36
  Classifier: License :: OSI Approved :: MIT License
37
37
  Classifier: Programming Language :: Python :: 3 :: Only
38
38
  Classifier: Programming Language :: Python :: 3.12
39
+ Classifier: Programming Language :: Python :: 3.13
39
40
  Classifier: Topic :: Scientific/Engineering
40
41
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
41
42
  Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
42
43
  Classifier: Topic :: Software Development
43
44
  Classifier: Topic :: Software Development :: Libraries
44
45
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
45
- Requires-Python: >=3.12
46
+ Requires-Python: <3.14,>=3.12
46
47
  Requires-Dist: anndata>=0.9.1
47
- Requires-Dist: avitai-artifex>=0.1.4
48
+ Requires-Dist: avitai-artifex>=0.1.5
48
49
  Requires-Dist: beartype>=0.14.1
49
50
  Requires-Dist: biopython>=1.81
50
- Requires-Dist: calibrax>=0.1.2
51
+ Requires-Dist: calibrax>=0.1.5
51
52
  Requires-Dist: chex>=0.1.7
52
- Requires-Dist: datarax>=0.1.5
53
- Requires-Dist: flax>=0.12.1
53
+ Requires-Dist: datarax>=0.1.7
54
+ Requires-Dist: flax>=0.12.9
54
55
  Requires-Dist: h5py>=3.7
55
56
  Requires-Dist: jax-md>=0.2.27
56
- Requires-Dist: jax>=0.6.1
57
+ Requires-Dist: jax>=0.11.1
57
58
  Requires-Dist: jaxtyping>=0.2.20
58
59
  Requires-Dist: numpy>=1.24
59
- Requires-Dist: opifex>=0.2.1
60
+ Requires-Dist: opifex>=0.2.2
60
61
  Requires-Dist: optax>=0.2.8
61
- Requires-Dist: orbax-checkpoint>=0.11.10
62
62
  Requires-Dist: scipy>=1.10
63
+ Requires-Dist: substrax>=0.1.5
63
64
  Provides-Extra: all
64
65
  Requires-Dist: bandit[toml]>=1.8.6; extra == 'all'
65
66
  Requires-Dist: beartype>=0.14.1; extra == 'all'
@@ -73,7 +74,7 @@ Requires-Dist: griffe>=1.7.3; extra == 'all'
73
74
  Requires-Dist: import-linter>=2.5; extra == 'all'
74
75
  Requires-Dist: interrogate>=1.7.0; extra == 'all'
75
76
  Requires-Dist: ipykernel>=6.29.5; extra == 'all'
76
- Requires-Dist: jax[cuda12]>=0.6.1; extra == 'all'
77
+ Requires-Dist: jax[cuda12]>=0.11.1; extra == 'all'
77
78
  Requires-Dist: lineax>=0.0.8; extra == 'all'
78
79
  Requires-Dist: matplotlib>=3.7; extra == 'all'
79
80
  Requires-Dist: mkdocs-include-exclude-files>=0.1; extra == 'all'
@@ -129,7 +130,7 @@ Requires-Dist: flake8>=7.0; extra == 'cuda-dev'
129
130
  Requires-Dist: import-linter>=2.5; extra == 'cuda-dev'
130
131
  Requires-Dist: interrogate>=1.7.0; extra == 'cuda-dev'
131
132
  Requires-Dist: ipykernel>=6.29.5; extra == 'cuda-dev'
132
- Requires-Dist: jax[cuda12]>=0.6.1; extra == 'cuda-dev'
133
+ Requires-Dist: jax[cuda12]>=0.11.1; extra == 'cuda-dev'
133
134
  Requires-Dist: pylint>=3.3.8; extra == 'cuda-dev'
134
135
  Requires-Dist: pyright>=1.1.336; extra == 'cuda-dev'
135
136
  Requires-Dist: pytest-asyncio>=0.23; extra == 'cuda-dev'
@@ -147,7 +148,7 @@ Requires-Dist: ruff>=0.1.5; extra == 'cuda-dev'
147
148
  Requires-Dist: shellcheck-py>=0.10.0.1; extra == 'cuda-dev'
148
149
  Requires-Dist: wemake-python-styleguide>=1.0; extra == 'cuda-dev'
149
150
  Provides-Extra: cuda12
150
- Requires-Dist: jax[cuda12]>=0.6.1; extra == 'cuda12'
151
+ Requires-Dist: jax[cuda12]>=0.11.1; extra == 'cuda12'
151
152
  Provides-Extra: dev
152
153
  Requires-Dist: bandit[toml]>=1.8.6; extra == 'dev'
153
154
  Requires-Dist: build>=1.0.3; extra == 'dev'
@@ -278,12 +279,13 @@ For complete operator and pipeline listings, see the [Operators Overview](https:
278
279
  ## Installation
279
280
 
280
281
  ```bash
281
- # Clone the repository
282
+ # From PyPI
283
+ uv add diffbio # or: pip install diffbio
284
+
285
+ # From source
282
286
  git clone https://github.com/avitai/DiffBio.git
283
287
  cd DiffBio
284
-
285
- # Install with uv
286
- uv sync
288
+ ./setup.sh # detects the backend and syncs the extras
287
289
  ```
288
290
 
289
291
  ## Quick Start
@@ -506,7 +508,7 @@ DiffBio/
506
508
  - Flax 0.12+
507
509
  - Optax 0.1.4+
508
510
  - jaxtyping 0.2.20+
509
- - Datarax, Artifex, Opifex, and Calibrax (installed automatically from PyPI)
511
+ - Datarax, Artifex, Opifex, Calibrax and Substrax (installed automatically from PyPI)
510
512
 
511
513
  ## License
512
514
 
@@ -70,12 +70,13 @@ For complete operator and pipeline listings, see the [Operators Overview](https:
70
70
  ## Installation
71
71
 
72
72
  ```bash
73
- # Clone the repository
73
+ # From PyPI
74
+ uv add diffbio # or: pip install diffbio
75
+
76
+ # From source
74
77
  git clone https://github.com/avitai/DiffBio.git
75
78
  cd DiffBio
76
-
77
- # Install with uv
78
- uv sync
79
+ ./setup.sh # detects the backend and syncs the extras
79
80
  ```
80
81
 
81
82
  ## Quick Start
@@ -298,7 +299,7 @@ DiffBio/
298
299
  - Flax 0.12+
299
300
  - Optax 0.1.4+
300
301
  - jaxtyping 0.2.20+
301
- - Datarax, Artifex, Opifex, and Calibrax (installed automatically from PyPI)
302
+ - Datarax, Artifex, Opifex, Calibrax and Substrax (installed automatically from PyPI)
302
303
 
303
304
  ## License
304
305
 
@@ -5,6 +5,7 @@ requires = ["hatchling>=1.18"]
5
5
  [dependency-groups]
6
6
  dev = [
7
7
  "bandit[toml]>=1.8.6",
8
+ "pre-commit>=4.6",
8
9
  "hypothesis>=6.156.6",
9
10
  "import-linter>=2.5",
10
11
  "interrogate>=1.7.0",
@@ -31,28 +32,29 @@ classifiers = [
31
32
  "Topic :: Software Development :: Libraries :: Python Modules",
32
33
  "Programming Language :: Python :: 3 :: Only",
33
34
  "Programming Language :: Python :: 3.12",
35
+ "Programming Language :: Python :: 3.13",
34
36
  "License :: OSI Approved :: MIT License"
35
37
  ]
36
38
  dependencies = [
37
39
  # Datarax - operator, source, and pipeline contracts
38
- "datarax>=0.1.5",
40
+ "datarax>=0.1.7",
39
41
  # Artifex - modeling, modality, and transformer substrate
40
- "avitai-artifex>=0.1.4",
42
+ "avitai-artifex>=0.1.5",
41
43
  # Opifex - scientific ML, operator learning, and advanced optimization
42
- "opifex>=0.2.1",
44
+ "opifex>=0.2.2",
43
45
  # Calibrax - benchmarking, comparison, profiling, and regression control
44
- "calibrax>=0.1.2",
46
+ "calibrax>=0.1.5",
47
+ # Substrax - device identity, meshes and checkpoint store shared by the siblings
48
+ "substrax>=0.1.5",
45
49
  # JAX ecosystem
46
50
  "beartype>=0.14.1",
47
51
  "chex>=0.1.7",
48
- # 0.12.1 is where nnx Variable gained set_value / get_value.
49
- "flax>=0.12.1",
50
- "jax>=0.6.1",
52
+ "flax>=0.12.9",
53
+ "jax>=0.11.1",
51
54
  "jaxtyping>=0.2.20",
52
55
  # 0.2.8 stopped setting jax_pmap_shmap_merge, which jax removed in 0.10; below it,
53
56
  # importing flax raises AttributeError and collection dies for the whole suite.
54
57
  "optax>=0.2.8",
55
- "orbax-checkpoint>=0.11.10",
56
58
  # Scientific computing
57
59
  "numpy>=1.24",
58
60
  "scipy>=1.10",
@@ -67,8 +69,8 @@ keywords = ["jax", "flax", "bioinformatics", "differentiable", "variant-calling"
67
69
  license = {file = "LICENSE"}
68
70
  name = "diffbio"
69
71
  readme = "README.md"
70
- requires-python = ">=3.12"
71
- version = "0.1.1"
72
+ requires-python = ">=3.12,<3.14"
73
+ version = "0.1.3"
72
74
 
73
75
  [project.optional-dependencies]
74
76
  all = ["diffbio[benchmark,chem,cuda12,dev,docs,genomics,soft-ops-advanced,soft-ops-ot,test,torch-io]"]
@@ -92,7 +94,7 @@ cuda-dev = ["diffbio[cuda12,dev]"]
92
94
  # Named for the CUDA major version, as JAX names its own extras (cuda12, cuda12-local,
93
95
  # cuda13); JAX publishes no `gpu` extra. No jaxlib line: every jax cuda extra already
94
96
  # requires jaxlib<=X,>=X at its own version, so restating it only lets the two disagree.
95
- cuda12 = ["jax[cuda12]>=0.6.1"]
97
+ cuda12 = ["jax[cuda12]>=0.11.1"]
96
98
  dev = [
97
99
  "bandit[toml]>=1.8.6",
98
100
  "build>=1.0.3",
@@ -264,6 +266,7 @@ match-dir = "^(?!tests|examples).*"
264
266
  exclude = ["docs", "examples", "scripts", ".deprecated", "**/__pycache__", "**/.venv", "memory-bank"]
265
267
  extraPaths = ["."]
266
268
  include = ["src", "tests"]
269
+ pythonVersion = "3.12"
267
270
  reportAbstractUsage = false
268
271
  reportArgumentType = "warning"
269
272
  reportAssignmentType = false
@@ -1,7 +1,7 @@
1
1
  """DiffBio: End-to-end differentiable bioinformatics pipelines built on the wider JAX/NNX ecosystem.
2
2
 
3
3
  This package provides differentiable bioinformatics pipeline components that
4
- integrate with Datarax, Artifex, Opifex, and Calibrax for gradient-based
4
+ integrate with Datarax, Artifex, Opifex, Calibrax and Substrax for gradient-based
5
5
  optimization of genomics workflows.
6
6
 
7
7
  Key components:
@@ -13,6 +13,8 @@ Key components:
13
13
  - constants: Centralized constants for the library
14
14
  """
15
15
 
16
+ import importlib.metadata
17
+
16
18
  from diffbio import (
17
19
  configs,
18
20
  constants,
@@ -24,7 +26,7 @@ from diffbio import (
24
26
  utils,
25
27
  )
26
28
 
27
- __version__ = "0.1.0"
29
+ __version__ = importlib.metadata.version("diffbio")
28
30
 
29
31
  __all__ = [
30
32
  "__version__",
@@ -458,7 +458,7 @@ def _compute_backbone_constraints(
458
458
  BondAngleExtension,
459
459
  BondLengthExtension,
460
460
  )
461
- from artifex.generative_models.extensions.protein.backbone import ( # noqa: PLC0415
461
+ from artifex.generative_models.core.configuration import ( # noqa: PLC0415
462
462
  ProteinExtensionConfig,
463
463
  )
464
464
 
@@ -34,7 +34,7 @@ from flax import nnx
34
34
 
35
35
  from datarax.core.config import StructuralConfig
36
36
  from datarax.core.data_source import DataSourceModule
37
- from datarax.sources._eager_source_ops import eager_get_batch, eager_iter, eager_reset
37
+ from datarax.sources import eager_get_batch, eager_iter, eager_reset
38
38
 
39
39
  from diffbio.sources._anndata_shared import (
40
40
  build_anndata_data,
@@ -114,10 +114,12 @@ class BAMSource(IndexedBatchSourceMixin, DataSourceModule):
114
114
  super().__init__(config, rngs=rngs, name=name)
115
115
 
116
116
  # Import pysam lazily to allow installation without it
117
+ # pysam builds its package ``__all__`` at import time, so the typed name is the
118
+ # defining module's.
117
119
  try:
118
- import pysam
120
+ from pysam.libcalignmentfile import AlignmentFile
119
121
 
120
- self._pysam = pysam
122
+ self._alignment_file = AlignmentFile
121
123
  except ImportError as err:
122
124
  raise ImportError(
123
125
  "pysam is required for BAMSource. Install with: pip install pysam"
@@ -147,9 +149,7 @@ class BAMSource(IndexedBatchSourceMixin, DataSourceModule):
147
149
  mode = "rb" if str(config.file_path).endswith(".bam") else "rc"
148
150
  reference = str(config.reference_path) if config.reference_path else None
149
151
 
150
- with self._pysam.AlignmentFile(
151
- str(config.file_path), mode, reference_filename=reference
152
- ) as bam:
152
+ with self._alignment_file(str(config.file_path), mode, reference_filename=reference) as bam:
153
153
  for read in self._iter_reads(bam):
154
154
  if self._should_skip_read(read):
155
155
  continue
@@ -82,7 +82,8 @@ class RandomSplitter(SplitterModule):
82
82
  if self.config.seed is not None:
83
83
  key = jax.random.key(self.config.seed)
84
84
  elif self.rngs is not None and "split" in self.rngs:
85
- key = self.rngs.split()
85
+ # Subscript, not attribute: ``Rngs.split`` is also a method that takes a count.
86
+ key = self.rngs["split"]()
86
87
  else:
87
88
  key = jax.random.key(0)
88
89
 
@@ -10,7 +10,7 @@ from pathlib import Path
10
10
  import site
11
11
  from types import ModuleType
12
12
 
13
- ECOSYSTEM_PACKAGES: tuple[str, ...] = ("datarax", "artifex", "opifex", "calibrax")
13
+ ECOSYSTEM_PACKAGES: tuple[str, ...] = ("datarax", "artifex", "opifex", "calibrax", "substrax")
14
14
 
15
15
 
16
16
  @dataclass(frozen=True)
File without changes
File without changes
File without changes
File without changes
File without changes