Spaces:
Sleeping
Sleeping
Remove 'Unknown' sex option from UI utilities
Browse files- Update SEX_OPTIONS to only include 'Male' and 'Female'
- Remove automatic defaulting to 'Unknown' for missing sex values
- Update validation to handle empty/null sex values appropriately
- src/mosaic/ui/utils.py +4 -6
src/mosaic/ui/utils.py
CHANGED
|
@@ -19,7 +19,7 @@ from mosaic.data_directory import get_data_directory
|
|
| 19 |
TEMP_USER_DATA_DIR = Path(tempfile.gettempdir()) / "mosaic_user_data"
|
| 20 |
|
| 21 |
IHC_SUBTYPES = ["", "HR+/HER2+", "HR+/HER2-", "HR-/HER2+", "HR-/HER2-"]
|
| 22 |
-
SEX_OPTIONS = ["
|
| 23 |
|
| 24 |
SETTINGS_COLUMNS = [
|
| 25 |
"Slide",
|
|
@@ -128,8 +128,6 @@ def load_settings(slide_csv_path):
|
|
| 128 |
settings_df["Cancer Subtype"] = "Unknown"
|
| 129 |
if "IHC Subtype" not in settings_df.columns:
|
| 130 |
settings_df["IHC Subtype"] = ""
|
| 131 |
-
if "Sex" not in settings_df.columns:
|
| 132 |
-
settings_df["Sex"] = "Unknown"
|
| 133 |
if "Tissue Site" not in settings_df.columns:
|
| 134 |
settings_df["Tissue Site"] = "Unknown"
|
| 135 |
if not set(SETTINGS_COLUMNS).issubset(settings_df.columns):
|
|
@@ -183,11 +181,11 @@ def validate_settings(
|
|
| 183 |
f"Slide {slide_name}: Unknown site type. Valid types are: Metastatic, Primary. "
|
| 184 |
)
|
| 185 |
settings_df.at[idx, "Site Type"] = "Primary"
|
| 186 |
-
if row["Sex"] not in SEX_OPTIONS:
|
| 187 |
warnings.append(
|
| 188 |
-
f"Slide {slide_name}:
|
| 189 |
)
|
| 190 |
-
settings_df.at[idx, "Sex"] = "
|
| 191 |
if row["Tissue Site"] not in tissue_sites:
|
| 192 |
warnings.append(
|
| 193 |
f"Slide {slide_name}: Unknown tissue site. Valid tissue sites are: {', '.join(tissue_sites)}. "
|
|
|
|
| 19 |
TEMP_USER_DATA_DIR = Path(tempfile.gettempdir()) / "mosaic_user_data"
|
| 20 |
|
| 21 |
IHC_SUBTYPES = ["", "HR+/HER2+", "HR+/HER2-", "HR-/HER2+", "HR-/HER2-"]
|
| 22 |
+
SEX_OPTIONS = ["Male", "Female"]
|
| 23 |
|
| 24 |
SETTINGS_COLUMNS = [
|
| 25 |
"Slide",
|
|
|
|
| 128 |
settings_df["Cancer Subtype"] = "Unknown"
|
| 129 |
if "IHC Subtype" not in settings_df.columns:
|
| 130 |
settings_df["IHC Subtype"] = ""
|
|
|
|
|
|
|
| 131 |
if "Tissue Site" not in settings_df.columns:
|
| 132 |
settings_df["Tissue Site"] = "Unknown"
|
| 133 |
if not set(SETTINGS_COLUMNS).issubset(settings_df.columns):
|
|
|
|
| 181 |
f"Slide {slide_name}: Unknown site type. Valid types are: Metastatic, Primary. "
|
| 182 |
)
|
| 183 |
settings_df.at[idx, "Site Type"] = "Primary"
|
| 184 |
+
if row["Sex"] not in SEX_OPTIONS and row["Sex"] != "" and row["Sex"] is not None:
|
| 185 |
warnings.append(
|
| 186 |
+
f"Slide {slide_name}: Invalid sex value. Valid options are: {', '.join(SEX_OPTIONS)}. "
|
| 187 |
)
|
| 188 |
+
settings_df.at[idx, "Sex"] = ""
|
| 189 |
if row["Tissue Site"] not in tissue_sites:
|
| 190 |
warnings.append(
|
| 191 |
f"Slide {slide_name}: Unknown tissue site. Valid tissue sites are: {', '.join(tissue_sites)}. "
|