def main():
    option_parser, opts, args = parse_command_line_parameters(**script_info)

    input_fp = opts.input_fp
#    mapping_fp = opts.mapping_fp
    output_prefix = opts.output_prefix
    column_name = opts.site_id

#    data, headers, _ = parse_mapping_file(open(mapping_fp, 'U'))

    lines = open(input_fp, 'U').readlines()

    individuals, time_points, data = parse_smp_unifrac_distances(lines)

    # write the three output files
    fd = open(output_prefix+'individuals.txt', 'w')
    fd.writelines([ind+'.'+column_name+'\n' for ind in individuals])
    fd.close

    fd = open(output_prefix+'time_points.txt', 'w')
    fd.writelines('\t'.join(map(str, time_points)))
    fd.close()

    # the data goes tab separated
    fd = open(output_prefix+'data.txt', 'w')
    fd.writelines(['\t'.join(map(str, element))+'\n' for element in data])
    fd.close()
Beispiel #2
0
    def test_parse_smp_unifrac_distances(self):
        individuals, timepoints, data = parse_smp_unifrac_distances(
            FORHEAD_TEST)

        expected_individuals = ['CUB000', 'CUB003', 'CUB004', 'CUB007']
        expected_timepoints = ['0.5', '1', '2', '3', '4', '5', '6', '7', '8']
        expected_data = DATA_MATRIX

        self.assertEquals(expected_individuals, individuals)
        self.assertEquals(expected_timepoints, timepoints)
        self.assertTrue(all((expected_data == data).tolist()))