[Bioperl-l] Entrez Gene parser questions

Stefan Kirov skirov at utk.edu
Wed Jun 8 12:10:36 EDT 2005


Change

#!/usr/bin/perl -w
to
#!/usr/bin/perl 
 and let me know again...
Thanks!



Law, Annie wrote:

>Hi Stefan,
>
>I commented out the use strict and I think I got the same output.
>Here's what I got.
>
>Thanks,
>Annie.
>
>Argument "-trimopt" isn't numeric in numeric eq (==) at /usr/lib/perl5/site_perl/5.8.0/Bio/ASN1/EntrezGene.pm line 450.
>Pseudo-hashes are deprecated at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 416.
>Use of uninitialized value in string eq at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 543.
>Use of uninitialized value in string eq at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 554.
>Use of uninitialized value in substitution (s///) at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 555.
>Use of uninitialized value in string eq at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 554.
>Use of uninitialized value in substitution (s///) at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 555.
>Pseudo-hashes are deprecated at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 416.
>Use of uninitialized value in string eq at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 604.
>Use of uninitialized value in string eq at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 604.
>Use of uninitialized value in string eq at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 604.
>Use of uninitialized value in string eq at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 295.
>Use of uninitialized value in string eq at /usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 323.
>
>-----Original Message-----
>From: Stefan Kirov [mailto:skirov at utk.edu] 
>Sent: Wednesday, June 08, 2005 11:53 AM
>To: Law, Annie
>Cc: Mingyi Liu; Bioperl list
>Subject: Re: [Bioperl-l] Entrez Gene parser questions
>
>
>Annie,
>Can you just disable use strict for now and tell me again what you see? Stefan
>
>Law, Annie wrote:
>
>  
>
>>Hi,
>>
>>I went to bioperl-live and copied the newest entrezgene.pm and 
>>Bio::AnnotatableI, Bio::SeqFeatureI modules and I got the following 
>>output (same output with entrezgene.pm saved on May 11 as well).  The 
>>complaint about the module Generic.pm is gone now. I am using 
>>EntrezGene V 1.09 picked up from CPAN.
>>
>>I'm not sure what is wrong.  I guess I could delete the Bio/ASN1 
>>directory and install EntrezGene V.1.07 but that is not supposed to 
>>make a difference? Here's a wild stab but are the additional messages 
>>related to a statement I read somewhere about the first record being 
>>empty?
>>
>>Is my next alternative to install Bioperl 1.5 and try again? If so, am 
>>I correct in thinking that to 'uninstall' there is no such Uninstall 
>>command but I would just delete the /usr/lib/perl5/site_perl/5.8.0/Bio  
>>ie. The Bio directory and then Use CPAN to install bioperl 1.5
>>
>>Thanks so much,
>>Annie.
>>
>>
>>Argument "-trimopt" isn't numeric in numeric eq (==) at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/ASN1/EntrezGene.pm line 450. 
>>Pseudo-hashes are deprecated at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 416. Use of 
>>uninitialized value in string eq at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 543. Use of 
>>uninitialized value in string eq at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 554. Use of 
>>uninitialized value in substitution (s///) at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 555. Use of 
>>uninitialized value in string eq at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 554. Use of 
>>uninitialized value in substitution (s///) at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 555. 
>>Pseudo-hashes are deprecated at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 416. Use of 
>>uninitialized value in string eq at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 604. Use of 
>>uninitialized value in string eq at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 604. Use of 
>>uninitialized value in string eq at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 604. Use of 
>>uninitialized value in string eq at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 295. Use of 
>>uninitialized value in string eq at 
>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 323.
>>
>>
>>-----Original Message-----
>>From: Stefan Kirov [mailto:skirov at utk.edu]
>>Sent: Tuesday, June 07, 2005 8:39 PM
>>To: Mingyi Liu
>>Cc: Law, Annie; Bioperl list
>>Subject: Re: [Bioperl-l] Entrez Gene parser questions
>>
>>
>>I am pretty sure it is the old Bio::SeqFeature::Generic that breaks the
>>code (actually the underlying modules I mentioned...).
>>Thanks for the -file option... There are also some leftover commenst :-) 
>>. I need to clean the code a bit...
>>Stefan
>>
>>Mingyi Liu wrote:
>>
>> 
>>
>>    
>>
>>>Hi, Annie
>>>
>>>Annie must've been using the Bio::ASN1::EntrezGene V1.09, which worked 
>>>fine with your entrezgene.pm in bioperl-live at least a couple days 
>>>ago, when I replied to Annie.  V1.09 also did not have any significant 
>>>changes in parser code vs. 1.07.
>>>
>>>I guess it has something to do with V1.4 since the sample script you 
>>>used below runs perfectly fine on my Bioperl 1.5 + entrezgene.pm.  The 
>>>procedure you used was also correct (there's no need to 'use 
>>>Bio::ASN1::EntrezGene;' though).  Try follow Stefan's suggestion first 
>>>(although I don't quite understand why Bio::ASN1::EntrezGene 
>>>complained about non numerica operon, which can only result from 
>>>incorrect calling of the function.  But Stefan's entrezgene was using 
>>>correct calling and it runs perfectly for me.  I was using 
>>>entrezgene.pm CVS version 1.9.
>>>
>>>Keep us posted on your progress.
>>>
>>>BTW, Stefan, you could call Bio::ASN1::EntrezGene with either '-file' 
>>>(bioperl style) or 'file' (I allowed both when I implemented this 
>>>switch I think. I usually just use file, which might explain your note 
>>>in the comment in your script.  I just noticed the comment.
>>>
>>>Mingyi
>>>
>>>Stefan Kirov wrote:
>>>
>>>   
>>>
>>>      
>>>
>>>>Hi Annie,
>>>>Few more things to update:
>>>>Bio::AnnotatableI and Bio::SeqFeatureI.  I believe this is the reason 
>>>>your script does not work. Update also Bio::SeqIO::entrezegene- I 
>>>>added some fixed so you will not see those nasty warning when using 
>>>>strict (nothing critical though). I am not sure we have the same 
>>>>versions for Bio::ASN1::EntrezGene. I have 1.0.7. Where did you get 
>>>>it from (maybe mine is older)? Stefan
>>>>
>>>>Law, Annie wrote:
>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>>>Hi,
>>>>>
>>>>>Thanks for all of the replies.
>>>>>I am using bioperl 1.4 and I have done the following:
>>>>>1. installed  Bio::ASN1::EnztrezGene (using perl Makefile.PL, make, 
>>>>>make test, make install) 2. got a copy of the entrezgene.pm from 
>>>>>bioperl-live and put it in the Bio/SeqIO directory
>>>>>3. copied the Bio::Annotation::DBLink DBLink.pm file and put them in 
>>>>>the corresponding directory
>>>>>4. the Bio::Cluster::SequenceFamily file was already up to date
>>>>>5. also have all the most recent bioperl-live Bio::SeqFeature::Gene 
>>>>>modules
>>>>>
>>>>>I grabbed the ASN file from 
>>>>>ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/ASN/Mammalia/
>>>>>
>>>>>I then wrote a simple perl script which includes:
>>>>>
>>>>>#!/usr/bin/perl -w
>>>>>
>>>>>use strict;
>>>>>use Bio::ASN1::EntrezGene;
>>>>>use Bio::SeqIO;
>>>>>use Bio::Annotation::DBLink;
>>>>>use Bio::Cluster::SequenceFamily;
>>>>>
>>>>>my $file = '/var/lib/mysql/Homo_sapiens';
>>>>>
>>>>>my $seqio = Bio::SeqIO->new(-format => 'entrezgene',
>>>>>                             -file => $file,
>>>>>                             -debug => 'on');
>>>>>
>>>>>my ($gene,$genestructure,$uncaptured) = $seqio->next_seq;
>>>>>
>>>>>After I run this script I get the following errors:
>>>>>
>>>>>Useless use of hash element in void context at 
>>>>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 317.
>>>>>
>>>>>Argument "-trimopt" isn't numeric in numeric eq (==) at 
>>>>>/usr/lib/perl5/site_perl/5.8.0/Bio/ASN1/EntrezGene.pm line 450.
>>>>>
>>>>>Pseudo-hashes are deprecated at 
>>>>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 148.
>>>>>
>>>>>Use of uninitialized value in string ne at 
>>>>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 150.
>>>>>
>>>>>Pseudo-hashes are deprecated at 
>>>>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqIO/entrezgene.pm line 416.
>>>>>
>>>>>Can't locate object method "add_tag_value" via package 
>>>>>"Bio::SeqFeature::Generic" at 
>>>>>/usr/lib/perl5/site_perl/5.8.0/Bio/SeqFeature/Generic.pm line 234.
>>>>>
>>>>>I'm not sure what I am missing?
>>>>>
>>>>>Thanks so much,
>>>>>Annie.
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>   
>>>
>>>      
>>>
>
>  
>

-- 
Stefan Kirov, Ph.D.
University of Tennessee/Oak Ridge National Laboratory
5700 bldg, PO BOX 2008 MS6164
Oak Ridge TN 37831-6164
USA
tel +865 576 5120
fax +865-576-5332
e-mail: skirov at utk.edu
sao at ornl.gov

"And the wars go on with brainwashed pride
For the love of God and our human rights
And all these things are swept aside"



More information about the Bioperl-l mailing list