def main(): option_parser, opts, args = parse_command_line_parameters(**script_info) mapping_fp = opts.mapping_fp collapse_fields = opts.collapse_fields.split(',') input_biom_fp = opts.input_biom_fp collapse_mode = opts.collapse_mode output_biom_fp = opts.output_biom_fp output_mapping_fp = opts.output_mapping_fp normalize = opts.normalize collapsed_metadata, collapsed_table = \ collapse_samples(load_table(input_biom_fp), open(mapping_fp, 'U'), collapse_fields, collapse_mode) if normalize: collapsed_table.norm(axis='sample', inplace=True) write_biom_table(collapsed_table, output_biom_fp) output_map_lines = mapping_lines_from_collapsed_df(collapsed_metadata) with open(output_mapping_fp, 'w') as output_mapping_f: output_mapping_f.write('\n'.join(output_map_lines))