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'])