@@ -90,13 +90,13 @@ def _parse_metadata_paths(
9090 self ,
9191 path_template : str ,
9292 parse_metadata_func : Callable [[str , Union [bytes , Exception ]], pd .DataFrame ],
93- sample_sets : Optional [ base_params . sample_sets ] = None ,
93+ sample_sets : List [ str ] ,
9494 aim_analysis : Optional [str ] = None ,
9595 cohorts_analysis : Optional [str ] = None ,
9696 ) -> pd .DataFrame :
97- # Warning: don't use `_prep_sample_sets_param` in this function because that can cause a circular dependency, eventually raising a RecursionError.
98- # For instance, `_prep_sample_sets_param` uses `_relevant_sample_sets`, which uses `_surveillance_flags, which uses `_parse_metadata_paths`.
99- # Instead, use `_prep_sample_sets_param` to prepare `sample_sets` before passing it to this function.
97+ # Note: we don't use `_prep_sample_sets_param` in this function because that can cause a circular dependency, eventually raising a ` RecursionError` .
98+ # For instance, `_prep_sample_sets_param` uses `_relevant_sample_sets`, which uses `_surveillance_flags` , which uses `_parse_metadata_paths`.
99+ # Instead, use `_prep_sample_sets_param` to prepare `sample_sets` as a `List[str]` before passing it to this function.
100100
101101 # Obtain paths for all files we need to fetch.
102102 file_paths : Mapping [str , str ] = self ._metadata_paths (
@@ -410,10 +410,10 @@ def _parse_surveillance_flags(
410410 `is_surveillance` indicates whether the sample can be used for surveillance,
411411 """ ,
412412 )
413- def _surveillance_flags (self , sample_sets : base_params . sample_sets ) -> pd .DataFrame :
414- # Warning: don't use `_prep_sample_sets_param` here, because `_prep_sample_sets_param` uses `_relevant_sample_sets`,
415- # which uses this function , which would cause a RecursionError due to cyclic dependency .
416- # Instead, prepare the `sample_sets` parameter before calling this function.
413+ def _surveillance_flags (self , sample_sets : List [ str ] ) -> pd .DataFrame :
414+ # Note: we don't use `_prep_sample_sets_param` in this function because that can cause a circular dependency, eventually raising a `RecursionError`.
415+ # For instance, `_prep_sample_sets_param` uses `_relevant_sample_sets` , which uses `_surveillance_flags` .
416+ # Instead, use `_prep_sample_sets_param` to prepare `sample_sets` as a `List[str]` before passing it to this function.
417417
418418 return self ._parse_metadata_paths (
419419 path_template = "{release_path}/metadata/general/{sample_set}/surveillance.flags.csv" ,
0 commit comments