예제 #1
0
 def __init__(self, profile, taxfile, outfile, group_file=None, expand=1):
     self.table = TableParser(profile)
     self.otu_tax = TaxParser(taxfile)
     self.group = parse_group_file(group_file)
     if self.group is not None:
         self.groups = list(set(self.group.itervalues()))
     else:
         self.groups = None
     self.outfile = outfile
     self.expand = expand
     self.tax_level = ['kingdom', 'phylum', 'class', 'order', 'family', 'genus', 'species']
     self.tax_dict = {
         'k': 'kingdom',
         'p': 'phylum',
         'c': 'class',
         'o': 'order',
         'f': 'family',
         'g': 'genus',
         's': 'species',
     }
     self.samples = {}
     self.node_list = {}
     self.root_nodes = {}
    parser = argparse.ArgumentParser(
        description='get otu profile uniform | v1.0 at 2015/09/29 by liangzb')
    parser.add_argument(
        '-i',
        '--infile',
        dest='infile',
        metavar='FILE',
        type=str,
        required=True,
        help="set the un-uniformed profile produced by biom convert")
    parser.add_argument('-o',
                        '--out_file',
                        dest='outfile',
                        metavar='FILE',
                        type=str,
                        required=True,
                        help="set the output uniform profile")

    args = parser.parse_args()
    params = vars(args)
    return params


if __name__ == '__main__':
    params = read_params(sys.argv)
    mkdir(os.path.dirname(params['outfile']))
    table = TableParser(params['infile'])
    table.parse_table()
    table.get_uniform()
    table.write_table(params['outfile'])