Learn about the Browser
From genomewiki
Revision as of 19:57, 12 March 2012 by Max (talk | contribs) (→Modify your own copy of the browser)
This page links to various pages that will help you to learn more about the UCSC Genome Browser. It is sorted by increasing technical complexity: the first steps require only a webbrowser, the last ones administrator access to a Linux webserver.
Use the browser website
- Bob Kuhn is giving workshops throughout the year in 2012 at several US conferences and in Europe (Madrid, Barcelona, Manchester, London, Amsterdam). Email him for details.
- The content of the workshops is similar to the ones last year
- Video tutorials and slides by Openhelix
- An introduction on Nature Education
- Basic materials written by the gurus: The User's guide and the FAQs.
- View a gallery of browser sessions that highlight interesting data sets.
- Type in (manually) a couple of custom tracks in different formats (just try bed for a start, you mostly won't need the others)
- Try typing "chr1 1 1000 Hello_World!" as a custom track
- If you need to graph data, there are different graphing formats
- Subscribe to the mailing list or search through it. Most everyday questions have already been asked by someone else so searching gives you an answer usually faster than asking on the mailing list.
Download the data of the genome browser (sequences and annotations)
- Be aware that internal coordinates (not those shown on the website) are 0-based!
- Unlike Gbrowse and Ensembl, UCSC is storing the data partially in SQL (coordiantes, outline of x-y-plots) and partially in flat text files (sequences, alignments, details of x-y-plots)
- Table Browser: The easiest way to access data (you don't have to care whether data is stored in MySQL or in textfiles):
- SQL-stored data (FAQ):
- Public mysql access
- File:Kent allJoiner.ppt, describes relations between all database tables
- For all genes-related tables, there is a graphical map (sub-optimal layout :-)
- Flat-file data: Download from the ftp server (stored in /gbdb on browser servers)
Install a copy of the browser on your own machine (Unix or Mac)
- Create a mirror of the UCSC site:
- Official FAQ: mirror a complete browser, the main reference for browser installation
- Inofficial FAQ: Browser Installation, on the wiki, a lot more info
- Mirror only selected genomes
- Adapt your cgi-bin/Hg.conf file for your mirror
- Be prepared that you'll need to create at least and also download parts of the hg18. At least mouse genomes still depend on it.
- Make sure that you keep your own tracks separate, read this before loading any local data: Local TrackDB table
- Updating the data automatically from UCSC
- Pro and cons of storing custom tracks in MySQL or as flat files
- How are cookies handled by the browser?
- The old documentation website with developer documentation
Compile the UCSC source tree and analyze genomes yourself
- The source tree (aka Kent source) is the collection of all tools used at the UCSC browser group
- You could also call this an API, as you can use these tools from your own programs
- General introduction to the the source tree
- What is documented to be available in the Kent source utilities
- ... and what is really available in the source tree?
- Some important tools are already compiled (even for windows!) from here
- Compile all tools (includes the browser webserver) yourself
- The best starting point is the main zipfile: http://hgdownload.cse.ucsc.edu/admin/jksrc.zip
- You need to set some environment variables before you start the compilation
- Walkthroughs for...
- MacOS X users
- Debian and Ubuntu
- CentOS Notes
- Windows: see [1] but your mileage may vary to get everything to compile.
- The most common problem on the mailing list are harmless warnings that trigger errors. "cc1: warnings being treated as errors". To ignore them, which is usually safe, remove the -Wall option from the makefile
- See also the textfile README.building.source README.building.source
- Search through the archives or the Technical-FAQ-Category of the wiki when you have problems
- Send an email to the mailing list if you cannot find the answer yourself
- Some more sophisticated genome pipelines
- Create your own whole-genome alignment
- Create your own liftOver file
Modify your own copy of the browser
- You load track data into your mirror
- with the hgLoadxxx utils (e.g. hgLoadBed)
- and show meta data (name, type, possible controls, etc) on the browser by editing a textfile called trackDb.ra
- TrackDB documentation:
- Charles Sugnet's presentation about TrackDB
- How_to_add_a_track_to_a_mirror
- The structure of the trackDB
- Full TrackDB-Documentation: shows all possible trackDB statements
- Examples: UCSC trackDb for hg19
- Examples for the composite statements in trackDb, from the [Encode trackDb http://hgwdev.cse.ucsc.edu/~kent/src/unzipped/hg/makeDb/trackDb/human/hg19/trackDb.wgEncode.ra]
- When you run into problems, search through the mailing list when you have problems and read the documentation in the directory kent/src/product
- color codes
- a similar place with hgSearchSpec docs and statistics (the system to search for ids) can be found completely off-track
- Create a browser for a completely new genome
- The most difficult part: Adding a completely new track type and visualisation code to the browser
Making Of: How the UCSC genome annotations are created
- How the UCSC folks created their tracks:
- The UCSC's makeDb-files are a log of all commands that are necessary to re-create all annotations for a particular genome.
- Some explanations how to read the makeDb files: bashVsCsh
- The trackDb-files are the "track database" of the browser. They include all instructions on how annotations are displayed (e.g. the type of display, colors, settings, options, filenames, etc.)
- Notes on the history of the internal tools: Autosql. Blastz. Chains and nets
- Whole-genome multiple alignments (Chains_Nets)
- Mm9_multiple_alignment
- Whole-genome alignment pipeline: Angies mental model and Max's howto
- How to create a browser for a new genome from scratch
- Genbank Updates
Developing with the UCSC API
- Debug the cgi-scripts with GDB
- Understand the binning scheme