Example #1
0
def test0():
    import pprint
    import gtf_format
    from jp_svg_canvas import canvas
    canvas.load_javascript_support()
    GB = GenomeBar()
    f = open("genes.gtf")
    print ("reading file")
    if 0:
        L = list(gtf_format.gtf_lines_to_dicts(f))
        L = [d for d in L if d.get("feature") == "exon"]
    else:
        D = gtf_format.GTFData()
        D.load(f)
        GF = D.get_gene_features(["tmc6"])
        #pprint.pprint(sorted(D.gene_id_to_dicts.keys()))
        pprint.pprint(GF)
        L = GF["tmc6"]
    print "loading", len(L)
    for feature in L:
        atts = feature["attribute"]
        kind = feature.get("feature")
        gene_id = atts.get("gene_id")
        if kind == "exon" and gene_id:
            name = gene_id + str(feature["start"])
            GB.add_feature(name, feature)
    svg = canvas.SVGCanvasWidget()
    GB.fit(svg)
    print ("drawing")
    GB.draw(svg)
    print ("done")
    return svg
Example #2
0
def test0():
    import pprint
    import gtf_format
    from jp_svg_canvas import canvas
    canvas.load_javascript_support()
    GB = GenomeBar()
    f = open("genes.gtf")
    print("reading file")
    if 0:
        L = list(gtf_format.gtf_lines_to_dicts(f))
        L = [d for d in L if d.get("feature") == "exon"]
    else:
        D = gtf_format.GTFData()
        D.load(f)
        GF = D.get_gene_features(["tmc6"])
        #pprint.pprint(sorted(D.gene_id_to_dicts.keys()))
        pprint.pprint(GF)
        L = GF["tmc6"]
    print("loading", len(L))
    for feature in L:
        atts = feature["attribute"]
        kind = feature.get("feature")
        gene_id = atts.get("gene_id")
        if kind == "exon" and gene_id:
            name = gene_id + str(feature["start"])
            GB.add_feature(name, feature)
    svg = canvas.SVGCanvasWidget()
    GB.fit(svg)
    print("drawing")
    GB.draw(svg)
    print("done")
    return svg
 def __init__(self, target_canvas, scaling=1.0, x_scaling=None, y_scaling=None,
     x_offset=0.0, y_offset=0.0):
     canvas.load_javascript_support()
     self.x_scaling = self.y_scaling = scaling
     if x_scaling is not None:
         self.x_scaling = x_scaling
     if y_scaling is not None:
         self.y_scaling = y_scaling
     self.x_offset = x_offset
     self.y_offset = y_offset
     self.target = target_canvas
     self.prefix_to_names = {}
     self.prefix_to_count = {}
Example #4
0
def canvas_test(filename="ex2.wig.gz", width=500, height=100):
    from jp_svg_canvas import canvas
    canvas.load_javascript_support()
    svg = canvas.SVGCanvasWidget()
    svg.add_style("background-color", "cyan")
    svg.svg_width = width
    svg.svg_height = height
    svg.set_view_box(0, 0, width, height)
    W = WigData()
    print ("loading: " + repr(filename))
    W.load_filename(filename)
    print ("loaded " + repr(W.numelts) + " max " + repr(W.maxheight))
    W.draw(svg, 3010000, 3010200, width, height)
    return (svg, W)
Example #5
0
 def widget(self):
     from jp_svg_canvas import canvas
     canvas.load_javascript_support(True)
     svg_canvas = canvas.SVGCanvasWidget()
     self.plot_all(svg_canvas)
     svg_canvas.send_commands()
     display(svg_canvas)
     # fit must happen after display.
     svg_canvas.fit()
     svg_canvas.send_commands()
     canvas_side = len(self.dataset.feature_names) * self.side
     canvas_side = max(canvas_side, 500)
     svg_canvas.width = canvas_side
     svg_canvas.height = canvas_side
     return svg_canvas
import numpy as np 
from numpy.linalg import norm
from jp_svg_canvas import canvas, cartesian_svg
from jp_gene_viz import proxy_html5_canvas
from jp_gene_viz import js_proxy
import contourist.lasso
from threading import Timer

canvas.load_javascript_support()

import ipywidgets as widgets
from IPython.display import display

SLIDE = 'SLIDE'
SLIDE_x = 'SLIDE_x'
SLIDE_y = 'SLIDE_y'
TSNE_x = 'TSNE_x'
TSNE_y = 'TSNE_y'
INDICATOR = 'INDICATOR'
NAME = "NAME"

#SLIDE_SIZE = 40
TSNE_RADIUS = 11
BACKGROUND_COLOR = "#FFFFDD"


def canvas_doodle(xmin, ymin, xmax, ymax, html_width=500, html_height=None, margin=50):
    canvas = proxy_html5_canvas.HTML5CanvasProxy()
    result = cartesian_svg.doodle(xmin, ymin, xmax, ymax, html_width, html_height, margin, svg=canvas)
    result.buffered = True
    return result
Example #7
0
def load_javascript_support(verbose=False):
    canvas.load_javascript_support()
    js_proxy.load_javascript_support()