Skip to content

Commit 8530a9d

Browse files
committed
Fix remove_invalid flag in pyard.ARD(remove_invalid=False) that ignores invalid codes.
1 parent cef4c5c commit 8530a9d

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

pyard/pyard.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,9 @@ def _is_valid_allele(self, allele):
238238
:param allele: Allele to test
239239
:return: bool to indicate if allele is valid
240240
"""
241-
return allele in self.valid_alleles
241+
if self._remove_invalid:
242+
return allele in self.valid_alleles
243+
return True
242244

243245
def _get_alleles(self, code, loc_name) -> Iterable[str]:
244246
"""
@@ -248,12 +250,18 @@ def _get_alleles(self, code, loc_name) -> Iterable[str]:
248250
:return: valid alleles corresponding to allele code
249251
"""
250252
alleles = mac_code_to_alleles(self.db_connection, code)
251-
return filter(self._is_valid_allele,
252-
[f'{loc_name}:{a}' for a in alleles])
253+
if self._remove_invalid:
254+
return filter(self._is_valid_allele,
255+
[f'{loc_name}:{a}' for a in alleles])
256+
else:
257+
return [f'{loc_name}:{a}' for a in alleles]
253258

254259
def _get_alleles_from_serology(self, serology) -> Iterable[str]:
255260
alleles = db.serology_to_alleles(self.db_connection, serology)
256-
return filter(self._is_valid_allele, alleles)
261+
if self._remove_invalid:
262+
return filter(self._is_valid_allele, alleles)
263+
else:
264+
return alleles
257265

258266
def isvalid(self, allele: str) -> bool:
259267
"""

0 commit comments

Comments
 (0)