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

Make sex parameter required in encode_sex function

Browse files

- Remove 'Unknown' as valid sex option, only accept 'Male' or 'Female'
- Raise ValueError if invalid sex value is provided
- Update documentation to clarify sex is required parameter

Files changed (1) hide show
  1. src/mosaic/inference/data.py +8 -4
src/mosaic/inference/data.py CHANGED
@@ -287,14 +287,18 @@ def encode_sex(sex):
287
  """Convert sex to numeric encoding.
288
 
289
  Args:
290
- sex: "Male", "Female", or "Unknown" (case insensitive)
291
 
292
  Returns:
293
- int: 0 for Male, 1 for Female, 2 for Unknown
 
 
 
294
  """
295
  sex_map = get_sex_map()
296
- unknown_idx = sex_map.get("Unknown", 2)
297
- return sex_map.get(sex, unknown_idx)
 
298
 
299
 
300
  def encode_tissue_site(site_name):
 
287
  """Convert sex to numeric encoding.
288
 
289
  Args:
290
+ sex: "Male" or "Female" (required, case insensitive)
291
 
292
  Returns:
293
+ int: 0 for Male, 1 for Female
294
+
295
+ Raises:
296
+ ValueError: If sex is not "Male" or "Female"
297
  """
298
  sex_map = get_sex_map()
299
+ if sex not in sex_map:
300
+ raise ValueError(f"Sex must be 'Male' or 'Female', got: {sex}")
301
+ return sex_map[sex]
302
 
303
 
304
  def encode_tissue_site(site_name):