GBrowse User Uploads

From GMOD
Revision as of 21:17, 23 December 2010 by Cvandevelde (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

GBrowse allows users to supplement the database with their own data as Custom Tracks in a variety of file formats including BAM, SAM, GFF, GFF3, BedLoader, and more. Users can upload data files of their own, link remote data files from a URL, or create an entirely new track right in the browser window. Additionally, GBrowse version 2.20 and above can be set up to allow users to share files between each other, or make them part of a community repository of available tracks.

The custom tracks system can run with no additional tools in a basic mode, or use a more advanced mode that requires a database but allows more flexible sharing. It has been tested using SQLite and MySQL as databases, though it should be possible to use others.

Basic Custom Tracks

Upon first installation, GBrowse is configured to allow a simple custom track system, allowing users to upload and view their own custom tracks which are stored on the server running GBrowse. It does not require an additional tools or programs.

Adding Custom Tracks

To upload a file, navigate to the "Custom Tracks" tab (or "Upload and Share Tracks" tab, in versions prior to GBrowse 2.20) and click on the appropriate link on the bottom for the source of the data you wish to add as a custom track.

All tracks can be edited manually in the browser by clicking the [edit] link corresponding to the source file you wish to modify. A text box will drop down where you can make your changes, then click "Submit" to save your changes (or cancel to discard them).

Uploaded Tracks

Click on "Choose File" to browse for the file you wish to upload. Click "Upload" to start the upload, or "Remove" to remove the upload box or cancel. The file will upload to the server and the listing will refresh once it's finished. If you have a track containing the same name as an existing track in your session, the file name will be made unique to not conflict. However, if you wish to overwrite the file you already have, just check off the box beside "If this file exists, overwrite it" and the old file will be overwritten.

Remote Tracks/URLs

Paste your URL into the text box provided and click "Import" to start the upload. The file will be mirrored (copied) to a local version to avoid having to get it from the remote server every time. If you know the file has changed at the remote location, click the [reload] link beside the source file and it will be re-mirrored and updated. If you upload the same URL twice, if you have an existing custom track from that URL it will be overwritten (since this would happen on a reload anyways).

Created Tracks

To create a new custom track, just start typing information in the text box that drops down, using one of the supported file formats. Once you click "Upload," GBrowse will attempt to guess which type of file you've created and load it.

Deleting Custom Tracks

To delete a custom track, just click the trash-can icon beside it and it will be deleted and removed from your session.

Advanced Custom Tracks

Permissions

Sharing

Group

Casual

Community Tracks

Database Schema

In versions of GBrowse equal to or above 2.20 that are set up for advanced sharing, the relationships between the files are stored in a database. Its schema is as follows:

Uploads

This table holds all the metadata for every custom or community track.

Field Type Description
trackid varchar(32) not null PRIMARY key" A unique 32-character hexadecimal ID that refers to this specific track.
userid integer not null" The user ID of the user that uploaded this file.
path text The file path or URL to the file.
title text The human-readable title of the file.
description text A description of the file.
imported boolean not null Whether the file was imported from an external source, or uploaded.
creation_date datetime not null The time the track was created.
modification_date datetime The last time the track was modified.
sharing_policy ENUM('private', 'public', 'group', 'casual') not null The sharing policy of the track.
public_count int The number of public users.
data_source text The GBrowse data source that the track belongs to.

Sharing

This table holds all sharing relationships between files and users other then their owners. Each time a user shares a file with a user, or adds a public file to their session, a new record is kept in this table to store that relationship. Not the public flag - public and shared files are kept separate, to avoid contamination between the two share types.

Field Type Description
trackid varchar(32) not null The unique ID of the track to be shared.
userid integer not null The unique ID of the user to be shared to.
public boolean Whether the relationship is

DBInfo

In addition to the uploads tables, this table stores the version number of the current schema. It is used for upgrading and keeping track of the schema version.

Field Type Description
schema_version int(10) not null UNIQUE The version number of the current database schema.