calm-data-generator 2.1.0__tar.gz → 2.2.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 (147) hide show
  1. {calm_data_generator-2.1.0/calm_data_generator.egg-info → calm_data_generator-2.2.0}/PKG-INFO +41 -1
  2. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/README.md +39 -0
  3. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/PRESETS_REFERENCE.md +21 -0
  4. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/PRESETS_REFERENCE_ES.md +21 -0
  5. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REAL_GENERATOR_REFERENCE.md +24 -0
  6. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REAL_GENERATOR_REFERENCE_ES.md +24 -0
  7. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/tabular/RealGenerator.py +282 -220
  8. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0/calm_data_generator.egg-info}/PKG-INFO +41 -1
  9. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator.egg-info/requires.txt +1 -0
  10. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/pyproject.toml +15 -3
  11. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/LICENSE +0 -0
  12. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/MANIFEST.in +0 -0
  13. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/__init__.py +0 -0
  14. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/cli.py +0 -0
  15. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/API.md +0 -0
  16. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/API_ES.md +0 -0
  17. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CAUSAL_ENGINE_REFERENCE.md +0 -0
  18. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CAUSAL_ENGINE_REFERENCE_ES.md +0 -0
  19. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CLINICAL_BLOCK_GENERATOR_REFERENCE.md +0 -0
  20. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CLINICAL_BLOCK_GENERATOR_REFERENCE_ES.md +0 -0
  21. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CLINICAL_GENERATOR_REFERENCE.md +0 -0
  22. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CLINICAL_GENERATOR_REFERENCE_ES.md +0 -0
  23. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/COMPLEX_GENERATOR_REFERENCE.md +0 -0
  24. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/COMPLEX_GENERATOR_REFERENCE_ES.md +0 -0
  25. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/DOCUMENTATION.md +0 -0
  26. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/DOCUMENTATION_ES.md +0 -0
  27. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/DRIFT_INJECTOR_REFERENCE.md +0 -0
  28. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/DRIFT_INJECTOR_REFERENCE_ES.md +0 -0
  29. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REAL_BLOCK_GENERATOR_REFERENCE.md +0 -0
  30. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REAL_BLOCK_GENERATOR_REFERENCE_ES.md +0 -0
  31. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REPORTS_REFERENCE.md +0 -0
  32. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REPORTS_REFERENCE_ES.md +0 -0
  33. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/SCENARIO_INJECTOR_REFERENCE.md +0 -0
  34. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/SCENARIO_INJECTOR_REFERENCE_ES.md +0 -0
  35. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/STREAM_BLOCK_GENERATOR_REFERENCE.md +0 -0
  36. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/STREAM_BLOCK_GENERATOR_REFERENCE_ES.md +0 -0
  37. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/STREAM_GENERATOR_REFERENCE.md +0 -0
  38. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/STREAM_GENERATOR_REFERENCE_ES.md +0 -0
  39. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/__init__.py +0 -0
  40. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/base.py +0 -0
  41. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/clinical/Clinic.py +0 -0
  42. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/clinical/ClinicGeneratorBlock.py +0 -0
  43. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/clinical/ClinicReporter.py +0 -0
  44. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/clinical/__init__.py +0 -0
  45. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/complex/ComplexGenerator.py +0 -0
  46. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/complex/__init__.py +0 -0
  47. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/configs.py +0 -0
  48. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/drift/DriftInjector.py +0 -0
  49. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/drift/__init__.py +0 -0
  50. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/dynamics/CausalEngine.py +0 -0
  51. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/dynamics/ScenarioInjector.py +0 -0
  52. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/dynamics/__init__.py +0 -0
  53. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/persistence_models.py +0 -0
  54. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/stream/GeneratorFactory.py +0 -0
  55. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/stream/StreamBlockGenerator.py +0 -0
  56. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/stream/StreamGenerator.py +0 -0
  57. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/stream/StreamReporter.py +0 -0
  58. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/stream/__init__.py +0 -0
  59. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/tabular/CustomPluginAdapter.py +0 -0
  60. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/tabular/QualityReporter.py +0 -0
  61. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/tabular/RealBlockGenerator.py +0 -0
  62. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/tabular/__init__.py +0 -0
  63. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/utils/__init__.py +0 -0
  64. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/utils/propagation.py +0 -0
  65. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/logger.py +0 -0
  66. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/BalancePreset.py +0 -0
  67. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/ConceptDriftPreset.py +0 -0
  68. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/CopulaPreset.py +0 -0
  69. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/DataQualityAuditPreset.py +0 -0
  70. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/DiffusionPreset.py +0 -0
  71. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/DriftScenarioPreset.py +0 -0
  72. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/FastPreset.py +0 -0
  73. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/FastPrototypePreset.py +0 -0
  74. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/GradualDriftPreset.py +0 -0
  75. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/HighFidelityPreset.py +0 -0
  76. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/ImbalancePreset.py +0 -0
  77. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/LongitudinalHealthPreset.py +0 -0
  78. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/OmicsIntegrationPreset.py +0 -0
  79. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/RareDiseasePreset.py +0 -0
  80. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/ScenarioInjectorPreset.py +0 -0
  81. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/SeasonalTimeSeriesPreset.py +0 -0
  82. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/SingleCellQualityPreset.py +0 -0
  83. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/TimeSeriesPreset.py +0 -0
  84. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/__init__.py +0 -0
  85. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/base.py +0 -0
  86. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/DiscriminatorReporter.py +0 -0
  87. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/ExternalReporter.py +0 -0
  88. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/LocalIndexGenerator.py +0 -0
  89. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/QualityReporter.py +0 -0
  90. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/Visualizer.py +0 -0
  91. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/__init__.py +0 -0
  92. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/base.py +0 -0
  93. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/advanced_drifts.py +0 -0
  94. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/clinic_generator.py +0 -0
  95. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/clinical_block_generator.py +0 -0
  96. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/clinical_generator.py +0 -0
  97. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/correlation_drift.py +0 -0
  98. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/drift_injector.py +0 -0
  99. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/real_block_generator.py +0 -0
  100. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/real_generator.py +0 -0
  101. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/reports_deep_dive.py +0 -0
  102. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/scenario_injector.py +0 -0
  103. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/stream_block_generator.py +0 -0
  104. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/stream_generator.py +0 -0
  105. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/tutorial_advanced_methods.py +0 -0
  106. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator.egg-info/SOURCES.txt +0 -0
  107. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator.egg-info/dependency_links.txt +0 -0
  108. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator.egg-info/entry_points.txt +0 -0
  109. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator.egg-info/top_level.txt +0 -0
  110. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/requirements.txt +0 -0
  111. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/setup.cfg +0 -0
  112. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_accessors.py +0 -0
  113. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_anndata_support.py +0 -0
  114. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_block_generators_extended.py +0 -0
  115. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_causal_engine.py +0 -0
  116. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_clinic_block_generator.py +0 -0
  117. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_clinical_advanced.py +0 -0
  118. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_clinical_regression.py +0 -0
  119. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_complex_generator.py +0 -0
  120. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_comprehensive.py +0 -0
  121. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_comprehensive_reporting.py +0 -0
  122. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_correlation_propagation.py +0 -0
  123. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_custom_plugin_adapter.py +0 -0
  124. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_differentiation_factor.py +0 -0
  125. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_discriminator_reporter.py +0 -0
  126. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_disease_effects_fix.py +0 -0
  127. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_drift_correlations.py +0 -0
  128. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_drift_injector_advanced.py +0 -0
  129. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_drift_injector_math.py +0 -0
  130. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_functional_drift.py +0 -0
  131. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_imbalance.py +0 -0
  132. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_migration.py +0 -0
  133. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_presets.py +0 -0
  134. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_quality_metrics.py +0 -0
  135. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_real_block_generator.py +0 -0
  136. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_real_generator_persistence.py +0 -0
  137. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_reporters_extended.py +0 -0
  138. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_reporting_fix.py +0 -0
  139. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_river_integration.py +0 -0
  140. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_scenario_extended.py +0 -0
  141. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_scgft_reporter.py +0 -0
  142. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_scvi_quality_regression.py +0 -0
  143. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_single_call.py +0 -0
  144. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_stream_block_generator.py +0 -0
  145. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_tabular_extended.py +0 -0
  146. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_timeseries_extended.py +0 -0
  147. {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_timeseries_real.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: calm-data-generator
3
- Version: 2.1.0
3
+ Version: 2.2.0
4
4
  Summary: CALM-Data-Generator: A Python library for synthetic data generation with support for drift injection and clinical data.
5
5
  Author-email: Alejandro Belda Fernandez <alejandrobeldafernandez@gmail.com>
6
6
  License: MIT
@@ -53,6 +53,7 @@ Requires-Dist: hmmlearn<0.4.0,>=0.3.0
53
53
  Requires-Dist: pyarrow<15.0.0,>=14.0.0
54
54
  Requires-Dist: setuptools<70.0.0,>=59.0.0
55
55
  Requires-Dist: fsspec<2026.0.0,>=2025.12.0
56
+ Requires-Dist: scgft-evaluator<0.2.0,>=0.1.0
56
57
  Provides-Extra: stream
57
58
  Requires-Dist: river>=0.21.0; extra == "stream"
58
59
  Provides-Extra: full
@@ -588,6 +589,26 @@ synthetic = gen.generate(
588
589
  |--------|----------|
589
590
  | `scvi` | Generate new cells from learned distribution |
590
591
 
592
+ Once you have synthetic single-cell data, validate its quality using [scGFT Evaluator](https://github.com/nasim23ea/scgft-evaluator) via `QualityReporter`:
593
+
594
+ ```python
595
+ from calm_data_generator.reports.QualityReporter import QualityReporter
596
+ from calm_data_generator.generators.configs import ReportConfig
597
+
598
+ reporter = QualityReporter(verbose=True)
599
+ reporter.generate_comprehensive_report(
600
+ real_df=real_df,
601
+ synthetic_df=synthetic_df,
602
+ generator_name="SingleCell_Example",
603
+ report_config=ReportConfig(
604
+ output_dir="./sc_report",
605
+ use_scgft=True,
606
+ target_column="cell_type",
607
+ ),
608
+ )
609
+ ```
610
+
611
+ > See [REPORTS_REFERENCE.md](calm_data_generator/docs/REPORTS_REFERENCE.md#single-cell-evaluation-scgft) for full details.
591
612
 
592
613
  ### Stream Data Generation
593
614
 
@@ -625,6 +646,24 @@ reporter.generate_report(
625
646
  # Results JSON (including compared_data_files) saved to ./quality_report/report_results.json
626
647
  ```
627
648
 
649
+ For **single-cell data**, enable [scGFT](https://github.com/nasim23ea/scgft-evaluator) evaluation (Graph Fourier Transform-based manifold preservation metrics):
650
+
651
+ ```python
652
+ from calm_data_generator.generators.configs import ReportConfig
653
+
654
+ reporter.generate_comprehensive_report(
655
+ real_df=real_df,
656
+ synthetic_df=synthetic_df,
657
+ generator_name="MyGen",
658
+ report_config=ReportConfig(
659
+ output_dir="./sc_report",
660
+ use_scgft=True,
661
+ target_column="cell_type",
662
+ ),
663
+ )
664
+ # Generates scgft_report.html with ARI, MMD, Jaccard, Kendall Tau metrics
665
+ ```
666
+
628
667
  ---
629
668
 
630
669
  ## Modules
@@ -760,3 +799,4 @@ We stand on the shoulders of giants. This library is possible thanks to these am
760
799
  - **[Hugging Face Hub](https://github.com/huggingface/huggingface_hub)** (Apache-2.0) - Facilitating model sharing and versioning.
761
800
  - **[Plotly](https://github.com/plotly/plotly.py)** (MIT) - Enabling interactive data visualizations.
762
801
  - **[hmmlearn](https://github.com/hmmlearn/hmmlearn)** (BSD-3-Clause) - Powering the `hmm` method for drift-aware generation via Hidden Markov Models.
802
+ - **[scgft-evaluator](https://github.com/nasim23ea/scgft-evaluator)** - Providing Graph Fourier Transform-based evaluation for single-cell synthetic data quality assessment.
@@ -527,6 +527,26 @@ synthetic = gen.generate(
527
527
  |--------|----------|
528
528
  | `scvi` | Generate new cells from learned distribution |
529
529
 
530
+ Once you have synthetic single-cell data, validate its quality using [scGFT Evaluator](https://github.com/nasim23ea/scgft-evaluator) via `QualityReporter`:
531
+
532
+ ```python
533
+ from calm_data_generator.reports.QualityReporter import QualityReporter
534
+ from calm_data_generator.generators.configs import ReportConfig
535
+
536
+ reporter = QualityReporter(verbose=True)
537
+ reporter.generate_comprehensive_report(
538
+ real_df=real_df,
539
+ synthetic_df=synthetic_df,
540
+ generator_name="SingleCell_Example",
541
+ report_config=ReportConfig(
542
+ output_dir="./sc_report",
543
+ use_scgft=True,
544
+ target_column="cell_type",
545
+ ),
546
+ )
547
+ ```
548
+
549
+ > See [REPORTS_REFERENCE.md](calm_data_generator/docs/REPORTS_REFERENCE.md#single-cell-evaluation-scgft) for full details.
530
550
 
531
551
  ### Stream Data Generation
532
552
 
@@ -564,6 +584,24 @@ reporter.generate_report(
564
584
  # Results JSON (including compared_data_files) saved to ./quality_report/report_results.json
565
585
  ```
566
586
 
587
+ For **single-cell data**, enable [scGFT](https://github.com/nasim23ea/scgft-evaluator) evaluation (Graph Fourier Transform-based manifold preservation metrics):
588
+
589
+ ```python
590
+ from calm_data_generator.generators.configs import ReportConfig
591
+
592
+ reporter.generate_comprehensive_report(
593
+ real_df=real_df,
594
+ synthetic_df=synthetic_df,
595
+ generator_name="MyGen",
596
+ report_config=ReportConfig(
597
+ output_dir="./sc_report",
598
+ use_scgft=True,
599
+ target_column="cell_type",
600
+ ),
601
+ )
602
+ # Generates scgft_report.html with ARI, MMD, Jaccard, Kendall Tau metrics
603
+ ```
604
+
567
605
  ---
568
606
 
569
607
  ## Modules
@@ -699,3 +737,4 @@ We stand on the shoulders of giants. This library is possible thanks to these am
699
737
  - **[Hugging Face Hub](https://github.com/huggingface/huggingface_hub)** (Apache-2.0) - Facilitating model sharing and versioning.
700
738
  - **[Plotly](https://github.com/plotly/plotly.py)** (MIT) - Enabling interactive data visualizations.
701
739
  - **[hmmlearn](https://github.com/hmmlearn/hmmlearn)** (BSD-3-Clause) - Powering the `hmm` method for drift-aware generation via Hidden Markov Models.
740
+ - **[scgft-evaluator](https://github.com/nasim23ea/scgft-evaluator)** - Providing Graph Fourier Transform-based evaluation for single-cell synthetic data quality assessment.
@@ -521,6 +521,27 @@ preset = SingleCellQualityPreset(random_state=42)
521
521
  synthetic_cells = preset.generate(data=adata_df, n_samples=500)
522
522
  ```
523
523
 
524
+ To validate the generated data quality, use `QualityReporter` with scGFT enabled:
525
+
526
+ ```python
527
+ from calm_data_generator.reports.QualityReporter import QualityReporter
528
+ from calm_data_generator.generators.configs import ReportConfig
529
+
530
+ reporter = QualityReporter(verbose=True)
531
+ reporter.generate_comprehensive_report(
532
+ real_df=adata_df,
533
+ synthetic_df=synthetic_cells,
534
+ generator_name="SingleCellQualityPreset",
535
+ report_config=ReportConfig(
536
+ output_dir="./sc_report",
537
+ use_scgft=True,
538
+ target_column="cell_type",
539
+ ),
540
+ )
541
+ ```
542
+
543
+ > See [REPORTS_REFERENCE.md](REPORTS_REFERENCE.md#single-cell-evaluation-scgft) for full scGFT documentation.
544
+
524
545
  ---
525
546
 
526
547
  ## Import Summary
@@ -521,6 +521,27 @@ preset = SingleCellQualityPreset(random_state=42)
521
521
  synthetic_cells = preset.generate(data=adata_df, n_samples=500)
522
522
  ```
523
523
 
524
+ Para validar la calidad de los datos generados, usa `QualityReporter` con scGFT activado:
525
+
526
+ ```python
527
+ from calm_data_generator.reports.QualityReporter import QualityReporter
528
+ from calm_data_generator.generators.configs import ReportConfig
529
+
530
+ reporter = QualityReporter(verbose=True)
531
+ reporter.generate_comprehensive_report(
532
+ real_df=adata_df,
533
+ synthetic_df=synthetic_cells,
534
+ generator_name="SingleCellQualityPreset",
535
+ report_config=ReportConfig(
536
+ output_dir="./sc_report",
537
+ use_scgft=True,
538
+ target_column="cell_type",
539
+ ),
540
+ )
541
+ ```
542
+
543
+ > Ver [REPORTS_REFERENCE_ES.md](REPORTS_REFERENCE_ES.md#evaluación-single-cell-scgft) para documentación completa de scGFT.
544
+
524
545
  ---
525
546
 
526
547
  ## Resumen de Imports
@@ -600,6 +600,30 @@ sc.pp.pca(synthetic_adata)
600
600
  sc.pl.pca(synthetic_adata, color="cell_type")
601
601
  ```
602
602
 
603
+ **Validating single-cell quality with scGFT:**
604
+
605
+ After generating synthetic single-cell data, validate its fidelity using [scgft-evaluator](https://github.com/nasim23ea/scgft-evaluator):
606
+
607
+ ```python
608
+ from calm_data_generator.reports.QualityReporter import QualityReporter
609
+ from calm_data_generator.generators.configs import ReportConfig
610
+
611
+ reporter = QualityReporter(verbose=True)
612
+ reporter.generate_comprehensive_report(
613
+ real_df=real_df,
614
+ synthetic_df=synthetic_df,
615
+ generator_name="scVI_SingleCell",
616
+ report_config=ReportConfig(
617
+ output_dir="./sc_report",
618
+ use_scgft=True,
619
+ target_column="cell_type",
620
+ ),
621
+ )
622
+ # Generates scgft_report.html with ARI, MMD, Jaccard, Kendall Tau metrics
623
+ ```
624
+
625
+ > See [REPORTS_REFERENCE.md](REPORTS_REFERENCE.md#single-cell-evaluation-scgft) for full details.
626
+
603
627
  ---
604
628
 
605
629
  ---
@@ -235,6 +235,30 @@ sc.pp.pca(synthetic_adata)
235
235
  sc.pl.pca(synthetic_adata, color="cell_type")
236
236
  ```
237
237
 
238
+ **Validación de calidad single-cell con scGFT:**
239
+
240
+ Tras generar datos sintéticos de célula única, valida su fidelidad usando [scgft-evaluator](https://github.com/nasim23ea/scgft-evaluator):
241
+
242
+ ```python
243
+ from calm_data_generator.reports.QualityReporter import QualityReporter
244
+ from calm_data_generator.generators.configs import ReportConfig
245
+
246
+ reporter = QualityReporter(verbose=True)
247
+ reporter.generate_comprehensive_report(
248
+ real_df=real_df,
249
+ synthetic_df=synthetic_df,
250
+ generator_name="scVI_SingleCell",
251
+ report_config=ReportConfig(
252
+ output_dir="./sc_report",
253
+ use_scgft=True,
254
+ target_column="cell_type",
255
+ ),
256
+ )
257
+ # Genera scgft_report.html con métricas ARI, MMD, Jaccard, Kendall Tau
258
+ ```
259
+
260
+ > Ver [REPORTS_REFERENCE_ES.md](REPORTS_REFERENCE_ES.md#evaluación-single-cell-scgft) para documentación completa.
261
+
238
262
  ---
239
263
 
240
264
  ## Características Avanzadas