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.
- {calm_data_generator-2.1.0/calm_data_generator.egg-info → calm_data_generator-2.2.0}/PKG-INFO +41 -1
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/README.md +39 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/PRESETS_REFERENCE.md +21 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/PRESETS_REFERENCE_ES.md +21 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REAL_GENERATOR_REFERENCE.md +24 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REAL_GENERATOR_REFERENCE_ES.md +24 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/tabular/RealGenerator.py +282 -220
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0/calm_data_generator.egg-info}/PKG-INFO +41 -1
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator.egg-info/requires.txt +1 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/pyproject.toml +15 -3
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/LICENSE +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/MANIFEST.in +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/cli.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/API.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/API_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CAUSAL_ENGINE_REFERENCE.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CAUSAL_ENGINE_REFERENCE_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CLINICAL_BLOCK_GENERATOR_REFERENCE.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CLINICAL_BLOCK_GENERATOR_REFERENCE_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CLINICAL_GENERATOR_REFERENCE.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/CLINICAL_GENERATOR_REFERENCE_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/COMPLEX_GENERATOR_REFERENCE.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/COMPLEX_GENERATOR_REFERENCE_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/DOCUMENTATION.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/DOCUMENTATION_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/DRIFT_INJECTOR_REFERENCE.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/DRIFT_INJECTOR_REFERENCE_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REAL_BLOCK_GENERATOR_REFERENCE.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REAL_BLOCK_GENERATOR_REFERENCE_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REPORTS_REFERENCE.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/REPORTS_REFERENCE_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/SCENARIO_INJECTOR_REFERENCE.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/SCENARIO_INJECTOR_REFERENCE_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/STREAM_BLOCK_GENERATOR_REFERENCE.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/STREAM_BLOCK_GENERATOR_REFERENCE_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/STREAM_GENERATOR_REFERENCE.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/docs/STREAM_GENERATOR_REFERENCE_ES.md +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/base.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/clinical/Clinic.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/clinical/ClinicGeneratorBlock.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/clinical/ClinicReporter.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/clinical/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/complex/ComplexGenerator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/complex/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/configs.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/drift/DriftInjector.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/drift/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/dynamics/CausalEngine.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/dynamics/ScenarioInjector.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/dynamics/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/persistence_models.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/stream/GeneratorFactory.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/stream/StreamBlockGenerator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/stream/StreamGenerator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/stream/StreamReporter.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/stream/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/tabular/CustomPluginAdapter.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/tabular/QualityReporter.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/tabular/RealBlockGenerator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/tabular/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/utils/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/generators/utils/propagation.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/logger.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/BalancePreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/ConceptDriftPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/CopulaPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/DataQualityAuditPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/DiffusionPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/DriftScenarioPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/FastPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/FastPrototypePreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/GradualDriftPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/HighFidelityPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/ImbalancePreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/LongitudinalHealthPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/OmicsIntegrationPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/RareDiseasePreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/ScenarioInjectorPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/SeasonalTimeSeriesPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/SingleCellQualityPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/TimeSeriesPreset.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/presets/base.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/DiscriminatorReporter.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/ExternalReporter.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/LocalIndexGenerator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/QualityReporter.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/Visualizer.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/__init__.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/reports/base.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/advanced_drifts.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/clinic_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/clinical_block_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/clinical_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/correlation_drift.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/drift_injector.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/real_block_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/real_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/reports_deep_dive.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/scenario_injector.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/stream_block_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/stream_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator/tutorials/tutorial_advanced_methods.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator.egg-info/SOURCES.txt +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator.egg-info/dependency_links.txt +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator.egg-info/entry_points.txt +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/calm_data_generator.egg-info/top_level.txt +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/requirements.txt +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/setup.cfg +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_accessors.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_anndata_support.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_block_generators_extended.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_causal_engine.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_clinic_block_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_clinical_advanced.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_clinical_regression.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_complex_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_comprehensive.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_comprehensive_reporting.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_correlation_propagation.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_custom_plugin_adapter.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_differentiation_factor.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_discriminator_reporter.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_disease_effects_fix.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_drift_correlations.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_drift_injector_advanced.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_drift_injector_math.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_functional_drift.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_imbalance.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_migration.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_presets.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_quality_metrics.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_real_block_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_real_generator_persistence.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_reporters_extended.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_reporting_fix.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_river_integration.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_scenario_extended.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_scgft_reporter.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_scvi_quality_regression.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_single_call.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_stream_block_generator.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_tabular_extended.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_timeseries_extended.py +0 -0
- {calm_data_generator-2.1.0 → calm_data_generator-2.2.0}/tests/test_timeseries_real.py +0 -0
{calm_data_generator-2.1.0/calm_data_generator.egg-info → calm_data_generator-2.2.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: calm-data-generator
|
|
3
|
-
Version: 2.
|
|
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
|