def print_block(self, section_key, f=sys.stdout, file_format="mwtab"):
        if file_format == "mwtab":
            for key, value in self[section_key].items():
                if section_key == "METABOLOMICS WORKBENCH" and key not in ("VERSION", "CREATED_ON"):
                    continue
                if key in ("VERSION", "CREATED_ON"):
                    cw = 20 - len(key)
                elif key in ("SUBJECT_SAMPLE_FACTORS", ):
                    cw = 33 - len(key)
                else:
                    cw = 30 - len(key)
                if "\n" in value:
                    for line in value.split("\n"):
                        print("{}{}{}\t{}".format(self.prefixes.get(section_key, ""), key, cw * " ", line), file=f)
                elif key == "SUBJECT_SAMPLE_FACTORS":
                    for factor in value:
                        print("{}{}\t{}".format(key, cw * " ", "\t".join(factor.values())), file=f)
                elif key.endswith(":UNITS"):
                    print("{}\t{}".format(key, value), file=f)
                elif key.endswith("_RESULTS_FILE"):
                    if isinstance(value, dict):
                        print("{}{}               \t{}\t{}:{}".format(self.prefixes.get(section_key, ""),
                                                                      *[i for pair in value.items() for i in pair]), file=f)
                    else:
                        print("{}{}{}\t{}".format(self.prefixes.get(section_key, ""), key, cw * " ", value), file=f)
                elif key.endswith("_START"):
                    start_key = key
                    end_key = "{}{}".format(start_key[:-5], "END")
                    print(start_key, file=f)
                    for data_key in value:
                        if data_key in ("Samples", "Factors"):
                            print("{}\t{}".format(data_key, "\t".join(self[section_key][key][data_key])), file=f)
                        elif data_key in ("Fields", ):
                            print("{}".format("\t".join(self[section_key][key][data_key])), file=f)
                        elif data_key == "DATA":
                            for data in self[section_key][key][data_key]:
                                print("\t".join(data.values()), file=f)
                    print(end_key, file=f)
                else:
                    print("{}{}{}\t{}".format(self.prefixes.get(section_key, ""), key, cw * " ", value), file=f)
        elif file_format == "json":
            print(json.dumps(self[section_key], sort_keys=False, indent=4), file=f)