def write(otu_in_group, outfile): with open(outfile, 'w') as fp: for group, otus in otu_in_group.iteritems(): otus = sorted(list(otus), cmp=lambda a, b: cmp(int(a), int(b))) fp.write('%s\t%s\n' % (group, ' '.join(otus))) if __name__ == '__main__': params = read_params(sys.argv) dirname=params['outputdir'] mkdir(dirname) for_plot = dirname + '/for_plot.txt' tiff_file = dirname + '/venn.tiff' png_file = dirname + '/venn.png' vars = {'for_plot': for_plot, 'tiff_file': tiff_file, 'group_file': params['group_dir']} otu_in_group = read(params['microbial_profile'], params['group'], vars) write(otu_in_group, for_plot) r_job = Rparser() r_job.open(const.Rscript + '02_venn.R') r_job.format(vars) r_job.write(dirname+ '/otu_venn.R') r_job.run() image_trans(300,tiff_file, png_file)
def read_params(args): parser = argparse.ArgumentParser(description="group file change") parser.add_argument( "-i", "--inputfile", dest="inputfile", metavar="inputfile", type=str, required=True, help="set input file" ) parser.add_argument( "-o", "--outputdir", dest="outputdir", metavar="outputdir", type=str, required=True, help="set out put dir" ) parser.add_argument("-g", "--group", dest="group", metavar="group", type=str, required=True, help="set group file") args = parser.parse_args() params = vars(args) return params if __name__ == "__main__": params = read_params(sys.argv) outputdir = params["outputdir"] inputfile = params["inputfile"] pdfoutput = outputdir + "top.pdf" pngoutput = outputdir + "top.png" group = params["group"] vars = {"group": group, "pdfoutput": pdfoutput, "input": inputfile} r_job = Rparser() r_job.open(const.Rscript + "02_top.R") r_job.format(vars) r_job.write(outputdir + "/top.R") r_job.run() image_trans(300, pdfoutput, pngoutput)
params = vars(args) params['group'] = parse_group_file(params['group']) return params if __name__ == '__main__': params = read_params(sys.argv) outputfile = params['outputfile'] dirname,filename,suffix =get_name(outputfile) inputfile = params['inputfile'] top = params['top'] title = params['title'] data = pd.DataFrame.from_csv(file=inputfile,sep="\t") data["sum"] = data.sum(axis=1) data = data.sort_values(by="sum",ascending=False) del data["sum"] data = data.ix[:top] data.to_csv("%s/for_plot.csv"%dirname,sep="\t") mkdir(os.path.split(outputfile)[0]) RscriptDir = const.Rscript r_job = Rparser() r_job.open("%s/02_barplot.R"%RscriptDir) vars = {"top":top, "infile": "%s/for_plot.csv"%dirname, "pdf_file": outputfile, "title": title} r_job.format(vars) r_job.write("%s/bar_plot.R"%dirname) r_job.run() image_trans(300,"%s/%s.pdf"%(dirname,filename),"%s/%s.png"%(dirname,filename))
parser.set_defaults(with_boxplot=True) args = parser.parse_args() params = vars(args) return params if __name__ == '__main__': params = read_params(sys.argv) mkdir(params['out_dir']) pdf_file = params['out_dir'] + '/otu_pca.pdf' png_file = params['out_dir'] + '/otu_pca.png' vars = {'otu_profile': params['otu_table'], 'group_file': params['group'], 'pdf_file': pdf_file} r_job = Rparser() if params['two_legend']: if params['with_boxplot']: r_job.open(const.Rscript + '/02_tax_pca_two.R') else: r_job.open(const.Rscript + '/02_tax_pca_two.R') else: if params['with_boxplot']: r_job.open(const.Rscript + '/02_tax_pca_with_boxplot.R') else: r_job.open(const.Rscript + '/02_tax_pca.R') r_job.format(vars) r_job.write(params['out_dir'] + '/tax_pca.R') r_job.run() image_trans(300,pdf_file, png_file)