Package Bio :: Package Graphics :: Package GenomeDiagram :: Module _LinearDrawer :: Class LinearDrawer
[hide private]
[frames] | no frames]

Class LinearDrawer

source code

                    object --+    
                             |    
_AbstractDrawer.AbstractDrawer --+
                                 |
                                LinearDrawer

LinearDrawer(AbstractDrawer)

Inherits from:

o AbstractDrawer

Provides:

Methods:

o __init__(self, ...) Called on instantiation

o set_page_size(self, pagesize, orientation)    Set the page size to the
                                            passed size and orientation

o set_margins(self, x, y, xl, xr, yt, yb)   Set the drawable area of the
                                            page

o set_bounds(self, start, end)  Set the bounds for the elements to be
                                drawn

o is_in_bounds(self, value)     Returns a boolean for whether the position
                                is actually to be drawn

o __len__(self)     Returns the length of sequence that will be drawn


o draw(self)    Place the drawing elements on the diagram

o init_fragments(self)  Calculate information
                        about sequence fragment locations on the drawing

o set_track_heights(self)   Calculate information about the offset of
                            each track from the fragment base

o draw_test_tracks(self)    Add lines demarcating each track to the
                            drawing

o draw_track(self, track)   Return the contents of the passed track as
                            drawing elements

o draw_scale(self, track)   Return a scale for the passed track as
                            drawing elements

o draw_tick(self, tickpos, ctr, ticklen, track, draw_label) Return a
                            tick line and possibly a label

o draw_greytrack(self, track)   Return a grey background and superposed
                                label for the passed track as drawing
                                elements

o draw_feature_set(self, set)   Return the features in the passed set as
                                drawing elements

o draw_feature(self, feature)   Return a single feature as drawing
                                elements

o get_feature_sigil(self, feature, x0, x1, fragment)    Return a single
                                feature as its sigil in drawing elements

o draw_graph_set(self, set)     Return the data in a set of graphs as
                                drawing elements

o draw_line_graph(self, graph)  Return the data in a graph as a line
                                graph in drawing elements

o draw_heat_graph(self, graph)  Return the data in a graph as a heat
                                graph in drawing elements

o draw_bar_graph(self, graph)   Return the data in a graph as a bar
                                graph in drawing elements

o canvas_location(self, base)   Return the fragment, and the offset from
                                the left margin, of a passed position
                                in the sequence, on the diagram.

Attributes:

o tracklines    Boolean for whether to draw lines dilineating tracks

o pagesize      Tuple describing the size of the page in pixels

o x0            Float X co-ord for leftmost point of drawable area

o xlim          Float X co-ord for rightmost point of drawable area

o y0            Float Y co-ord for lowest point of drawable area

o ylim          Float Y co-ord for topmost point of drawable area

o pagewidth     Float pixel width of drawable area

o pageheight    Float pixel height of drawable area

o xcenter       Float X co-ord of center of drawable area

o ycenter       Float Y co-ord of center of drawable area

o start         Int, base to start drawing from

o end           Int, base to stop drawing at

o length        Int, size of sequence to be drawn

o fragments     Int, number of fragments into which to divide the
                drawn sequence

o fragment_size Float (0->1) the proportion of the fragment height to
                draw in

o track_size    Float (0->1) the proportion of the track height to
                draw in

o drawing       Drawing canvas

o drawn_tracks  List of ints denoting which tracks are to be drawn

o current_track_level   Int denoting which track is currently being
                        drawn

o fragment_height   Float total fragment height in pixels

o fragment_bases    Int total fragment length in bases

o fragment_lines    Dictionary of top and bottom y-coords of fragment,
                    keyed by fragment number

o fragment_limits   Dictionary of start and end bases of each fragment,
                    keyed by fragment number

o track_offsets     Dictionary of number of pixels that each track top,
                    center and bottom is offset from the base of a
                    fragment, keyed by track

o cross_track_links List of tuples each with four entries (track A,
                    feature A, track B, feature B) to be linked.

Instance Methods [hide private]
 
__init__(AbstractDrawer)
o parent Diagram object containing the data that the drawer draws
source code
 
draw(self)
Draw a linear diagram of the data in the parent Diagram object
source code
 
init_fragments(self)
Initialises useful values for calculating the positioning of...
source code
 
set_track_heights(self)
Since tracks may not be of identical heights, the bottom and top...
source code
 
draw_test_tracks(self)
Draw red lines indicating the top and bottom of each fragment, and blue ones indicating tracks to be drawn.
source code
([element, element,...], [element, element,...])

draw_track(self, track)
o track Track object
source code
(element, element)

draw_tick(self, tickpos, ctr, ticklen)
o tickpos Int, position of the tick on the sequence
source code
([element, element,...], [element, element,...])

draw_scale(self, track)
o track Track object
source code
([element, element,...], [element, element,...])

draw_greytrack(self)
o track Track object
source code
([element, element,...], [element, element,...])

draw_feature_set(self, set)
o set FeatureSet object
source code
([element, element,...], [element, element,...])

draw_feature(self, feature, parent_feature=None)
o feature Feature containing location info
source code
 
draw_feature_location(self, feature, locstart, locend) source code
 
draw_cross_link(self, cross_link) source code
(element, element, element)

get_feature_sigil(self, feature, x0, x1, fragment)
o feature Feature object
source code
([element, element,...], [element, element,...])

draw_graph_set(self, set)
o set GraphSet object
source code
[element, element,...]

draw_line_graph(self, graph)
o graph Graph object
source code
[element, element,...]

