gengeneeval 0.1.0__tar.gz → 0.1.1__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 (30) hide show
  1. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/PKG-INFO +1 -1
  2. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/pyproject.toml +1 -1
  3. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/__init__.py +1 -1
  4. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/metrics/metrics.py +18 -0
  5. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/visualization/visualizer.py +5 -1
  6. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/LICENSE +0 -0
  7. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/README.md +0 -0
  8. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/cli.py +0 -0
  9. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/config.py +0 -0
  10. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/core.py +0 -0
  11. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/data/__init__.py +0 -0
  12. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/data/gene_expression_datamodule.py +0 -0
  13. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/data/loader.py +0 -0
  14. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/evaluator.py +0 -0
  15. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/evaluators/__init__.py +0 -0
  16. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/evaluators/base_evaluator.py +0 -0
  17. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/evaluators/gene_expression_evaluator.py +0 -0
  18. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/metrics/__init__.py +0 -0
  19. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/metrics/base_metric.py +0 -0
  20. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/metrics/correlation.py +0 -0
  21. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/metrics/distances.py +0 -0
  22. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/models/__init__.py +0 -0
  23. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/models/base_model.py +0 -0
  24. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/results.py +0 -0
  25. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/testing.py +0 -0
  26. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/utils/__init__.py +0 -0
  27. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/utils/io.py +0 -0
  28. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/utils/preprocessing.py +0 -0
  29. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/visualization/__init__.py +0 -0
  30. {gengeneeval-0.1.0 → gengeneeval-0.1.1}/src/geneval/visualization/plots.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gengeneeval
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: Comprehensive evaluation of generated gene expression data. Computes metrics between real and generated datasets with support for condition matching, train/test splits, and publication-quality visualizations.
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "gengeneeval"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  description = "Comprehensive evaluation of generated gene expression data. Computes metrics between real and generated datasets with support for condition matching, train/test splits, and publication-quality visualizations."
5
5
  authors = ["GenEval Team <geneval@example.com>"]
6
6
  license = "MIT"
@@ -25,7 +25,7 @@ CLI Usage:
25
25
  --conditions perturbation cell_type --output results/
26
26
  """
27
27
 
28
- __version__ = "0.1.0"
28
+ __version__ = "0.1.1"
29
29
  __author__ = "GenEval Team"
30
30
 
31
31
  # Main evaluation interface
@@ -7,6 +7,24 @@ from scipy.stats import pearsonr, spearmanr
7
7
  import torch
8
8
  from . import metric_MMD
9
9
 
10
+
11
+ def scanpy_preprocessing(adata: ad.AnnData) -> ad.AnnData:
12
+ """Apply standard scanpy preprocessing."""
13
+ adata = adata.copy()
14
+ sc.pp.normalize_total(adata, target_sum=1e4)
15
+ sc.pp.log1p(adata)
16
+ return adata
17
+
18
+
19
+ def scanpy_pca(adata: ad.AnnData, n_comps: int = 50) -> ad.AnnData:
20
+ """Compute PCA on AnnData object."""
21
+ adata = adata.copy()
22
+ if adata.n_vars > 2000:
23
+ sc.pp.highly_variable_genes(adata, n_top_genes=2000, flavor='seurat_v3', subset=True)
24
+ sc.tl.pca(adata, n_comps=min(n_comps, adata.n_vars - 1, adata.n_obs - 1))
25
+ return adata
26
+
27
+
10
28
  class Metric():
11
29
  def __init__(self, name: str, fn):
12
30
  self.name = name
@@ -10,12 +10,16 @@ Provides publication-quality plots for evaluation results:
10
10
  """
11
11
  from __future__ import annotations
12
12
 
13
- from typing import Dict, List, Optional, Tuple, Union, Any
13
+ from typing import Dict, List, Optional, Tuple, Union, Any, TYPE_CHECKING
14
14
  from pathlib import Path
15
15
  import numpy as np
16
16
  import pandas as pd
17
17
  import warnings
18
18
 
19
+ if TYPE_CHECKING:
20
+ from geneval.results import EvaluationResult
21
+ from geneval.data.loader import GeneExpressionDataLoader
22
+
19
23
  try:
20
24
  import matplotlib.pyplot as plt
21
25
  import matplotlib.patches as mpatches
File without changes
File without changes