def draw(self, axes, feature, bbox, loc, style_param): x = bbox.x0 y = bbox.y0 + bbox.height / 2 dx = bbox.width dy = 0 if loc.defect & seq.Location.Defect.MISS_RIGHT: # If the feature extends into the prevoius or next line # do not draw an arrow head draw_head = False else: draw_head = True axes.add_patch( biotite.AdaptiveFancyArrow( x, y, dx, dy, self._tail_width * bbox.height, self._head_width * bbox.height, # Create head with 90 degrees tip # -> head width/length ratio = 1/2 head_ratio=0.5, draw_head=draw_head, color=biotite.colors["orange"], linewidth=0))
def draw_arrow(ax, feature, loc): x = loc.first dx = loc.last - loc.first + 1 if loc.strand == seq.Location.Strand.FORWARD: x = loc.first dx = loc.last - loc.first + 1 else: x = loc.last dx = loc.first - loc.last + 1 # Create head with 90 degrees tip -> head width/length ratio = 1/2 ax.add_patch( biotite.AdaptiveFancyArrow(x, 0.5, dx, 0, tail_width=0.4, head_width=0.7, head_ratio=0.5, draw_head=True, color=COLORS[feature.key], linewidth=0)) label = feature.qual.get("gene") if label is not None: ax.text(x + dx / 2, 0.5, label, color="black", ha="center", va="center", size=8)
def draw(self, axes, feature, bbox, loc, style_param): """ The drawing function that create helix visualization Args: axes, feature, bbox, loc, style_param : matplotlib parameters to create the plot that will be gave by ProteinPlotter class """ x = bbox.x0 y = bbox.y0 + bbox.height / 2 dx = bbox.width dy = 0 if loc.defect & seq.Location.Defect.MISS_RIGHT: # If the feature extends into the prevoius or next line # do not draw an arrow head draw_head = False else: draw_head = True axes.add_patch( biotite.AdaptiveFancyArrow( x, y, dx, dy, self._tail_width * bbox.height, self._head_width * bbox.height, # Create head with 90 degrees tip # -> head width/length ratio = 1/2 head_ratio=0.5, draw_head=draw_head, color=biotite.colors["orange"], linewidth=0))