[Bioperl-l] Bio::DB:GFF queries II

Jason Stajich jason@cgt.mc.duke.edu
Sat, 11 May 2002 14:32:20 -0400 (EDT)


This is because GFF::Features don't have segments - they are segments.
See the perldoc for Bio::DB::GFF::Segment and you'll see some
familiar methods - seq(), subseq().

Are you trying to get the 30 bases upstream and into the exon?  Use the
subseq method to get a new segment.

-jason

On Sat, 11 May 2002, Eric Snyder wrote:

> Hello again,
>
> My specific question (see previous email for general question) regarding the workings of GFF can be summarized by the question, "why doesn't this work?":
>
> 	my $db   = Bio::DB::GFF->new( -adaptor => 'dbi::mysql',
> 					  -dsn     => 'dbi:mysql:gp2',
> 	);
>
> 	foreach my $seq ( @seqs ){
> 		my $segment = $db->segment( $seq  );
> 		print "seq = \"$seq\"; segment = \"$segment\"\n";
> 		my @exons = $segment->features( 'internal');
> 		for my $exon (@exons) {
>   			my $dna = $exon->dna;
> 			print "$exon:$dna\n";
> 			my $ss = $exon->segment(-30,30);     # problem with this line!!!
> 		}
> 	}
>
> At the risk of sending too much supporting data, check below for what my database looks like.
> I cannot grok why I cannot call the segment method on $exon.   It prints the exon sequence but dies with the following:
>
> (amargosa)[2:55am]tdb>>splice_tdb.pl fref
> Internal:refseq(NM_001787):TCTGATGACCGGGATTCCAAGCGGGATTCCCTTGAGGAGGGGGAGCTGAGAGATCACTGCATGGAGATCACAATAAGGAACTCCCCGTATAGAAGAGAAGACTCAATGGAAGACAG
> ------------- EXCEPTION  -------------
> MSG: Can't locate object method "segment" via package "Bio::DB::GFF::Feature"
> STACK Bio::DB::GFF::Feature::AUTOLOAD /usr/local/lib/perl5/site_perl/5.6.1/Bio/DB/GFF/Feature.pm:768
> STACK toplevel /home/eesnyder/src/perl/splice_tdb.pl:37
>
> Ideas?  Suggestions?
> Thanks in advance,
> eesnyder
>
>
> mysql> select * from fdata;
> +-----+-----------+--------+-------+---------------+---------+--------+---------+--------+-----+---------------+--------------+
> | fid | fref      | fstart | fstop | fbin          | ftypeid | fscore | fstrand | fphase | gid | ftarget_start | ftarget_stop |
> +-----+-----------+--------+-------+---------------+---------+--------+---------+--------+-----+---------------+--------------+
> |   1 | NM_018216 |      1 | 24892 | 100000.000000 |       1 |      0 |         |        |   1 |             0 |            0 |
> |   2 | NM_018216 |   5011 |  5134 |   1000.000005 |       2 |      0 | +       | 0      |   2 |             0 |            0 |
> |   3 | NM_018216 |  10125 | 10207 |   1000.000010 |       3 |      0 | +       | 2      |   2 |             0 |            0 |
> |   4 | NM_018216 |  10610 | 10824 |   1000.000010 |       3 |      0 | +       | 0      |   2 |             0 |            0 |
> [...]
> |  19 | NM_018216 |  21995 | 22063 |  10000.000002 |       3 |      0 | +       | 1      |   2 |             0 |            0 |
> |  20 | NM_018216 |  22865 | 23078 |  10000.000002 |       4 |      0 | +       | 1      |   2 |             0 |            0 |
> |  21 | NM_014638 |      1 | 14247 | 100000.000000 |       1 |      0 |         |        |   3 |             0 |            0 |
> |  22 | NM_014638 |   9024 | 10301 | 100000.000000 |       5 |      0 | +       | 0      |   4 |             0 |            0 |
> |  23 | NM_002617 |      1 | 17024 | 100000.000000 |       1 |      0 |         |        |   5 |             0 |            0 |
> |  24 | NM_002617 |   5033 |  5144 |   1000.000005 |       2 |      0 | +       | 0      |   6 |             0 |            0 |
> [...]
>
> mysql> select * from fgroup;
> +-----+------------+-----------+
> | gid | gclass     | gname     |
> +-----+------------+-----------+
> |   1 | Sequence   | NM_018216 |
> |   2 | Transcript | NM_018216 |
> |   3 | Sequence   | NM_014638 |
> |   4 | Transcript | NM_014638 |
> |   5 | Sequence   | NM_002617 |
> |   6 | Transcript | NM_002617 |
> [...]
>
> mysql> select * from ftype;
> +---------+----------+---------+
> | ftypeid | fmethod  | fsource |
> +---------+----------+---------+
> |       1 | Sequence | refseq  |
> |       2 | First    | refseq  |
> |       3 | Internal | refseq  |
> |       4 | Terminal | refseq  |
> |       5 | Single   | refseq  |
> +---------+----------+---------+
>
>
> Eric E. Snyder
> Associate Professor
> Pennington Biomedical Research Center
> 6400 Perkins Road
> Baton Rouge, LA 70808-4124
> USA
> Phone:  (225) 763-3185
> Fax: (225) 763-2525
> Email: eesnyder@pbrc.edu
> ICBM: N 30 24'14.0", W 91 07'20.0"
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
>

-- 
Jason Stajich
Duke University
jason at cgt.mc.duke.edu