The JBrowse biodb-to-json.pl Configuration File

biodb-to-json.pl and prepare-refseqs.pl can use a configuration file to connect to an existing Bio::DB::* database and batch-format its data for use by JBrowse You don't necessarily need a config file if all of your data is in flat files. In this case, it is recommended that you format your data using flatfile-to-json.pl. See docs/examples/format_tomato.sh for an example of a simple shell script that uses prepare-refseqs.pl and flatfile-to-json.pl to to create a complete genome browser for Tomato.

The basic syntax of the configuration file is JSON. Many of the configuration keys are quite similar to those used by GBrowse.

The root level of the config file:

keyvaluetype
descriptionBrief description of the data sourcestring
db_adaptorPerl class that implements Bio::DasI.
Common ones include
  • Bio::DB::SeqFeature::Store
  • Bio::DB::GFF
  • Bio::DB::Das::Chado
string
db_argsarguments to the constructor for the specified db_adaptordictionary of key-value pairs
TRACK DEFAULTSdefault track settingstrack settings dictionary
trackssettings for all the tracksarray of track settings dictionaries

The main part of the configuration file consists of the per-track settings:

keyvaluetype
tracktrack identifier used by the software.
It's more convenient if this doesn't have any weird characters or spaces in it
string
keyHuman-readable label for the trackstring
featureList of feature types to put into the trackarray of strings
autocompleteIf you want to be able to search for the features in this track, set this to one of the following strings:
  • label
    to search on the feature label
  • alias
    to search on the feature aliases
  • all
    to search on both labels and aliases
string
classThe CSS class for the feature. Look in the feature glyph list for the available options.string
categoryThe category this track is in, for grouping the tracks togetherstring
urlTemplateTemplate for a URL to visit if the user clicks on a feature in this trackstring
extraDataExtra per-feature information to send to the client; useful in the urlTemplatedictionary of header -> perl sub
subfeatureClassesSpecifies what CSS class to apply to what type of subfeaturedictionary of type -> CSS class
arrowheadClassCSS class for arrowheadsstring
clientConfigsettings to control the behavior of the client for this track, mainly zoom thresholds for when to display more informationdictionary