This is a test version of Biostars. For the public version, visit https://www.biostars.org.
setting GBrowse database and query GFF3

(1) I have uploaded the genome fasta and GFF annotation in the mysql data using following command of Bio::DB::SeqFeature::Store database

./bp_seqfeature_load.pl -c -d WS240 -u xxx -p xxx c_elegans.PRJNA13758.WS240.genomic.fa c_elegans.PRJNA13758.WS240.annotations.gff3

(2) Following tables are inserted into my database WS240

+-----------------+
| Tables_in_WS240 |
+-----------------+
| attribute       |
| attributelist   |
| feature         |
| locationlist    |
| meta            |
| name            |
| parent2child    |
| sequence        |
| typelist        |
+-----------------+

(3) Now I want to make query in the mysql to extract the sequence and its feature using following commands:

#!/usr/bin/perl
use strict;

use Bio::DB::GFF;
my $db  = Bio::DB::GFF->new(-dsn   => 'dbi:mysql:database=WS240',
                             -user => 'XXX',
                             -pass => 'XXX',
                             -aggregators => 'gene_model{coding_exon,5_UTR,3_UTR/CDS}');

my $gene_stream = $db->get_seq_stream('gene_model:curated');

while (my $gene = $gene_stream->next_seq) {
        print $gene->name,"\n";
        for my $part ($gene->get_SeqFeatures) {
            print "\t",join("\t",$part->method,$part->start,$part->end),"\n";
        }
        print "\n";
}

(4) I am getting following error:

------------- EXCEPTION: Bio::Root::Exception -------------
MSG: Couldn't execute query SELECT  fref,fstart,fstop,fsource,fmethod,fscore,fstrand,fphase,gclass,gname,ftarget_start,ftarget_stop,fdata.fid,fdata.gid
 FROM fdata,ftype,fgroup
 WHERE   fgroup.gid = fdata.gid
  AND ftype.ftypeid = fdata.ftypeid
 AND  ((fmethod = ? AND fsource = ?) OR (fmethod = ? AND fsource = ?) OR (fmethod = ? AND fsource = ?) OR (fmethod = ? AND fsource = ?))
 ORDER BY fgroup.gname:
 Table 'WS240.fdata' doesn't exist

STACK: Error::throw
STACK: Bio::Root::Root::throw /usr/local/share/perl/5.10.0/Bio/Root/Root.pm:368
STACK: Bio::DB::GFF::Adaptor::dbi::caching_handle::do_query /usr/local/share/perl/5.10.0/Bio/DB/GFF/Adaptor/dbi/caching_handle.pm:123
STACK: Bio::DB::GFF::Adaptor::dbi::range_query /usr/local/share/perl/5.10.0/Bio/DB/GFF/Adaptor/dbi.pm:627
STACK: Bio::DB::GFF::Adaptor::dbi::get_features_iterator /usr/local/share/perl/5.10.0/Bio/DB/GFF/Adaptor/dbi.pm:1008
STACK: Bio::DB::GFF::_features /usr/local/share/perl/5.10.0/Bio/DB/GFF.pm:3476
STACK: Bio::DB::GFF::features /usr/local/share/perl/5.10.0/Bio/DB/GFF.pm:1091
STACK: Bio::DB::GFF::get_seq_stream /usr/local/share/perl/5.10.0/Bio/DB/GFF.pm:1132
STACK: ./aa.pl:12

(5) Could you kindly suggest me what is wrong with the script (3), what is the best approach to make query with mysql. I also used the bp_bulk_load_gff.pl (Bio::DB::GFF)</a>) to upload the GFF file into mysql but not working well.

Thanks
Firoz

software-error genome sequence

1 answer

See this thread and the answer by Timothy Parnell: http://generic-model-organism-system-database.450254.n5.nabble.com/Getting-gbrowse-syn-to-work-with-MySQL-td5519255.html

You should use bp_bulk_load_gff.pl with Bio::DB::GFF and bp_seqfeature_load.pl with Bio::DB::SeqFeature::Store. However your script uses Bio::DB::GFF with bp_seqfeature_load.pl. You need to change one of them to conform.

Just to add a bit here, Bio::DB::GFF isn't really supported anymore and it doesn't support all the features of GFF3. I highly suggest using Bio::DB::SeqFeature::Store.

Log in to answer this question.