--[[
  This is the GenomeTools annotation viewer config file.
  All options must be set inside the 'style' table.
  All items in this table must be tables, called 'sections'.
  Typically there is one section per feature type.

  Color definitions
  -----------------
  Colors are given as RGB triplets
       {red=<val>,green=<val>,blue=<val>(,alpha=<val>)}
  where <val> is a decimal value between 0 and 1.
  The alpha value is optional, as a default 0.5 will be used.

  Global format settings
  ----------------------
  Global settings, such as margins, spacers, etc. are found at the end of this
  file, in the "format" section.
]]--

function printvals(gn, bar)
  rng = gn:get_range()
  type = gn:get_type()
  print(string.format("%s: %s %d-%d", bar, type, rng:get_start(), rng:get_end()))
  return {red=1.0, green=1.0, blue=0.0}
end

style =
{
  gene = {
    -- Color definitions
    stroke             = {red=0.0, green=0.0, blue=0.0, alpha = 1.0},
    stroke_marked      = {red=1.0, green=0.0, blue=0.0},
    fill               = printvals,
    style              = "box",
    -- Collapsing options
    collapse_to_parent = false,
    split_lines        = true,
    -- Caption options
    max_capt_show_width= nil,
    -- Display this track only if the viewport is not wider than this
    -- number of nucleotides. Set to 0 to disable type track.
    max_show_width     = nil,
  },
--------------------------------------
  mRNA = {
    -- Color definitions
    stroke             = {red=0.0, green=0.0, blue=0.0, alpha = 1.0},
    stroke_marked      = {red=1.0, green=0.0, blue=0.0},
    fill               = printvals,
    style              = "box",
    -- Collapsing options
    collapse_to_parent = false,
    split_lines        = true,
    -- Caption options
    max_capt_show_width= nil,
    -- Display this track only if the viewport is not wider than this
    -- number of nucleotides. Set to 0 to disable type track.
    max_show_width     = nil,
  },
--------------------------------------
  exon = {
    -- Color definitions
    stroke             = {red=0.0, green=0.0, blue=0.0, alpha = 1.0},
    stroke_marked      = {red=1.0, green=0.0, blue=0.0},
    fill               = printvals,
    style              = "box",
    -- Collapsing options
    collapse_to_parent = true,
    split_lines        = true,
    -- Caption options
    max_capt_show_width= nil,
    -- Display this track only if the viewport is not wider than this
    -- number of nucleotides. Set to 0 to disable type track.
    max_show_width     = nil,
  },
--------------------------------------
  CDS = {
    -- Color definitions
    stroke             = {red=0.0, green=0.0, blue=0.0, alpha = 1.0},
    stroke_marked      = {red=1.0, green=0.0, blue=0.0},
    fill               = {red=0.9, green=0.9, blue=0.2},
    style              = "box",
    -- Collapsing options
    collapse_to_parent = true,
    split_lines        = true,
    -- Caption options
    max_capt_show_width= nil,
    -- Display this track only if the viewport is not wider than this
    -- number of nucleotides. Set to 0 to disable type track.
    max_show_width     = 0,
  },
--------------------------------------
  TF_binding_site = {
    -- Color definitions
    stroke             = {red=0.0, green=0.0, blue=0.0, alpha = 1.0},
    stroke_marked      = {red=1.0, green=0.0, blue=0.0},
    fill               = {red=0.8, green=0.6, blue=0.6},
    style              = "box",
    -- Collapsing options
    collapse_to_parent = false,
    split_lines        = true,
    -- Caption options
    max_capt_show_width= nil,
    -- Display this track only if the viewport is not wider than this
    -- number of nucleotides. Set to 0 to disable type track.
    max_show_width     = 0,
  },
  -- Defines various format options for drawing.
  format =
  {
    -- Set the following three settings to 'false' to globally disable them.
    split_lines = true, -- generally enable splitting
    show_block_captions = true, -- generally show captions
    show_track_captions = true, -- generally show track captions
    margins = 30,      -- space left and right of diagram, in pixels
    bar_height = 16,   -- height of a feature bar, in pixels
    bar_vspace = 10,   -- space between feature bars, in pixels
    track_vspace = 15, -- space between tracks, in pixels
    ruler_font_size = 10, -- size of scale labels
    ruler_space = 20, -- space between ruler and first track
    block_caption_font_size = 10, -- size of block captions
    block_caption_space = 7, -- space between blocks and their captions
    track_caption_font_size = 10, -- size of track captions
    track_caption_space = 7, -- space between tracks and their captions
    arrow_width = 6,   -- width of feature arrowheads, in pixels
    stroke_width = .5, -- width of outlines, in pixels
    unit = "bp",       -- basepair unit, e.g. "bp"
    ruler_left_text = "5'",  -- text left of the ruler axis
    ruler_right_text = "3'", -- text right of the ruler axis
    stroke_marked_width = 1.5, -- width of outlines for marked elements, in pixels
    show_grid = true, -- shows light vertical lines for orientation
    min_len_block = 20 , -- minimum length of a block in which single elements are shown
    track_title_color     = {red=0.7, green=0.7, blue=0.7, alpha = 1.0},
    default_stroke_color  = {red=0.1, green=0.1, blue=0.1, alpha = 1.0},
    background_color      = {red=1.0, green=1.0, blue=1.0, alpha = 1.0},
  },
}
