Difference between revisions of "GBrowse Tutorial"
m (→PrimerDesigner Plugin) |
m (→Basic Chado Configuration (if we have time)) |
||
Line 118: | Line 118: | ||
<br clear="all" /> | <br clear="all" /> | ||
− | =Basic Chado Configuration (if we have time)= | + | =Basic [[Chado]] Configuration (if we have time)= |
− | Normally, we'd need Bio::DB::Das::Chado, but it was installed for JBrowse yesterday. | + | Normally, we'd need Bio::DB::Das::Chado, but it was installed for [[JBrowse]] [[2009 GMOD Summer School - Europe|yesterday]]. |
Starting material: | Starting material: | ||
Line 130: | Line 130: | ||
*fix the dbi string | *fix the dbi string | ||
*add nucleotide matches | *add nucleotide matches | ||
+ | |||
==Materialized views for searching== | ==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: | + | [[Chado]] comes with a tool to materialize views written by developers at the [[:Category:SGN|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 | gmod_materialized_view_tool.pl -c | ||
which will ask us several obscure questions for which we need to provide obscure answers: | which will ask us several obscure questions for which we need to provide obscure answers: | ||
− | + | <pre> | |
Give your materialized view a name (word characters only): | Give your materialized view a name (word characters only): | ||
all_feature_names | all_feature_names | ||
Line 169: | Line 170: | ||
Enter 'y' to confirm, 'n' to re-enter data: | Enter 'y' to confirm, 'n' to re-enter data: | ||
y | y | ||
+ | </pre> | ||
[[Category:Tutorials]] | [[Category:Tutorials]] | ||
[[Category:GBrowse]] | [[Category:GBrowse]] |
Revision as of 23:16, 24 September 2009
{{#icon: GMOD2009Europe170.png|2009 GMOD Summer School - Europe | 2009 GMOD Summer School - Europe}} | GBrowse Session 2009 GMOD Summer School - Europe |
There are several GBrowse tutorials:
- GBrowse User Tutorial at OpenHelix
- Demonstrates the GBrowse user interface.
- GBrowse Administration Tutorial
- Step by step guide on how to configure and load data into GBrowse.
- 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 the MAKER genome annotation pipeline with some sample data. It provides a VMware image to work on, and relies heavily on the GBrowse Administration 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.
Contents
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. |
|
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
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
GBrowse Plugins allow you to add extra functionality to your genome browser.
- The PrimerDesigner plugin used primer3 to design PCR primers for the selected region from within GBrowse.
- You can find out how to use and install this plugin, even see a fascinating video demonstration, on the PrimerDesigner page.
Rubber-Band Select Menus
"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