Sample Mapper¶
sample_mapper ¶
Application Layer - Sample Mapper.
Maps between Sample domain entities and pandas DataFrames for application layer operations.
Classes:
| Name | Description |
|---|---|
SampleMapper | Bidirectional mapping between Sample entities and DataFrames |
Notes
- Stateless mapper (can be used as static methods)
- Preserves data integrity during conversion
- Handles validation at boundaries
Classes¶
SampleMapper ¶
Map between Sample entities and DataFrames.
Provides bidirectional conversion between domain entities (Sample, Dataset) and pandas DataFrames used by the application layer.
Methods:
| Name | Description |
|---|---|
to_dataframe | Convert Dataset to DataFrame |
from_dataframe | Convert DataFrame to Dataset |
samples_to_dict | Convert Dataset to dictionary format |
Notes
- All methods are static (stateless)
- Preserves KO identifiers exactly
- Handles empty datasets gracefully
Functions¶
to_dataframe staticmethod ¶
Convert Dataset to DataFrame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataset | Dataset | Domain entity containing samples | required |
Returns:
| Type | Description |
|---|---|
DataFrame | DataFrame with columns: Sample, KO (each row is one Sample-KO pair) |
Notes
- Each KO creates a new row
- Sample ID is repeated for multiple KOs
- Empty datasets return empty DataFrame with correct columns
Source code in src/application/mappers/sample_mapper.py
from_dataframe staticmethod ¶
Convert DataFrame to Dataset.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
df | DataFrame | DataFrame with columns: Sample, KO | required |
Returns:
| Type | Description |
|---|---|
Dataset | Domain entity with reconstructed samples |
Raises:
| Type | Description |
|---|---|
ValueError | If DataFrame missing required columns |
ValueError | If DataFrame contains invalid KO identifiers |
Notes
- Groups KOs by Sample ID
- Validates KO format during conversion
- Preserves original order of samples
Source code in src/application/mappers/sample_mapper.py
samples_to_dict staticmethod ¶
Convert Dataset to dictionary format.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dataset | Dataset | Domain entity with samples | required |
Returns:
| Type | Description |
|---|---|
dict | Dictionary with sample_id as keys, list of KO IDs as values |
Notes
- Useful for JSON serialization
- Preserves all KOs per sample
- Returns empty dict for empty dataset
Source code in src/application/mappers/sample_mapper.py
dict_to_dataset staticmethod ¶
Convert dictionary to Dataset.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data | dict | Dictionary with sample_id as keys, list of KO IDs as values | required |
Returns:
| Type | Description |
|---|---|
Dataset | Reconstructed domain entity |
Notes
- Validates KO format during conversion
- Preserves dictionary key order (Python 3.7+)