[Bioperl-l] Errors in my script

Chris Fields cjfields at illinois.edu
Tue May 19 20:30:52 UTC 2009


As pointed out by Kevin, this is very likely a homework problem.  You  
also notably removed the last line from the exception output below  
indicating where the problem derived from.

We don't help with homework (for the obvious reasons).

chris

On May 19, 2009, at 11:54 AM, nandini_bn wrote:

>
> Thanks a lot for ur reply. I tried changing the format to a flag.  
> that worked
> but I am still getting these errors. Could u help me out with these?  
> Thank u
>
> ------------- EXCEPTION: Bio::Root::Exception -------------
> MSG: Could not open s.Genbank: No such file or directory
> STACK: Error::throw
> STACK: Bio::Root::Root::throw /usr/share/perl5/Bio/Root/Root.pm:359
> STACK: Bio::Root::IO::_initialize_io /usr/share/perl5/Bio/Root/IO.pm: 
> 310
> STACK: Bio::SeqIO::_initialize /usr/share/perl5/Bio/SeqIO.pm:454
> STACK: Bio::SeqIO::genbank::_initialize
> /usr/share/perl5/Bio/SeqIO/genbank.pm:202
> STACK: Bio::SeqIO::new /usr/share/perl5/Bio/SeqIO.pm:351
> STACK: Bio::SeqIO::new /usr/share/perl5/Bio/SeqIO.pm:377
> STACK: Bio::SeqIO::newFh /usr/share/perl5/Bio/SeqIO.pm:398
>
>
> manni122 wrote:
>>
>> Hi,
>> it seems that error comes from your line
>>
>> my $conin = Bio::SeqIO->new(-seq => $seqobj,
>>                       -format => 'txt');
>>
>> "txt" is not supported by this module. Try something else like  
>> "fasta".
>>
>> Markus
>>
>>
>> nandini_bn wrote:
>>>
>>> Hi, I have written this script using Bioperl methods but it gives  
>>> me a
>>> lot of errors: the script is as follows
>>> Could u please help me out?
>>> Thanks
>>>
>>>
>>> #! /usr/bin/perl
>>>
>>> use warnings;
>>> use strict;
>>>
>>> #Reading in an alignment file in msf format from the command line,
>>> performing an analysis of the alignment
>>> #Writing the original alignment in fasta format of sequences  
>>> selected by
>>> user
>>> #Storing the consensus sequence as a new sequence object and it's
>>> annotation in genebank format
>>>
>>> #loading the necessary packages
>>> use Bio::Perl;
>>> use Bio::AlignIO;
>>> use Bio::Seq;
>>> use Bio::SeqIO;
>>>
>>> #Reading in of msf file
>>> my $in = Bio::AlignIO->new(-file => $ARGV[0] ,
>>>                           -format => 'msf');
>>>
>>> #The threshold value
>>> my $t = $ARGV[1];
>>> my $aln = $in -> next_aln();
>>>
>>> #some descriptors
>>> my $length = $aln->length();
>>> my $residues = $aln->no_residues();
>>> my $isflush = $aln->is_flush();
>>> my $sequence = $aln->no_sequences();
>>> my $identity = $aln->percentage_identity();
>>> #Consensus sequence
>>> my $consensus = $aln->consensus_string($t);
>>>
>>> #Printing the details of the alignment
>>> print "Length: $length \n";
>>> print "Number of residues: $residues \n";
>>> print "Is flush: $isflush \n";
>>> print "Number of sequences: $sequence \n";
>>> print "Percentage of identity: $identity \n";
>>> print "Consensus string: $consensus \n";
>>>
>>> #Writing out the file in fasta format
>>> my $out = Bio::AlignIO->new(-file => ">$ARGV[2]",
>>>                           -format => 'fasta');
>>>
>>> $out -> write_aln($aln);
>>>
>>> #All ? in the sequence replaced by a X.
>>> $consensus =~s/\?/X/g;
>>>
>>> print "\n$consensus\n";
>>>
>>> #Making a sequence object with annotation
>>> my $seqobj = Bio::PrimarySeq->new( -seq => $consensus,
>>>                                -id => $identity,
>>>                                -organism => $length,
>>>                                -comment => $residues,
>>>                                -alphabet => 'protein');
>>>
>>> #Writing the consensus sequence in swissprot format
>>> my $conin = Bio::SeqIO->new(-seq => $seqobj,
>>>                       -format => 'txt');
>>> my $conout = Bio::SeqIO->new(-file => ">$ARGV[3]",
>>>                       -format => 'Genbank');
>>>
>>> while ( my $seq = $conin->next_seq() )
>>>    {
>>>      $conout->write_seq($seq);
>>>    }
>>>
>>>
>>>
>>>
>>>
>>>
>>> THE ERRORS ARE
>>> Bio::SeqIO: txt cannot be found
>>> Exception
>>> ------------- EXCEPTION: Bio::Root::Exception -------------
>>> MSG: Failed to load module Bio::SeqIO::txt. Can't locate Bio/SeqIO/ 
>>> txt.pm
>>> in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8
>>> /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5
>>> /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at
>>> /usr/share/perl5/Bio/Root/Root.pm line 425, <GEN0> line 82.
>>>
>>> STACK: Error::throw
>>> STACK: Bio::Root::Root::throw /usr/share/perl5/Bio/Root/Root.pm:359
>>> STACK: Bio::Root::Root::_load_module
>>> /usr/share/perl5/Bio/Root/Root.pm:427
>>> STACK: Bio::SeqIO::_load_format_module /usr/share/perl5/Bio/ 
>>> SeqIO.pm:555
>>> STACK: Bio::SeqIO::new /usr/share/perl5/Bio/SeqIO.pm:376
>>> STACK: nb175hw4.pl:60
>>> -----------------------------------------------------------
>>>
>>> For more information about the SeqIO system please see the SeqIO  
>>> docs.
>>> This includes ways of checking for formats at compile time, not  
>>> run time
>>> Can't call method "next_seq" on an undefined value at nb175hw4.pl  
>>> line
>>> 65, <GEN0> line 82.
>>>
>>>
>>>
>>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Errors-in-my-script-tp23611935p23620286.html
> Sent from the Perl - Bioperl-L mailing list archive at Nabble.com.
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l




More information about the Bioperl-l mailing list