pybedtools.contrib.plotting.Track¶
-
class
pybedtools.contrib.plotting.
Track
(features, chrom=None, ybase=0, yheight=1, visibility='dense', stranded=True, **kwargs)[source]¶ -
__init__
(features, chrom=None, ybase=0, yheight=1, visibility='dense', stranded=True, **kwargs)[source]¶ Subclass of matplotlib's PolyCollection that can be added to an Axes.
Parameters: - features -- Can be an existing BedTool, or anything than can be used to create a BedTool (e.g., a filename or a generator of Interval objects)
- ybase -- y-coord of the bottom edge of the track (in data coordinates)
- yheight -- How high each feature will be, in data coordinates
- visibility --
Mimics the settings in the UCSC Genome Browser:
- "dense" is the default; overlapping features can be seen if you set alpha < 1.
- "squish" prevents adjacent features from overlapping. This keeps
yheight
for all features, so if you have a lot of features piling up, the track will be a lot higher on the y-axis thanyheight
.
- stranded --
If boolean and True, will draw arrrow-shaped features to indicate direction (where the point is 10% of the total gene length)
If a dictionary, map strands to colors, e.g., {'+': 'r', '-': 'b'}.
- kwargs -- Additional keyword args are passed to matplotlib.collections.PolyCollection.
Notes:
After creating a track, use the
ymax
attribute to get the max y-value used in the track -- useful if you've created a "squish" track but would like to stack another track on top, and need to calculate what the new Track'sybase
should be.The returned PolyCollection will have the
features
attribute, which contains the BedTool it was created from -- so you can write callback functions for event handling, e.g.:def callback(event): ''' prints the feature's line when clicked in the plot ''' coll = event.artist for i in event.ind: print coll.features[i] fig.canvas.mpl_connect('on_pick', callback)
>>> a = pybedtools.example_bedtool('a.bed') >>> track = pybedtools.contrib.plotting.Track(a, alpha=0.5, picker=5) >>> import matplotlib.pyplot as plt >>> fig = plt.figure() >>> ax = fig.add_subplot(111) >>> ax.add_collection(track) <pybedtools.contrib.plotting.Track object at 0x...> >>> limits = ax.axis('tight')
Methods
__init__
(features[, chrom, ybase, yheight, ...])Subclass of matplotlib's PolyCollection that can be added to an Axes. add_callback
(func)Adds a callback function that will be called whenever one of the Artist
's properties changes.add_checker
(checker)Add an entry to a dictionary of boolean flags that are set to True when the mappable is changed. autoscale
()Autoscale the scalar limits on the norm instance using the autoscale_None
()Autoscale the scalar limits on the norm instance using the changed
()Call this whenever the mappable is changed to notify all the check_update
(checker)If mappable has changed since the last check, contains
(mouseevent)Test whether the mouse event occurred in the collection. convert_xunits
(x)For artists in an axes, if the xaxis has units support, convert_yunits
(y)For artists in an axes, if the yaxis has units support, draw
(artist, renderer, *args, **kwargs)findobj
([match, include_self])Find artist objects. get_agg_filter
()return filter function to be used for agg filter get_alpha
()Return the alpha value used for blending - not supported on all get_animated
()Return the artist's animated state get_array
()Return the array get_axes
()Return the Axes
instance the artist resides in, or None.get_children
()Return a list of the child Artist`s this :class:`Artist
contains.get_clim
()return the min, max of the color limits for image scaling get_clip_box
()Return artist clipbox get_clip_on
()Return whether artist uses clipping get_clip_path
()Return artist clip path get_cmap
()return the colormap get_contains
()Return the _contains test used by the artist, or None for default. get_dashes
()get_datalim
(transData)get_edgecolor
()get_edgecolors
()get_facecolor
()get_facecolors
()get_figure
()Return the Figure
instance the artist belongs to.get_gid
()Returns the group id get_hatch
()Return the current hatching pattern get_label
()Get the label used for this artist in the legend. get_linestyle
()get_linestyles
()get_linewidth
()get_linewidths
()get_offset_position
()Returns how offsets are applied for the collection. get_offset_transform
()get_offsets
()Return the offsets for the collection. get_path_effects
()get_paths
()get_picker
()Return the picker object used by this artist get_pickradius
()get_rasterized
()return True if the artist is to be rasterized get_sizes
()Returns the sizes of the elements in the collection. get_sketch_params
()Returns the sketch parameters for the artist. get_snap
()Returns the snap setting which may be: get_transform
()Return the Transform
instance used by this artist.get_transformed_clip_path_and_affine
()Return the clip path with the non-affine part of its transformation applied, and the remaining affine part of its transformation. get_transforms
()get_url
()Returns the url get_urls
()get_visible
()Return the artist's visiblity get_window_extent
(renderer)get_xlims
(ax)Needs ax
to convert to transData coordsget_zorder
()Return the Artist
's zorder.have_units
()Return True if units are set on the x or y axes hitlist
(event)List the children of the artist which contain the mouse event event. is_figure_set
()Returns True if the artist is assigned to a Figure
.is_transform_set
()Returns True if Artist
has a transform explicitly set.pchanged
()Fire an event when property changed, calling all of the registered callbacks. pick
(mouseevent)Process pick event pickable
()Return True if Artist
is pickable.properties
()return a dictionary mapping property name -> value for all Artist props remove
()Remove the artist from the figure if possible. remove_callback
(oid)Remove a callback based on its id. set
(**kwargs)A property batch setter. set_agg_filter
(filter_func)set agg_filter fuction. set_alpha
(alpha)Set the alpha tranparencies of the collection. set_animated
(b)Set the artist's animation state. set_antialiased
(aa)Set the antialiasing state for rendering. set_antialiaseds
(aa)alias for set_antialiased set_array
(A)Set the image array from numpy array A set_axes
(axes)Set the Axes
instance in which the artist resides, if any.set_clim
([vmin, vmax])set the norm limits for image scaling; if vmin is a length2 set_clip_box
(clipbox)Set the artist's clip Bbox
.set_clip_on
(b)Set whether artist uses clipping. set_clip_path
(path[, transform])Set the artist's clip path, which may be: set_cmap
(cmap)set the colormap for luminance data set_color
(c)Set both the edgecolor and the facecolor. Track.set_colorbar
set_contains
(picker)Replace the contains test used by this artist. set_dashes
(ls)alias for set_linestyle set_edgecolor
(c)Set the edgecolor(s) of the collection. set_edgecolors
(c)alias for set_edgecolor set_facecolor
(c)Set the facecolor(s) of the collection. set_facecolors
(c)alias for set_facecolor set_figure
(fig)Set the Figure
instance the artist belongs to.set_gid
(gid)Sets the (group) id for the artist set_hatch
(hatch)Set the hatching pattern set_label
(s)Set the label to s for auto legend. set_linestyle
(ls)Set the linestyle(s) for the collection. set_linestyles
(ls)alias for set_linestyle set_linewidth
(lw)Set the linewidth(s) for the collection. set_linewidths
(lw)alias for set_linewidth Track.set_lod
set_lw
(lw)alias for set_linewidth set_norm
(norm)set the normalization instance set_offset_position
(offset_position)Set how offsets are applied. set_offsets
(offsets)Set the offsets for the collection. set_path_effects
(path_effects)set path_effects, which should be a list of instances of set_paths
(verts[, closed])This allows one to delay initialization of the vertices. set_picker
(picker)Set the epsilon for picking used by this artist set_pickradius
(pr)set_rasterized
(rasterized)Force rasterized (bitmap) drawing in vector backend output. set_sizes
(sizes[, dpi])Set the sizes of each member of the collection. set_sketch_params
([scale, length, randomness])Sets the sketch parameters. set_snap
(snap)Sets the snap setting which may be: set_transform
(t)Set the Transform
instance used by this artist.set_url
(url)Sets the url for the artist set_urls
(urls)set_verts
(verts[, closed])This allows one to delay initialization of the vertices. set_visible
(b)Set the artist's visiblity. set_zorder
(level)Set the zorder for the artist. to_rgba
(x[, alpha, bytes, norm])Return a normalized rgba array corresponding to x. update
(props)Update the properties of this Artist
from the dictionary prop.update_from
(other)copy properties from other to self update_scalarmappable
()If the scalar mappable array is not none, update colors Attributes
aname
midpoint
zorder
-