# Generic Synteny Browser: Example Data

These are instructions for setting up the example databases provided for GBrowse_syn in the GBrowse distribution.

## Data Files

The oryza data source contains genome annotations in GFF3 flat files for two rice species and blastz-derived whole genome aligment data between the two species.

- $HTDOCS/databases/gbrowse_syn/rice/rice.gff3
- $HTDOCS/databases/gbrowse_syn/wild_rice/wild_rice.gff3
- $HTDOCS/databases/gbrowse_syn/alignments/rice.aln

## Configuration files

Configuration files for the two species can be found at the locations below. The oryza.synconf file is disabled pending installation of the joining database. rice_synteny.conf and wild_rice_synteny.conf are the configuration files for the individual species. They are already set up to use the in-memory adapter and the GFF3 flat files listed above.

- $CONF/synteny/oryza.synconf.disabled
- $CONF/synteny/rice_synteny.conf
- $CONF/synteny/wild_rice_synteny.conf

## Activate the Example Data Source

The joining database for the aligments currently only supports MySQL. To install the database:

1: create the database rice_synteny (you will need a MySQL account with CREATE and GRANT privileges). substitute your own user name and password for 'user' and 'pass'.

    $ mysql -uuser -ppass
    mysql> create database rice_synteny;
    Query OK, 1 row affected (0.00 sec)

    mysql> grant SELECT on rice_synteny.* to 'www-data'@'localhost';
    Query OK, 0 rows affected (0.02 sec)

    mysql> quit
    Bye

2: populate the database using the gbrowse_syn_load_alignments_msa.pl script (pre-installed with GBrowse). This will load the CLUSTALW-formated alignment file above into the database.

    $ cd $HTDOCS/databases/gbrowse_syn/alignments
    $ sudo gunzip rice.aln.gz
    $ gbrowse_syn_load_alignments_msa.pl -u user -p pass -d rice_synteny -c -v rice.aln

Where 'user' and 'pass' correspond to a mysql account with root-level privileges 3: activate the oryza gbrwose_syn configuration file by renaming it (root-level acess required).

    # as a sudoer
    $ sudo mv $CONF/synteny/oryza.synconf.disabled $CONF/synteny/oryza.synconf

    # or as root
    % mv $CONF/synteny/oryza.synconf.disabled $CONF/synteny/oryza.synconf

# Advanced (optional)

You can speed up the image loading time by putting your species' GFF3 data into relational mySQL databases. 1: create a database for each of the GFF data files (rice.gff3 and wild_rice.gff3).

    # create a mysql database for the rice data
    $ mysql -uuser -ppass

    mysql> create database rice;
    Query OK, 1 row affected (0.00 sec)

    mysql> grant SELECT on rice.* to 'www-data'@'localhost';
    Query OK, 0 rows affected (0.00 sec)

    mysql> create database wild_rice;
    Query OK, 1 row affected (0.00 sec)

    mysql> grant SELECT on wild_rice.* to 'www-data'@'localhost';
    Query OK, 0 rows affected (0.00 sec)

2: populate the database using the bp_seqfeature_load.pl (pre-installed as part of BioPerl with GBrowse). This will load the GFF3 data into a mySQL relational database. Note the mySQL user will need CREATE and INSERT privileges.

    $ bp_seqfeature_load.pl -u user -p pass -d rice -c -f $HTDOCS/$GBROWSE_ROOT/databases/gbrowse_syn/rice/rice.gff3
    loading /var/www/html/gbrowse/databases/gbrowse_syn/rice/rice.gff3...
    Building object tree... 1.05s7s
    Loading bulk data into database... 0.67s
    load time: 31.40s

    $ bp_seqfeature_load.pl -u user -p pass -d wild_rice -c -f $HTDOCS/$GBROWSE_ROOT/databases/gbrowse_syn/wild_rice/wild_rice.gff3
    loading /var/www/html/gbrowse/databases/gbrowse_syn/wild_rice/wild_rice.gff3...
    Building object tree... 1.15s9s
    Loading bulk data into database... 0.69s
    load time: 31.93s

3: Modify the following stanza in each configurations file (rice_syntency.conf and wild_rice_synteny), changing the dsn argumant as required for each data source.

    Note the mySQL user will need CREATE and INSERT privileges.

    $ bp_seqfeature_load.pl -u user -p pass -d rice -c -f $HTDOCS/$GBROWSE_ROOT/databases/gbrowse_syn/rice/rice.gff3
    loading /var/www/html/gbrowse/databases/gbrowse_syn/rice/rice.gff3...
    Building object tree... 1.05s7s
    Loading bulk data into database... 0.67s
    load time: 31.40s

    $ bp_seqfeature_load.pl -u user -p pass -d wild_rice -c -f $HTDOCS/$GBROWSE_ROOT/databases/gbrowse_syn/wild_rice/wild_rice.gff3
    loading /var/www/html/gbrowse/databases/gbrowse_syn/wild_rice/wild_rice.gff3...
    Building object tree... 1.15s9s
    Loading bulk data into database... 0.69s
    load time: 31.93s

    3: Modify the following stanza in each configurations file (rice_syntency.conf and wild_rice_synteny),
    changing the dsn argumant as required for each data source.

    # from
    db_adaptor    = Bio::DB::SeqFeature::Store
    db_args       = -adaptor memory
                    -dir    //var/www/html/gbrowse/databases/gbrowse_syn/rice

    # to
    db_adaptor    = Bio::DB::SeqFeature::Store
    db_args       = -adaptor DBI::mysql
                    -dsn dbi:mysql:rice
                    -user www-data