[Bioperl-l] loading yeast data failing...

Barry Moore bmoore at genetics.utah.edu
Tue Jan 3 21:33:45 EST 2006


Angshu-

 

You should read the following documents carefully before asking more
questions like this one, this is yet another example that demonstrates
that you ask questions before you try to solve the problem yourself.  Do
you have a copy of Programming Perl sitting next to you on the desk?  If
not you should, and it should be tattered and worn before you hit the
list with basic questions like that.  Now try these documents and the
suggestions below, repent of you ways and good luck.

 

http://www.catb.org/~esr/faqs/smart-questions.html

 

http://chicago.pm.org/meetings/20031202/perl-debug.txt

 

http://debugger.perl.org/580/perldebug.html

 

Now to get you headed on you way for this problem, specifically, what
you want to know about the perl debugger for this issue is:

 

You can run it like this:

 

perl -d your_script.pl

 

You can burrow into your code to the module in question like this:

 

c Path::To::Your::accessor::process_seq

 

Once there you can step through code with n or s.

 

Finally, you can look at varibles (and objects and methods called on
objects) that are in scope with x like this:

 

x $my_variable

x $seq->accession_number

x $seq->display_id

 

Didn't find what you want yet?  Look at the whole seq object (and have
it paged) like this:

 

| x $seq

 

Or what other methods can I call on this object that might do what I
want:

 

m $seq

 

Now try each of the methods that look interesting to see what they do:

 

x $seq->interesting_method

 

Barry

 

> -----Original Message-----

> From: bioperl-l-bounces at portal.open-bio.org [mailto:bioperl-l-

> bounces at portal.open-bio.org] On Behalf Of Angshu Kar

> Sent: Tuesday, January 03, 2006 6:56 PM

> To: Hilmar Lapp

> Cc: bioperl-l

> Subject: Re: [Bioperl-l] loading yeast data failing...

> 

> Thanks Hilmar.

> Now I've another query:

> 

> Here is the accessor.pm I'm using <http://accessor.pm/> (one written
by

> Marc):

> 

> use strict;

> use vars qw(@ISA);

> use lib '/home/akar/local/perl/';

> use Bio::Seq::BaseSeqProcessor;

> use Bio::SeqFeature::Generic;

> 

> @ISA = qw(Bio::Seq::BaseSeqProcessor);

> 

> sub process_seq

> {

>   my ($self, $seq) = @_;

>   $seq->accession_number($seq->display_id);

>   return ($seq);

> }

> 

> Could you please let me know what is display_id here? Also which
variable

> contains the "gi|51013395|gb|AAT92991.1|" string?

> 

> Thanks,

> Angshu

> 

> 

> On 1/3/06, Hilmar Lapp <hlapp at gmx.net> wrote:

> >

> > On 1/3/06, Angshu Kar <angshu96 at gmail.com> wrote:

> > > Hi Hilmar,

> > >

> > > On what basis should I parse? I found the following 3 entries

> > (arbitrary) in

> > > the bioentry table. The same 3 entries all went to each of the
name,

> > > identifier and accession fields!And the version field contains all
0s!

> > >

> > >

> > > gi|51013395|gb|AAT92991.1|

> > > gi|732941|emb|CAA54130.1|

> > >  gi|6321883|ref|NP_011959.1|

> > >

> > > So, here for record 1: gi|51013395 is the identifier, AAT92991 is
the

> > > accession number, 1 is the version. Am I right? And then what is
the

> > name?

> >

> > I'd only used 51013395 as the identifier. Other than that: correct.

> > There is no name in the above examples, either because the entry

> > doesn't have one designated, or because the tool that wrote the
FASTA

> > file didn't put it into the identifier part. FASTA format doesn't

> > define these things. Have you checked the description whether there
is

> > a name somewhere? If there isn't one, I'd default name to accession

> > number.

> >

> > >

> > > Also I found out just the following entry in the 3 same fields in
the

> > same

> > > table:

> > >

> > >  AT1G08520.1

> > >

> > > I'm not getting this!I used the TAIR6 dataset.How to parse this
data?

> > > Could you please advise on how to resolve this?

> >

> > I have no idea about the TAIR6 datasets - why don't you ask the
people

> > who create those files?

> >

> >   -hilmar

> >

> > >

> > > Thanks,

> > > Angshu

> > >

> > >

> > >

> > > On 1/3/06, Hilmar Lapp < hlapp at gmx.net> wrote:

> > > > You could do that but first that puts you out of sync with the

> > > > official schema, and second if you look at the value it isn't
really

> > > > an accession number anyway that's causing the problem but rather
a

