[Bioperl-l] problem with swissprot parsin

Brian Osborne brian_osborne at cognia.com
Sat Oct 16 10:34:58 EDT 2004


Siddhartha,

>> getting the data. Since you are even getting the warnings what
>> version  of bioperl you are running.

Sorry, I wasn't clear. The script runs, I can retrieve a sequence, and I see
no warnings. bioperl-live, perl 5.8.2, Cygwin.

Brian O.


-----Original Message-----
From: bioperl-l-bounces at portal.open-bio.org
[mailto:bioperl-l-bounces at portal.open-bio.org]On Behalf Of Siddhartha Basu
Sent: Friday, October 15, 2004 2:40 PM
To: bioperl-l at bioperl.org
Subject: Re: [Bioperl-l] problem with swissprot parsin

Hi hilmar,
I am using perl 5.8.3 and bioperl-live.

Here is the code:
#!/usr/bin/perl -w
#
use strict;
use Bio::DB::Flat;
#
die "no files\n" unless @ARGV;
my $LOCATION = ".";
#
my $db = Bio::DB::Flat->new( -directory => $LOCATION,
                      -dbname => "swissall",
                      -format => "swiss",
                      -index => "bdb",
                      -write_flag => 1,
                    ) or die "can't create BioFlat indexes\n";

$db->build_index(@ARGV);
#print "Done indexing\n";

my $seq = $db->get_Seq_by_acc("Q09543");
print $seq->seq,"\n";
exit;

