GBrowse Tutorial

From GMOD
Revision as of 20:27, 14 April 2010 by Clements (Talk | contribs)

Jump to: navigation, search
{{#icon: 2009SummerSchoolAmericas170.png|2009 GMOD Summer School - Americas|120|2009 GMOD Summer School - Americas}}

{{#icon: GMOD2009Europe170.png|2009 GMOD Summer School - Europe|120|2009 GMOD Summer School - Europe}}
GBrowse Session

2009 GMOD Summer School - Europe & Americas
July & August 2009
Scott Cain

__NOTITLE__


There are several GBrowse tutorials:
GBrowse User Tutorial at OpenHelix
Demonstrates the GBrowse user interface.
GBrowse2 Admin Tutorial
Step by step guide on how to configure and load data into GBrowse.
GBrowse NGS Tutorial
Instructions on how to visualize next generation sequencing data in GBrowse using SAMtools. The tutorial includes a starting VMware image, and uses the example data that comes with SAMtools.
This tutorial
This tutorial was originally taught by Scott Cain at the 2009 GMOD Summer School - Europe. It walks you through setting up and running GBrowse with some sample data. It provides a VMware image to work on, and relies heavily on the GBrowse2 Admin Tutorial.
Note: This tutorial was also taught at the 2009 GMOD Summer School - Americas, but the notes and system image used here are from the Europe course.



VMware

This tutorial was taught using a VMware system image as a starting point. If you want to start with that same system, download and install the Starting image. There is also an Ending image for this tutorial, which contains the system after this tutorial (and the GBrowse_syn Tutorial) have been finished.

See VMware for what software you need to use a VMware system image, and for directions on how to get the image setup and running on your machine.

Download
Starting Image

Ending Image


Username: gmod
Password: gmod

Caveats

Important Note

This tutorial describes the world as it existed on the day the tutorial was given. Please be aware that things like CPAN modules, Java libraries, and Linux packages change over time, and that the instructions in the tutorial will slowly drift over time. Newer versions of tutorials will be posted as they become available.

Prerequisites

Most installed before using apt or cpan

Should be able to install Bio::Graphics via cpan like such:

 cpan> install Bio::Graphics

Weirdly, cpan thinks that BioPerl 1.6 is not installed yet, so it will install it, as well as updating Data::Stag (it will take a few minutes and requires cpan)

(In hindsight, the apt-get of libgd-tools below might have fixed this problem.)

Instead get it the source from http://search.cpan.org/CPAN/authors/id/L/LD/LDS/Bio-Graphics-1.97.tar.gz

If you download that from Firefox, it will put on the desktop.

<bash>cd ~/Desktop tar xzvf Bio-Graphics-1.97.tar.gz cd Bio-Graphics-1.97 perl Build.PL ./Build ./Build test sudo apt-get install libgd-tools ./Build test sudo ./Build install </bash>

Install GBrowse

  • Update GBrowse cvs repository (it is an anonymous cvs checkout):
 cd ~/software/gbrowse-pre-1.70/
 cvs update -d
 perl Makefile.PL
 ... accept defaults
 make
 sudo make install

Tutorial

Go to http://localhost/gbrowse


GBrowse2

GBrowse 2 is a re-architecture of GBrowse that uses AJAX techniques to allow independent rendering of tracks and multiple distributed databases. It is designed to allow the use of load management and distributes processing on a compute farm, which enhanced performance and the user experience. It is due to be released in late 2009.

We will not cover GBrowse 2 in depth this year but will have a demo, time permitting.

Example Advanced Features

PrimerDesigner Plugin

PrimerDesigner.png

GBrowse Plugins allow you to add extra functionality to your genome browser.

Rubber-Band Select Menus

An example of a select menu that appears after a region of the details panel is selected

"Rubber-band", or drag-selection is a user-interface feature of GBrowse 1.69 and later. It a JavaScript/DHTML-based feature that works in all major web browsers and is turned on by default.

  • The rubber-band selection that is activating by dragging your mouse on the scalebar for the details section activated a menu that specifies various operations that can be performed on the selected sequence region.
  • The GBrowse configuration file can be used to control the contents and appearance of this menu.
  • You can also add menus to the scalebar for the overview and regionview panels.
  • See RubberBandSelection for more information, including menus, configuration (and a video demo!).


Basic Chado Configuration (if we have time)

Normally, we'd need Bio::DB::Das::Chado, but it was installed for JBrowse yesterday.

Starting material:

  ~/software/gbrowse-pre-1.70/contrib/conf_files/07.chado.conf /etc/apache2/gbrowse.conf/

Some simple tweaks and additions:

  • fix the dbi string
  • add nucleotide matches

Materialized views for searching

Chado comes with a tool to materialize views written by developers at the SOL Genomics Network. A materialized view is faster (at the expense of more disk space) to search than a regular view (which is really a query over potentially several tables). To create a materialized view that makes searching a GBrowse Chado instance a faster, we can do this:

 gmod_materialized_view_tool.pl -c

which will ask us several obscure questions for which we need to provide obscure answers:

  Give your materialized view a name (word characters only):
  all_feature_names

  Where will this MV be located? (schemaname.tablename):
  public.all_feature_names

  A view with this name already exists; do you want to replace it
  with a materialized view? [y|n]
  y

  How often, in seconds, should the MV be refreshed?
  You can also type 'daily', 'weekly', 'monthly' (30 days), or 'yearly' (365 days):
  weekly

  Enter specifications for the materialized view, OR provide a file in which
  the specs are written ('? for help):
  feature_id integer,name varchar(255)

  Enter the SQL query for the materialized view,
  or a file containing only the query:
  SELECT feature_id,CAST(substring(uniquename from 0 for 255) as varchar(255)) as name FROM feature UNION SELECT feature_id, name FROM feature where name is not null UNION SELECT fs.feature_id,s.name FROM feature_synonym fs, synonym s WHERE fs.synonym_id = s.synonym_id

  Enter a comma separated list of fields to index (or return for none):
  feature_id,name

  Enter the SQL queries for special indexes,
  or a file containing only the query (or return for none):
  create index all_feature_names_lower_name on all_feature_names (lower(name))

  Enter 'y' to confirm, 'n' to re-enter data:
  y