raylim commited on
Commit
ddfa8f1
·
unverified ·
1 Parent(s): 466e964

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

Files changed (1) hide show
  1. 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 = ["Unknown", "Male", "Female"]
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}: Unknown sex. Valid options are: {', '.join(SEX_OPTIONS)}. "
189
  )
190
- settings_df.at[idx, "Sex"] = "Unknown"
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)}. "