Here is the error:
===
Use of uninitialized value in substitution (s///) at
/usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 856, <GEN0> line 80.
Use of uninitialized value in string eq at
/usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 1002, <GEN0> line
154.
Use of uninitialized value in string eq at
/usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 1002, <GEN0> line
182.
Use of uninitialized value in string eq at
/usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 1002, <GEN0> line
214.
====

And i have attached the test file.

-siddhartha


Hilmar Lapp wrote:
> The RG/RA issue has been fixed on the main trunk I believe.
>
> Aside from that, different versions of perl will also lead to things
> being complained about or remaining silent. Generally, *always* add the
> version of bioperl you are using if you report a problem.
>
>     -hilmar
>
> On Friday, October 15, 2004, at 09:55  AM, Siddhartha Basu wrote:
>
>> Hi Brian,
>> I retested it again. The good part is that i can fetch the seq obj
>> and  the sequence now. The warnings are still there. I will try to
>> index  the entire swissprot data file and see what happens.
>>
>> Now,as mentioned by one of the earlier mail in the list that it has
>> to  with the absence of RA records in recent swissprot files and the
>> swiss.pm modules spewing out warnings when the variable $au  is not
>> getting the data. Since you are even getting the warnings what
>> version  of bioperl you are running.
>>
>> -siddhartha
>>
>>
>>
>>
>>
>> Brian Osborne wrote:
>>
>>> Siddhartha,
>>> Changing @files to @ARGV makes your script index without warnings on  my
>>> machine, using your Swissprot file or mine. It also retrieves a
>>> sequence.
>>> Below...
>>> Brian O.
>>> #!/usr/bin/perl -w
>>> use strict;
>>> use Bio::DB::Flat;
>>> die "no files\n" unless @ARGV;
>>> my $LOCATION = ".";
>>> my $db = Bio::DB::Flat->new( -directory => $LOCATION,
>>>                                       -dbname => "swissall",
>>>                                       -format => "swiss",
>>>                                       -index => "bdb",
>>>                                       -write_flag => 1,
>>>                                     ) or die "can't create BioFlat
>>> indexes\n";
>>> $db->build_index(@ARGV);
>>> print "Done indexing\n";
>>> my $seq = $db->get_Seq_by_acc("P41932");
>>> print $seq->seq;
>>> -----Original Message-----
>>> From: bioperl-l-bounces at portal.open-bio.org
>>> [mailto:bioperl-l-bounces at portal.open-bio.org]On Behalf Of
>>> Siddhartha  Basu
>>> Sent: Thursday, October 14, 2004 4:54 PM
>>> To: Brian Osborne
>>> Cc: bioperl-l at bioperl.org
>>> Subject: Re: [Bioperl-l] problem with swissprot parsin
>>> Hi Brian,
>>> Changed it, problem persists.
>>> -siddhartha
>>> Brian Osborne wrote:
>>>
>>>> Siddhartha,
>>>>
>>>> Change @files to @ARGV in the build_index line. Does that fix it?
>>>>
>>>> Brian O.
>>>>
>>>> -----Original Message-----
>>>> From: Siddhartha Basu [mailto:basu at pharm.sunysb.edu]
>>>> Sent: Thursday, October 14, 2004 4:15 PM
>>>> To: Brian Osborne
>>>> Cc: bioperl-l at bioperl.org
>>>> Subject: Re: [Bioperl-l] problem with swissprot parsin
>>>>
>>>> Hi Brian,
>>>> Here is the code that started to give the following error. I presume  i
>>>> am using Bio::DB::Flat::BDB though i haven't called it directly. I am
>>>> trying to index swissprot/trembl files here.
>>>>
>>>> #!/usr/bin/perl -w
>>>> use strict;
>>>> use Bio::DB::Flat;
>>>>
>>>> die "no files\n" unless @ARGV;
>>>> my $LOCATION = "/home/basu/odbaindex";
>>>>
>>>> my $db = Bio::DB::Flat->new( -directory => $LOCATION,
>>>>                                 -dbname => "swissall",
>>>>                                 -format => "swiss",
>>>>                                 -index => "bdb",
>>>>                                 -write_flag => 1,
>>>>                              ) or die "can't create BioFlat
>>>> indexes\n";
>>>> $db->build_index(@files);
>>>> print "Done indexing\n";
>>>>
>>>> exit;
>>>>
>>>>
>>>> I get the following warinings.
>>>>
>>>> ===================================================================== =
>>>> Use of uninitialized value in substitution (s///) at
>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>> line
>>>>  18676877.
>>>>  Use of uninitialized value in substitution (s///) at
>>>>  /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>> line
>>>>  18676916.
>>>>  Use of uninitialized value in substitution (s///) at
>>>>  /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>> line
>>>>  18676956.
>>>>  Use of uninitialized value in substitution (s///) at
>>>>  /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>> line
>>>>  18677002.
>>>>  Use of uninitialized value in substitution (s///) at
>>>>  /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>> line
>>>> =====================================================================
>>>> ====
>>>>
>>>> I have done a small test with Bio::SeqIO module using a small test
>>>> file(swiss.test). Here is the code.
>>>>
>>>> #!/usr/bin/perl -w
>>>> #
>>>> use strict;
>>>> use Bio::SeqIO;
>>>>
>>>> my $seq = Bio::SeqIO->new(-file => $ARGV[0], -format => "swiss");
>>>>
>>>> while (my $in = $seq->next_seq) {
>>>>    print $in->id,"\n";
>>>> }
>>>>
>>>> exit;
>>>>
>>>>
>>>> It gives the same error
>>>> Use of uninitialized value in substitution (s///) at
>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN0>
>>>> line
>>>
>>> 28.
>>>
>>>> 1433_CAEEL
>>>> Use of uninitialized value in substitution (s///) at
>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN0>
>>>> line
>>>
>>> 87.
>>>
>>>> A4_CAEEL
>>>> Use of uninitialized value in substitution (s///) at
>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN0>
>>>> line
>>>
>>> 171.
>>>
>>>> AATC_CAEEL
>>>>
>>>> I have also attached the test file.
>>>>
>>>> Hope this will give some clue for the problem.
>>>> Thanks for the response.
>>>>
>>>> siddhartha
>>>>
>>>>
>>>>
>>>> Brian Osborne wrote:
>>>>
>>>>
>>>>> Siddhartha,
>>>>>
>>>>> Bio::DB::Flat::BinarySearch or Bio::DB::Flat::BDB? Also, please
>>>>> show your
>>>>> code when you ask a question, it simplifies matters. For example,
>>>>> it would
>>>>> tell me which module you used, which file format, and so on. It
>>>>> also helps
>>>>> to attach the actual sequence files, or some smaller test file
>>>>> that  shows
>>>>> the same error. What happens occasionally is that a question will  get
>>>>> ignored for the simple reason that no one knows how to answer,
>>>>> there's not
>>>>> enough information given in the letter.
>>>>>
>>>>> Brian O.
>>>>>
>>>>> -----Original Message-----
>>>>> From: bioperl-l-bounces at portal.open-bio.org
>>>>> [mailto:bioperl-l-bounces at portal.open-bio.org]On Behalf Of
>>>>> Siddhartha Basu
>>>>> Sent: Thursday, October 14, 2004 2:51 PM
>>>>> To: bioperl-l at bioperl.org
>>>>> Subject: [Bioperl-l] problem with swissprot parsin
>>>>>
>>>>> Hi,
>>>>> I have already described this problem in this mailing list but
>>>>> haven't
>>>>> got anybodies attention yet. I had also asked the author of this
>>>>> module
>>>>> but nothing back yet. Anyway i really could'nt figure out how to
>>>>> solve
>>>>> this and so i am writing again. I have also tried by replacing the
>>>>> swiss.pm module from the bioperl-live version. But the problem
>>>>> persists.
>>>>> I understand that this is a maintained module and i am not getting
>>>>> ignored because of maintenance issue.
>>>>>
>>>>> I am trying to make a flat file index of swissprot/trembl files  using
>>>>> Bio::DB::Flat module. However, i am getting the following consistent
>>>>> warnings during the indexing process.
>>>>> ====================================================================
>>>>> ==
>>>>> Use of uninitialized value in substitution (s///) at
>>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>>> line
>>>>> 18676877.
>>>>> Use of uninitialized value in substitution (s///) at
>>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>>> line
>>>>> 18676916.
>>>>> Use of uninitialized value in substitution (s///) at
>>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>>> line
>>>>> 18676956.
>>>>> Use of uninitialized value in substitution (s///) at
>>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>>> line
>>>>> 18677002.
>>>>> Use of uninitialized value in substitution (s///) at
>>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>>> line
>>>>> 18677045.
>>>>> Use of uninitialized value in substitution (s///) at
>>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>>> line
>>>>> 18677091.
>>>>> Use of uninitialized value in substitution (s///) at
>>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>>> line
>>>>> 18677136.
>>>>> Use of uninitialized value in substitution (s///) at
>>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>>> line
>>>>> 18677178.
>>>>> Use of uninitialized value in substitution (s///) at
>>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>>> line
>>>>> 18677209.
>>>>> Use of uninitialized value in substitution (s///) at
>>>>> /usr/lib/perl5/site_perl/5.8.3/Bio/SeqIO/swiss.pm line 855, <GEN1>
>>>>> line
>>>>> 18677249.
>>>>> ====================================================================
>>>>> ====
>>>>> Though, the indexing get completed, i could'nt fetch any data from
>>>>> there
>>>>> as it does not return any seq obj.
>>>>> I also get the same warnings when i try to read the swissprot file
>>>>> using
>>>>> the Bio::SeqIO module.
>>>>> I am using bioperl-1.4 and understand it has something to do with  the
>>>>> swissprot parser in Seq::IO module.
>>>>> So, does any fix or solution available for this problem.
>>>>>
>>>>> Thanks in  advance.
>>>>>
>>>>> -siddhartha
>>>>> _______________________________________________
>>>>> Bioperl-l mailing list
>>>>> Bioperl-l at portal.open-bio.org
>>>>> http://portal.open-bio.org/mailman/listinfo/bioperl-l
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at portal.open-bio.org
>>> http://portal.open-bio.org/mailman/listinfo/bioperl-l
>>
>>
>> _______________________________________________
>> 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