def draw_jointplot(figname, x, y, data=None, kind="reg", color=None, xlim=None, ylim=None, format="pdf"): """ Wraps around sns.jointplot """ import seaborn as sns sns.set_context('talk') plt.clf() register = { "MeanCoverage": "Sample Mean Coverage", "HD.FDP": "Depth of full spanning reads", "HD.PDP": "Depth of partial spanning reads", "HD.PEDP": "Depth of paired-end reads", "HD.2": "Repeat size of the longer allele" } g = sns.jointplot(x, y, data=data, kind=kind, color=color, xlim=xlim, ylim=ylim) g.ax_joint.set_xlabel(register.get(x, x)) g.ax_joint.set_ylabel(register.get(y, y)) savefig(figname + "." + format, cleanup=False)
def _draw_trees(trees, nrow=1, ncol=1, rmargin=0.3, iopts=None, outdir=".", shfile=None, **kwargs): """ Draw one or multiple trees on one plot. """ from jcvi.graphics.tree import draw_tree if shfile: SHs = DictFile(shfile, delimiter="\t") ntrees = len(trees) n = nrow * ncol for x in range(int(ceil(float(ntrees) / n))): fig = plt.figure(1, (iopts.w, iopts.h)) if iopts else plt.figure(1, (5, 5)) root = fig.add_axes([0, 0, 1, 1]) xiv = 1.0 / ncol yiv = 1.0 / nrow xstart = list(np.arange(0, 1, xiv)) * nrow ystart = list(chain(*zip(*[list(np.arange(0, 1, yiv))[::-1]] * ncol))) for i in range(n * x, n * (x + 1)): if i == ntrees: break ax = fig.add_axes([xstart[i % n], ystart[i % n], xiv, yiv]) f = trees.keys()[i] tree = trees[f] try: SH = SHs[f] except: SH = None draw_tree(ax, tree, rmargin=rmargin, reroot=False, supportcolor="r", SH=SH, **kwargs) root.set_xlim(0, 1) root.set_ylim(0, 1) root.set_axis_off() format = iopts.format if iopts else "pdf" dpi = iopts.dpi if iopts else 300 if n == 1: image_name = f.rsplit(".", 1)[0] + "." + format else: image_name = "trees{0}.{1}".format(x, format) image_name = op.join(outdir, image_name) savefig(image_name, dpi=dpi, iopts=iopts) plt.clf()
def _draw_trees(trees, nrow=1, ncol=1, rmargin=.3, iopts=None, outdir=".", shfile=None, **kwargs): """ Draw one or multiple trees on one plot. """ from jcvi.graphics.tree import draw_tree if shfile: SHs = DictFile(shfile, delimiter="\t") ntrees = len(trees) n = nrow * ncol for x in xrange(int(ceil(float(ntrees)/n))): fig = plt.figure(1, (iopts.w, iopts.h)) if iopts \ else plt.figure(1, (5, 5)) root = fig.add_axes([0, 0, 1, 1]) xiv = 1. / ncol yiv = 1. / nrow xstart = list(np.arange(0, 1, xiv)) * nrow ystart = list(chain(*zip(*[list(np.arange(0, 1, yiv))[::-1]] * ncol))) for i in xrange(n*x, n*(x+1)): if i == ntrees: break ax = fig.add_axes([xstart[i%n], ystart[i%n], xiv, yiv]) f = trees.keys()[i] tree = trees[f] try: SH = SHs[f] except: SH = None draw_tree(ax, tree, rmargin=rmargin, reroot=False, \ supportcolor="r", SH=SH, **kwargs) root.set_xlim(0, 1) root.set_ylim(0, 1) root.set_axis_off() format = iopts.format if iopts else "pdf" dpi = iopts.dpi if iopts else 300 if n == 1: image_name = f.rsplit(".", 1)[0] + "." + format else: image_name = "trees{0}.{1}".format(x, format) image_name = op.join(outdir, image_name) savefig(image_name, dpi=dpi, iopts=iopts) plt.clf()
def plot_one_scaffold(scaffoldID, ssizes, sbed, trios, imagename, iopts, highlights=None): ntrios = len(trios) fig = plt.figure(1, (14, 8)) plt.cla() plt.clf() root = fig.add_axes([0, 0, 1, 1]) axes = [fig.add_subplot(1, ntrios, x) for x in range(1, ntrios + 1)] scafsize = ssizes.get_size(scaffoldID) for trio, ax in zip(trios, axes): blastf, qsizes, qbed = trio scaffolding(ax, scaffoldID, blastf, qsizes, ssizes, qbed, sbed, highlights=highlights) root.text( 0.5, 0.95, "{0} (size={1})".format(scaffoldID, thousands(scafsize)), size=18, ha="center", color="b", ) root.set_xlim(0, 1) root.set_ylim(0, 1) root.set_axis_off() savefig(imagename, dpi=iopts.dpi, iopts=iopts)
def plot_one_scaffold(scaffoldID, ssizes, sbed, trios, imagename, iopts, highlights=None): ntrios = len(trios) fig = plt.figure(1, (14, 8)) plt.cla() plt.clf() root = fig.add_axes([0, 0, 1, 1]) axes = [fig.add_subplot(1, ntrios, x) for x in range(1, ntrios + 1)] scafsize = ssizes.get_size(scaffoldID) for trio, ax in zip(trios, axes): blastf, qsizes, qbed = trio scaffolding(ax, scaffoldID, blastf, qsizes, ssizes, qbed, sbed, highlights=highlights) root.text(.5, .95, "{0} (size={1})".format(scaffoldID, thousands(scafsize)), size=18, ha="center", color='b') root.set_xlim(0, 1) root.set_ylim(0, 1) root.set_axis_off() savefig(imagename, dpi=iopts.dpi, iopts=iopts)