|
11 | 11 |
|
12 | 12 | from gambit.util.io import FilePath, maybe_open
|
13 | 13 | import gambit.util.json as gjson
|
14 |
| -from gambit.query import QueryResults, QueryResultItem, QueryInput |
| 14 | +from gambit.query import QueryResults, QueryResultItem |
15 | 15 | from gambit.db import ReferenceGenomeSet, Taxon, AnnotatedGenome, Genome
|
16 | 16 |
|
17 | 17 |
|
@@ -84,8 +84,9 @@ class CSVResultsExporter(AbstractResultsExporter):
|
84 | 84 | """
|
85 | 85 | format_opts: dict[str, Any]
|
86 | 86 |
|
| 87 | + # Pairs of column name and QueryResultItem attribute |
87 | 88 | COLUMNS = [
|
88 |
| - ('query', 'input.label'), |
| 89 | + ('query', 'label'), |
89 | 90 | ('predicted.name', 'report_taxon.name'),
|
90 | 91 | ('predicted.rank', 'report_taxon.rank'),
|
91 | 92 | ('predicted.ncbi_id', 'report_taxon.ncbi_id'),
|
@@ -140,20 +141,15 @@ def _results_to_json(self, results: QueryResults):
|
140 | 141 | @to_json.register(QueryResultItem)
|
141 | 142 | def _item_to_json(self, item: QueryResultItem):
|
142 | 143 | return dict(
|
143 |
| - query=item.input, |
| 144 | + query=dict( |
| 145 | + name=item.label, |
| 146 | + path=item.file, |
| 147 | + ), |
144 | 148 | predicted_taxon=item.report_taxon,
|
145 | 149 | next_taxon=item.classifier_result.next_taxon,
|
146 | 150 | closest_genomes=item.closest_genomes,
|
147 | 151 | )
|
148 | 152 |
|
149 |
| - @to_json.register(QueryInput) |
150 |
| - def _input_to_json(self, input: QueryInput): |
151 |
| - return dict( |
152 |
| - name=input.label, |
153 |
| - path=None if input.file is None else input.file.path, |
154 |
| - format=None if input.file is None else input.file.format, |
155 |
| - ) |
156 |
| - |
157 | 153 | @to_json.register(ReferenceGenomeSet)
|
158 | 154 | def _genomeset_to_json(self, gset: ReferenceGenomeSet):
|
159 | 155 | return _todict(gset, ['id', 'key', 'version', 'name', 'description'])
|
|
0 commit comments