draw_heat_graph(self, graph)
o graph Graph object
source code
[element, element,...]

draw_bar_graph(self, graph)
o graph Graph object
source code
(int, float)

canvas_location(self, base)
o base The base number on the genome sequence
source code
 
_draw_sigil_box(self, bottom, center, top, x1, x2, strand, **kwargs)
Draw BOX sigil.
source code
 
_draw_sigil_octo(self, bottom, center, top, x1, x2, strand, **kwargs)
Draw OCTO sigil, a box with the corners cut off.
source code
 
_draw_sigil_jaggy(self, bottom, center, top, x1, x2, strand, color, border=None, **kwargs)
Draw JAGGY sigil.
source code
 
_draw_sigil_arrow(self, bottom, center, top, x1, x2, strand, **kwargs)
Draw ARROW sigil.
source code
 
_draw_sigil_big_arrow(self, bottom, center, top, x1, x2, strand, **kwargs)
Draw BIGARROW sigil, like ARROW but straddles the axis.
source code

Inherited from _AbstractDrawer.AbstractDrawer: __len__, is_in_bounds, set_bounds, set_margins, set_page_size

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(AbstractDrawer)
(Constructor)

source code 
o parent    Diagram object containing the data that the drawer
            draws

o pagesize  String describing the ISO size of the image, or a tuple
            of pixels

o orientation   String describing the required orientation of the
                final drawing ('landscape' or 'portrait')

o x         Float (0->1) describing the relative size of the X
            margins to the page

o y         Float (0->1) describing the relative size of the Y
            margins to the page

o xl        Float (0->1) describing the relative size of the left X
            margin to the page (overrides x)

o xl        Float (0->1) describing the relative size of the left X
            margin to the page (overrides x)

o xr        Float (0->1) describing the relative size of the right X
            margin to the page (overrides x)

o yt        Float (0->1) describing the relative size of the top Y
            margin to the page (overrides y)

o yb        Float (0->1) describing the relative size of the lower Y
            margin to the page (overrides y)

o start     Int, the position to begin drawing the diagram at

o end       Int, the position to stop drawing the diagram at

o tracklines    Boolean flag to show (or not) lines delineating tracks
                on the diagram

o fragments Int, the number of equal fragments into which the
            sequence should be divided for drawing

o fragment_size Float(0->1) The proportion of the available height
                for the fragment that should be taken up in drawing

o track_size    The proportion of the available track height that
                should be taken up in drawing

o cross_track_links List of tuples each with four entries (track A,
                    feature A, track B, feature B) to be linked.

Overrides: object.__init__

init_fragments(self)

source code 
Initialises useful values for calculating the positioning of
diagram elements

set_track_heights(self)

source code 
Since tracks may not be of identical heights, the bottom and top
offsets of each track relative to the fragment top and bottom is
stored in a dictionary - self.track_offsets, keyed by track number

draw_track(self, track)

source code 
o track     Track object

Returns a tuple (list of elements in the track, list of labels in
the track)

Returns:
([element, element,...], [element, element,...])

draw_tick(self, tickpos, ctr, ticklen)

source code 
o tickpos   Int, position of the tick on the sequence

o ctr       Float, Y co-ord of the center of the track

o ticklen   How long to draw the tick

o track     Track, the track the tick is drawn on

o draw_label    Boolean, write the tick label?

Returns a drawing element that is the tick on the scale

Returns:
(element, element)

draw_scale(self, track)

source code 
o track     Track object

Returns a tuple of (list of elements in the scale, list of labels
in the scale)

Returns:
([element, element,...], [element, element,...])

draw_greytrack(self)

source code 
o track     Track object

Put in a grey background to the current track in all fragments,
if track specifies that we should

Returns:
([element, element,...], [element, element,...])

draw_feature_set(self, set)

source code 
o set       FeatureSet object

Returns a tuple (list of elements describing features, list of
labels for elements)

Returns:
([element, element,...], [element, element,...])

draw_feature(self, feature, parent_feature=None)

source code 
o feature           Feature containing location info

Returns tuple of (list of elements describing single feature, list
of labels for those elements)

Returns:
([element, element,...], [element, element,...])

get_feature_sigil(self, feature, x0, x1, fragment)

source code 
o feature       Feature object

o x0            Start X co-ordinate on diagram

o x1            End X co-ordinate on diagram

o fragment      The fragment on which the feature appears

Returns a drawable indicator of the feature, and any required label
for it

Returns:
(element, element, element)

draw_graph_set(self, set)

source code 
o set       GraphSet object

Returns tuple (list of graph elements, list of graph labels)

Returns:
([element, element,...], [element, element,...])

draw_line_graph(self, graph)

source code 
o graph     Graph object

Returns a line graph as a list of drawable elements

Returns:
[element, element,...]

draw_heat_graph(self, graph)

source code 
o graph     Graph object

Returns a list of drawable elements for the heat graph

Returns:
[element, element,...]

draw_bar_graph(self, graph)

source code 
o graph     Graph object

Returns a list of drawable elements for a bar graph of the passed
Graph object

Returns:
[element, element,...]

canvas_location(self, base)

source code 
o base      The base number on the genome sequence

Returns the x-coordinate and fragment number of a base on the
genome sequence, in the context of the current drawing setup

Returns:
(int, float)

_draw_sigil_jaggy(self, bottom, center, top, x1, x2, strand, color, border=None, **kwargs)

source code 
Draw JAGGY sigil.

Although we may in future expose the head/tail jaggy lengths, for now
both the left and right edges are drawn jagged.