> > > > concatenation of identifiers, accession numbers, and namespace

> > > > acronyms. Since you're using a custom SeqProcessor anyway
already

> why

> > > > don't you just add a line or two of code that parses the
display_id

> > > > value into the accession and identifier? (for instance, the
token

> > > > between two '|' characters following the token 'gb')

> > > >

> > > >    -hilmar

> > > >

> > > > On 1/3/06, Angshu Kar < angshu96 at gmail.com> wrote:

> > > > > Hi,

> > > > >

> > > > > Could you please help me resolve the follwoing error?

> > > > >

> > > > > I run:

> > > > >

> > > > > ./load_seqdatabase.pl --dbname=USBA --dbuser=postgres --

> format=fasta

> > > > > --driver=Pg --pipeline="SeqProcessor::Accession"

> > > yeast_nrpep.fasta

> > > > >

> > > > > The error:

> > > > >

> > > > > Loading yeast_nrpep.fasta ...

> > > > >

> > > > > -------------------- WARNING ---------------------

> > > > > MSG: insert in Bio::DB::BioSQL::SeqAdaptor (driver) failed,
values

> > were

> > > > >

> > >

> >

>
("gi|4261605|gb|AAD13905.1|S58126_11111111111111","gi|4261605|gb|AAD1390
5.

>
1|S58126_11111111111111","gi|4261605|gb|AAD13905.1|S58126_11111111111111
",

> "Unknown

> > > > > [Saccharomyces cerevisiae]","0","") FKs (19,<NULL>)

> > > > > ERROR:  value too long for type character varying(40)

> > > > > ---------------------------------------------------

> > > > > Could not store

> > > gi|4261605|gb|AAD13905.1|S58126_11111111111111:

> > > > > ------------- EXCEPTION  -------------

> > > > > MSG: error while executing statement in

> > > > > Bio::DB::BioSQL::SeqAdaptor::find_by_unique_key: ERROR:

> > >  current transaction

> > > > > is aborted, commands ignored until end of transaction block

> > > > > STACK

> > > Bio::DB::BioSQL::BasePersistenceAdaptor::_find_by_unique_key

> > > > >

> > > /home/akar/local/perl//Bio/DB/BioSQL/BasePersistenceAdaptor.pm:951

> > > > > STACK

> > > Bio::DB::BioSQL::BasePersistenceAdaptor::find_by_unique_key

> > > > >

> > > /home/akar/local/perl//Bio/DB/BioSQL/BasePersistenceAdaptor.pm:855

> > > > > STACK Bio::DB::BioSQL::BasePersistenceAdaptor::create

> > > > >

> > > /home/akar/local/perl//Bio/DB/BioSQL/BasePersistenceAdaptor.pm:205

> > > > > STACK Bio::DB::BioSQL::BasePersistenceAdaptor::store

> > > > >

> > > /home/akar/local/perl//Bio/DB/BioSQL/BasePersistenceAdaptor.pm:254

> > > > > STACK Bio::DB::Persistent::PersistentObject::store

> > > > >

> > > /home/akar/local/perl//Bio/DB/Persistent/PersistentObject.pm:272

> > > > > STACK (eval) ./load_seqdatabase.pl:621

> > > > > STACK toplevel ./load_seqdatabase.pl:604

> > > > >

> > > > > --------------------------------------

> > > > >

> > > > >  at ./load_seqdatabase.pl line 634

> > > > >

> > > > > Should I change the field lengths for accession, name and

> identifier

> > to

> > > some

> > > > > value >40 in the bioentry table?  What  should I change it to?

> > > > >

> > > > > Thanks,

> > > > > Angshu

> > > > >

> > > > > _______________________________________________

> > > > > Bioperl-l mailing list

> > > > > Bioperl-l at portal.open-bio.org

> > > > > http://portal.open-bio.org/mailman/listinfo/bioperl-l

> > > > >

> > > > >

> > > >

> > > >

> > > > --

> > > >

> > > ----------------------------------------------------------

> > > > : Hilmar Lapp -:- San Diego, CA -:- hlapp at gmx dot net :

> > > >

> > > ----------------------------------------------------------

> > > >

> > >

> > >

> >

> >

> > --

> > ----------------------------------------------------------

> > : Hilmar Lapp -:- San Diego, CA -:- hlapp at gmx dot net :

> > ----------------------------------------------------------

> >

> 

> _______________________________________________

> Bioperl-l mailing list

> Bioperl-l at portal.open-bio.org

> http://portal.open-bio.org/mailman/listinfo/bioperl-l




More information about the Bioperl-l mailing list