[Bioperl-l] LocusLink IO

Allen Day allenday@ucla.edu
Fri, 29 Nov 2002 22:34:39 -0800 (PST)


did you try diffing the files?  maybe there is some \r\n funk?

-Allen

On Fri, 29 Nov 2002, Paul Boutros wrote:

> Hi again,
> 
> I don't encounter any problems parsing the test file:
> t\data\LL-sample.seq
> 
> If I run the LocusLink test
> c:\perl\bioperl-live> perl -w t\LocusLink.t
> 1..23
> ok 1
> ok 2
> Use of uninitialized value in pattern match (m//) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 384, <GEN0> line 2.
> Use of uninitialized value in transliteration (tr///) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 600, <GEN0> line 2.
> Use of uninitialized value in transliteration (tr///) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 603, <GEN0> line 2.
> Use of uninitialized value in transliteration (tr///) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 604, <GEN0> line 2.
> Use of uninitialized value in transliteration (tr///) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 605, <GEN0> line 2.
> Use of uninitialized value in transliteration (tr///) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 606, <GEN0> line 2.
> Use of uninitialized value in length at C:/Perl/site/lib/Bio\SeqIO\embl.pm
> line 618, <GEN0> line 2.
> Use of uninitialized value in substr at C:/Perl/site/lib/Bio\SeqIO\embl.pm
> line 633, <GEN0> line 2.
> Use of uninitialized value in pattern match (m//) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 384, <GEN0> line 3.
> Use of uninitialized value in transliteration (tr///) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 600, <GEN0> line 3.
> Use of uninitialized value in transliteration (tr///) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 603, <GEN0> line 3.
> Use of uninitialized value in transliteration (tr///) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 604, <GEN0> line 3.
> Use of uninitialized value in transliteration (tr///) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 605, <GEN0> line 3.
> Use of uninitialized value in transliteration (tr///) at
> C:/Perl/site/lib/Bio\SeqIO\embl.pm line 606, <GEN0> line 3.
> Use of uninitialized value in length at C:/Perl/site/lib/Bio\SeqIO\embl.pm
> line 618, <GEN0> line 3.
> Use of uninitialized value in substr at C:/Perl/site/lib/Bio\SeqIO\embl.pm
> line 633, <GEN0> line 3.
> ok 3
> 
> and okay through the rest of the tests.
> 
> Visually the two files look very similar, and there are no obvious
> formatting differences.  And it does take quite a few seconds of running
> before the two "Deep Recursion" warnings come up, then a few more before I
> get the exception.
> 
> When I run:
> 
> use Bio::SeqIO;
> use strict;
> my $file = $ARGV[0];
> my $seqio = Bio::SeqIO->new(
> 			-format	=> 'locuslink',
> 			-file	=> $file
> 			);
> 
> while (my $seq = $seqio->next_seq()) {
> 	my $acc = $seq->annotation();
> 	print $seq->accession(), "\n";
> 	}
> 
> The two deep recursion warnings come as:
> 
> 15601
> Deep recursion on subroutine "Bio::SeqIO::locuslink::next_seq" at
> C:/Perl/site/lib/Bio\SeqIO\locuslink.pm line 456, <GEN0> chunk 15465.
> 15731
> Deep recursion on subroutine "Bio::SeqIO::locuslink::next_seq" at
> C:/Perl/site/lib/Bio\SeqIO\locuslink.pm line 456, <GEN0> chunk 15595.
> 15874
> 15890
> 
> And the exception is thrown as:
> 24785
> 24786
> 24787
> 
> ------------- EXCEPTION  -------------
> MSG: No LOCUSID in first line of record. Not LocusLink in my book.
> STACK Bio::SeqIO::locuslink::next_seq
> C:/Perl/site/lib/Bio\SeqIO\locuslink.pm:435
> STACK toplevel testLL.pl:11
> 
> --------------------------------------
> 
> On Fri, 29 Nov 2002, Hilmar Lapp wrote:
> 
> > I will check what's happening. There is a test case and a sample file in the repository; while you're at it, do you see what the fundamental difference is between the sample and the your input file? (Or does the test fail as well for you?)
> > 
> > 	-hilmar
> > 
> > > -----Original Message-----
> > > From: Paul Boutros [mailto:pcboutro@engmail.uwaterloo.ca]
> > > Sent: Friday, November 29, 2002 9:21 AM
> > > To: Hilmar Lapp
> > > Cc: bioperl-l@bioperl.org
> > > Subject: Re: [Bioperl-l] LocusLink IO
> > > 
> > > 
> > > I tried again on today's (11/29/2002) LL_tmpl file and same error:
> > > 
> > > C:\paul\dev\LocusLink>perl -w testLL.pl
> > > Deep recursion on subroutine "Bio::SeqIO::locuslink::next_seq" at
> > > C:/Perl/site/lib/Bio\SeqIO\locuslink.pm line 456, <GEN0> chunk 15465.
> > > Deep recursion on subroutine "Bio::SeqIO::locuslink::next_seq" at
> > > C:/Perl/site/lib/Bio\SeqIO\locuslink.pm line 456, <GEN0> chunk 15595.
> > > 
> > > ------------- EXCEPTION  -------------
> > > MSG: No LOCUSID in first line of record. Not LocusLink in my book.
> > > STACK Bio::SeqIO::locuslink::next_seq
> > > C:/Perl/site/lib/Bio\SeqIO\locuslink.pm:435
> > > STACK toplevel testLL.pl:8
> > > 
> > > --------------------------------------
> > > 
> > > 
> > > On Thu, 28 Nov 2002, Hilmar Lapp wrote:
> > > 
> > > > The input file needs to be the LL_tmpl or in that format. Does your 
> > > > input file satisfy this? (NCBI releases several files for LL. Many 
> > > > are in tab-format; the LL_tmpl format is a tagged-line format.)
> > > > 
> > > > 	-hilmar
> > > > 
> > > > On Thursday, November 28, 2002, at 03:05 PM, Paul Boutros wrote:
> > > > 
> > > > > Hi all,
> > > > >
> > > > > I'm using the LocusLink SeqIO parser with a download of 
> > > LocusLink from
> > > > > NCBI today (LL3_021128.txt).  When I just parse through 
> > > the file doing
> > > > > nothing except for checking the organism annotation with:
> > > > >
> > > > > use Bio::SeqIO;
> > > > >
> > > > > my $seqio = Bio::SeqIO->new(
> > > > > 			-format	=> 'locuslink',
> > > > > 			-file	=> 'LL3_021128.txt'
> > > > > 			);
> > > > >
> > > > > while (my $acc = $seqio->next_seq()->annotation()) {
> > > > > 	if ($acc->get_Annotations('ORGANISM') =~ /rattus norvegicus/i) {
> > > > > 		print "Rat!\n";
> > > > > 		}
> > > > > 	}
> > > > >
> > > > > I get:
> > > > >
> > > > > Deep recursion on subroutine "Bio::SeqIO::locuslink::next_seq" at
> > > > > C:/Perl/site/lib/Bio\SeqIO\locuslink.pm line 456, <GEN0> 
> > > chunk 15465.
> > > > > Deep recursion on subroutine "Bio::SeqIO::locuslink::next_seq" at
> > > > > C:/Perl/site/lib/Bio\SeqIO\locuslink.pm line 456, <GEN0> 
> > > chunk 15595.
> > > > >
> > > > >
> > > > > ------------- EXCEPTION  -------------
> > > > > MSG: No LOCUSID in first line of record. Not LocusLink in my book.
> > > > > STACK Bio::SeqIO::locuslink::next_seq
> > > > > C:/Perl/site/lib/Bio\SeqIO\locuslink.pm:435
> > > > > STACK toplevel testLL.pl:10
> > > > > --------------------------------------
> > > > >
> > > > > Interestingly enough I also don't get any output from the 
> > > ORGANISM 
> > > > > check,
> > > > > so I must be doing that wrong, too.  I notice that the thing 
> > > > > processes a
> > > > > fair chunk of time before spitting out the two "Deep recursion" 
> > > > > warnings,
> > > > > and then a fair bit longer before hitting the exception.
> > > > >
> > > > > Any ideas if I'm doing something unusual, or if maybe I should 
> > > > > submit this
> > > > > as a bug report?
> > > > >
> > > > > Paul
> > > > >
> > > > > OS: Win XP SP 1 and Win2K SP2
> > > > > Perl: 5.8.0 and 5.6.1
> > > > > BioPerl: CVS yesterday
> > > > >
> > > > > _______________________________________________
> > > > > Bioperl-l mailing list
> > > > > Bioperl-l@bioperl.org
> > > > > http://bioperl.org/mailman/listinfo/bioperl-l
> > > > >
> > > > --
> > > > -------------------------------------------------------------
> > > > Hilmar Lapp                            email: lapp at gnf.org
> > > > GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
> > > > -------------------------------------------------------------
> > > > 
> > > 
> > > 
> > 
> 
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
>