From f75707e4fe7e4bac7345c8d86ebba9c9f5356875 Mon Sep 17 00:00:00 2001 From: Harrison Deng Date: Tue, 11 Feb 2025 17:54:48 +0000 Subject: [PATCH] CSV output column order is now predictable (sorted) --- src/autobigs/engine/data/local/csv.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/autobigs/engine/data/local/csv.py b/src/autobigs/engine/data/local/csv.py index f5476d3..4838681 100644 --- a/src/autobigs/engine/data/local/csv.py +++ b/src/autobigs/engine/data/local/csv.py @@ -28,14 +28,14 @@ async def write_mlst_profiles_as_csv(mlst_profiles_iterable: AsyncIterable[tuple failed.append(name) continue if writer is None: - header = ["id", "st", "clonal-complex", *mlst_profile.alleles.keys()] + header = ["id", "st", "clonal-complex", *sorted(mlst_profile.alleles.keys())] writer = csv.DictWriter(filehandle, fieldnames=header) writer.writeheader() row_dictionary = { "st": mlst_profile.sequence_type, "clonal-complex": mlst_profile.clonal_complex, "id": name, - **dict_loci_alleles_variants_from_loci(mlst_profile.alleles) + **mlst_profile.alleles } writer.writerow(rowdict=row_dictionary) return failed \ No newline at end of file