Skip to content

Commit a9e47ba

Browse files
round values presented in Overview tab frequency tables (#295)
closes #293
1 parent 1a46f7c commit a9e47ba

File tree

2 files changed

+21
-9
lines changed

2 files changed

+21
-9
lines changed

q2_feature_table/_summarize/_visualizer.py

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ def summarize(output_dir: str, table: biom.Table,
9999

100100
sample_summary, sample_frequencies = _frequency_summary(
101101
table, axis='sample')
102+
102103
if number_of_samples > 1:
103104

104105
# Calculate the bin count, with a minimum of 5 bins
@@ -166,6 +167,10 @@ def summarize(output_dir: str, table: biom.Table,
166167

167168
feature_qualitative_data = _compute_qualitative_summary(table)
168169
sample_frequencies.sort_values(inplace=True, ascending=False)
170+
171+
sample_frequencies_json = pd.Series(["{:,}".format(int(x)) for x in
172+
sample_frequencies])
173+
169174
feature_frequencies.sort_values(inplace=True, ascending=False)
170175

171176
feature_frequencies = feature_frequencies.astype(int) \
@@ -190,7 +195,7 @@ def summarize(output_dir: str, table: biom.Table,
190195

191196
# Create a JSON object containing the Sample Frequencies to build the
192197
# table in sample-frequency-detail.html
193-
sample_frequencies_json = sample_frequencies.to_json()
198+
sample_frequencies_json = sample_frequencies_json.to_json()
194199

195200
templates = [index, sample_frequency_template, feature_frequency_template]
196201
context.update({'frequencies_list':
@@ -356,12 +361,21 @@ def _frequencies(table, axis):
356361
return pd.Series(data=table.sum(axis=axis), index=table.ids(axis=axis))
357362

358363

359-
def _frequency_summary(table, axis='sample'):
364+
def _frequency_summary(table: biom.Table, axis='sample'):
360365
frequencies = _frequencies(table, axis=axis)
361366

362-
summary = pd.Series([frequencies.min(), frequencies.quantile(0.25),
363-
frequencies.median(), frequencies.quantile(0.75),
364-
frequencies.max(), frequencies.mean()],
367+
first = frequencies.quantile(0.25)
368+
third = frequencies.quantile(0.75)
369+
_fst = round(first, 1)
370+
_min = round(frequencies.min(), 1)
371+
_thd = round(third, 1)
372+
_med = round(frequencies.median(), 1)
373+
_max = round(frequencies.max(), 1)
374+
mean = round(frequencies.mean(), 1)
375+
376+
summary = pd.Series([_min, _fst,
377+
_med, _thd,
378+
_max, mean],
365379
index=['Minimum frequency', '1st quartile',
366380
'Median frequency', '3rd quartile',
367381
'Maximum frequency', 'Mean frequency'])

q2_feature_table/plugin_setup.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -511,8 +511,7 @@
511511

512512
plugin.visualizers.register_function(
513513
function=q2_feature_table.summarize,
514-
inputs={'table': FeatureTable[Frequency | RelativeFrequency |
515-
PresenceAbsence]},
514+
inputs={'table': FeatureTable[Frequency | PresenceAbsence]},
516515
parameters={'sample_metadata': Metadata},
517516
input_descriptions={'table': 'The feature table to be summarized.'},
518517
parameter_descriptions={'sample_metadata': 'The sample metadata.'},
@@ -705,8 +704,7 @@
705704

706705
plugin.pipelines.register_function(
707706
function=q2_feature_table.summarize_plus,
708-
inputs={'table': FeatureTable[Frequency | RelativeFrequency |
709-
PresenceAbsence]},
707+
inputs={'table': FeatureTable[Frequency | PresenceAbsence]},
710708
parameters={'metadata': Metadata},
711709
outputs={'feature_frequencies': ImmutableMetadata,
712710
'sample_frequencies': ImmutableMetadata,

0 commit comments

Comments
 (0)