2 Commits
0.4 ... 0.5.1

2 changed files with 26 additions and 5 deletions

View File

@@ -1,7 +1,6 @@
import csv import csv
from io import TextIOWrapper
from os import PathLike from os import PathLike
from typing import AsyncIterable, Iterable, Mapping, Sequence, Union from typing import AsyncIterable, Mapping, Sequence, Union
from automlst.engine.data.structures.mlst import Allele, MLSTProfile from automlst.engine.data.structures.mlst import Allele, MLSTProfile
@@ -11,10 +10,11 @@ def dict_loci_alleles_variants_from_loci(alleles_map: Mapping[str, Sequence[Alle
for loci, alleles in alleles_map.items(): for loci, alleles in alleles_map.items():
if len(alleles) == 1: if len(alleles) == 1:
result_dict[loci] = alleles[0].allele_variant result_dict[loci] = alleles[0].allele_variant
for allele in alleles: else:
result_locis = list() result_locis = list()
result_locis.append(allele.allele_variant) for allele in alleles:
result_dict[loci] = result_locis result_locis.append(allele.allele_variant)
result_dict[loci] = result_locis
return result_dict return result_dict

View File

@@ -0,0 +1,21 @@
from automlst.engine.data.local.csv import dict_loci_alleles_variants_from_loci
from automlst.engine.data.structures.mlst import Allele
def test_dict_loci_alleles_variants_from_loci_single_loci_not_list():
alleles_map = {
"adk": [Allele("adk", "1", None)]
}
results = dict_loci_alleles_variants_from_loci(alleles_map)
for loci, variant in results.items():
assert isinstance(variant, str)
assert variant == "1"
def test_dict_loci_alleles_variants_from_loci_multi_loci_is_list():
alleles_map = {
"adk": [Allele("adk", "1", None), Allele("adk", "2", None)]
}
results = dict_loci_alleles_variants_from_loci(alleles_map)
for loci, variant in results.items():
assert isinstance(variant, list)
assert len(variant) == 2