Exemplo n.º 1
0
def write_sdrf_table_files(i, output_path):
    """Writes out SDRF table files

    :param i: ISA Investigation object
    :param output_path: Output path to write SDRFs to
    :return: None
    """
    tmp = tempfile.mkdtemp()
    isatab.write_study_table_files(inv_obj=i, output_dir=tmp)
    isatab.write_assay_table_files(inv_obj=i, output_dir=tmp)
    for study in i.studies:
        for assay in [
            x for x in study.assays
                if x.technology_type.term.lower() == "dna microarray"]:
            sdrf_filename = study.filename[2:-3] + \
                assay.filename[2:-3] + "sdrf.txt"
            log.debug("Writing {}".format(sdrf_filename))
            try:
                isatab.merge_study_with_assay_tables(
                    os.path.join(tmp, study.filename),
                    os.path.join(tmp, assay.filename),
                    os.path.join(output_path, sdrf_filename))
            except FileNotFoundError:
                raise IOError("There was a problem merging intermediate "
                              "ISA-Tab files into SDRF")
Exemplo n.º 2
0
def write_sdrf_table_files(i, output_path):
    tmp = tempfile.mkdtemp()
    isatab.write_study_table_files(inv_obj=i, output_dir=tmp)
    isatab.write_assay_table_files(inv_obj=i, output_dir=tmp)
    for study in i.studies:
        for assay in [x for x in study.assays if x.technology_type.term.lower() == "dna microarray"]:
            sdrf_filename = study.filename[2:-3] + assay.filename[2:-3] + "sdrf.txt"
            print("Writing {}".format(sdrf_filename))
            try:
                isatab.merge_study_with_assay_tables(os.path.join(tmp, study.filename),
                                                     os.path.join(tmp, assay.filename),
                                                     os.path.join(output_path, sdrf_filename))
            except FileNotFoundError:
                raise IOError("There was a problem merging intermediate ISA-Tab files into SDRF")