Skip to content

Commit b8d2ad4

Browse files
Fixing Mypy errors
1 parent 672b549 commit b8d2ad4

1 file changed

Lines changed: 20 additions & 10 deletions

File tree

malariagen_data/anoph/phenotypes.py

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,28 @@
11
import pandas as pd
22
import xarray as xr
3-
from typing import Optional, Union, List, Dict, Any
3+
from typing import Callable, Optional, Union, List, Dict, Any
44
import warnings
5+
import fsspec
56

67

78
class PhenotypeDataMixin:
89
"""
910
Mixin providing methods for accessing insecticide resistance phenotypic data.
1011
"""
1112

13+
_fs: fsspec.AbstractFileSystem
14+
_phenotype_gcs_path_template: str
15+
sample_metadata: pd.DataFrame
16+
sample_sets: list[str]
17+
snp_calls: Callable[..., Any]
18+
haplotypes: Callable[..., Any]
19+
1220
def _load_phenotype_data(
1321
self,
14-
sample_sets: List[str],
15-
insecticide: Optional[List[str]] = None,
16-
dose: Optional[List[float]] = None,
17-
phenotype: Optional[List[str]] = None,
22+
sample_sets: list[str],
23+
insecticide: list[str] | None = None,
24+
dose: list[float] | None = None,
25+
phenotype: list[str] | None = None,
1826
) -> pd.DataFrame:
1927
"""
2028
Load raw phenotypic data from GCS for given sample sets.
@@ -240,7 +248,7 @@ def phenotype_data(
240248
"""
241249
# 1. Normalize sample_sets
242250
if sample_sets is None:
243-
sample_sets = self.sample_sets()
251+
sample_sets = self.sample_sets
244252
elif isinstance(sample_sets, str):
245253
sample_sets = [sample_sets]
246254

@@ -252,9 +260,9 @@ def phenotype_data(
252260
# 3. Load raw phenotype data
253261
df_phenotypes = self._load_phenotype_data(
254262
sample_sets=sample_sets,
255-
insecticide=insecticide,
256-
dose=dose,
257-
phenotype=phenotype,
263+
insecticide=[insecticide] if isinstance(insecticide, str) else insecticide,
264+
dose=[dose] if isinstance(dose, float) else dose,
265+
phenotype=[phenotype] if isinstance(phenotype, str) else phenotype,
258266
)
259267

260268
# 4. Get metadata for those samples
@@ -344,6 +352,8 @@ def phenotypes(
344352
max_cohort_size=max_cohort_size,
345353
)
346354

355+
print(f"snp_calls is callable? {callable(self.snp_calls)}")
356+
print(f"haplotypes is callable? {callable(self.haplotypes)}")
347357
# 2. Optionally load variant data if region is specified
348358
variant_data = None
349359
if region is not None:
@@ -373,7 +383,7 @@ def phenotype_sample_sets(self) -> List[str]:
373383
"""
374384
Get list of sample sets that have phenotypic data available.
375385
"""
376-
all_sample_sets = self.sample_sets()
386+
all_sample_sets = self.sample_sets
377387
phenotype_sample_sets = []
378388
for sample_set in all_sample_sets:
379389
try:

0 commit comments

Comments
 (0)