From bugzilla-daemon at portal.open-bio.org Fri Jun 1 01:59:55 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Fri, 1 Jun 2007 01:59:55 -0400 Subject: [Bioperl-guts-l] [Bug 2304] Two more methods in Bio/SimpleAlign.pm In-Reply-To: Message-ID: <200706010559.l515xt1H003371@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2304 ------- Comment #1 from online at davemessina.com 2007-06-01 01:59 EST ------- Hi, Thanks for your contribution! I think adding these methods is a great idea. BioPerl 1.4 is no longer being actively developed, though (it's >3 years out of date), so perhaps we could add them to the current version instead? Heikki is the maintainer for SimpleAlign, so he should probably weigh in on this... Dave -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Fri Jun 1 02:42:59 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Fri, 1 Jun 2007 02:42:59 -0400 Subject: [Bioperl-guts-l] [Bug 2304] Two more methods in Bio/SimpleAlign.pm In-Reply-To: Message-ID: <200706010642.l516gxML005554@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2304 ------- Comment #2 from bix at sendu.me.uk 2007-06-01 02:42 EST ------- Rather than two new methods I think this could be better implemented as options to one of the other percentage_identity methods. And isn't there a more appropriate way of getting the alphabet? -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From sendu at dev.open-bio.org Fri Jun 1 04:03:53 2007 From: sendu at dev.open-bio.org (Senduran Balasubramaniam) Date: Fri, 01 Jun 2007 08:03:53 +0000 Subject: [Bioperl-guts-l] bioperl-run/Bio/Tools/Run/Alignment Clustalw.pm, 1.51, 1.52 Message-ID: <200706010803.l5183rml007326@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-run/Bio/Tools/Run/Alignment In directory dev.open-bio.org:/tmp/cvs-serv7300/Bio/Tools/Run/Alignment Modified Files: Clustalw.pm Log Message: reimplemented to use _set_from_args() and _setparams(); documentation corrections; now parses alignment score and stores it Index: Clustalw.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-run/Bio/Tools/Run/Alignment/Clustalw.pm,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** Clustalw.pm 16 Feb 2007 18:30:47 -0000 1.51 --- Clustalw.pm 1 Jun 2007 08:03:51 -0000 1.52 *************** *** 336,339 **** --- 336,340 ---- Jason Stajich jason-AT-bioperl_DOT_org + Sendu Bala bix at sendu.me.uk =head1 APPENDIX *************** *** 348,354 **** package Bio::Tools::Run::Alignment::Clustalw; - use vars qw($AUTOLOAD @ISA $PROGRAM_DIR $PROGRAM_NAME - @CLUSTALW_SWITCHES @CLUSTALW_PARAMS - @OTHER_SWITCHES %OK_FIELD); use strict; use Bio::Seq; --- 349,352 ---- *************** *** 357,385 **** use Bio::AlignIO; use Bio::TreeIO; - use Bio::Root::Root; use Bio::Root::IO; - use Bio::Tools::Run::WrapperBase; ! @ISA = qw(Bio::Root::Root Bio::Tools::Run::WrapperBase); ! BEGIN { ! @CLUSTALW_PARAMS = qw(OUTPUT KTUPLE TOPDIAGS WINDOW PAIRGAP FIXEDGAP ! FLOATGAP MATRIX TYPE TRANSIT DNAMATRIX OUTFILE ! GAPOPEN GAPEXT MAXDIV GAPDIST HGAPRESIDUES PWMATRIX ! PWDNAMATRIX PWGAPOPEN PWGAPEXT SCORE TRANSWEIGHT ! SEED HELIXGAP OUTORDER STRANDGAP LOOPGAP TERMINALGAP ! HELIXENDIN HELIXENDOUT STRANDENDIN STRANDENDOUT PROGRAM ! REPS OUTPUTTREE SEED BOOTLABELS BOOTSTRAP); - @CLUSTALW_SWITCHES = qw(HELP CHECK OPTIONS NEGATIVE NOWEIGHTS ENDGAPS - NOPGAP NOHGAP NOVGAP KIMURA TOSSGAPS - KIMURA TOSSGAPS NJTREE); - $PROGRAM_NAME = 'clustalw'; - $PROGRAM_DIR = $ENV{'CLUSTALDIR'} || $ENV{'CLUSTALWDIR'}; - @OTHER_SWITCHES = qw(QUIET); - # Authorize attribute fields - foreach my $attr ( @CLUSTALW_PARAMS, @CLUSTALW_SWITCHES, - @OTHER_SWITCHES ) { $OK_FIELD{$attr}++; } - } =head2 program_name --- 355,377 ---- use Bio::AlignIO; use Bio::TreeIO; use Bio::Root::IO; ! use base qw(Bio::Root::Root Bio::Tools::Run::WrapperBase); ! our @CLUSTALW_PARAMS = qw(output ktuple topdiags window pairgap fixedgap ! floatgap matrix type transit dnamatrix outfile ! gapopen gapext maxdiv gapdist hgapresidues pwmatrix ! pwdnamatrix pwgapopen pwgapext score transweight ! seed helixgap outorder strandgap loopgap terminalgap ! helixendin helixendout strandendin strandendout program ! reps outputtree seed bootlabels bootstrap); ! ! our @CLUSTALW_SWITCHES = qw(help check options negative noweights endgaps ! nopgap nohgap novgap kimura tossgaps ! kimura tossgaps njtree); ! our @OTHER_SWITCHES = qw(quiet); ! our $PROGRAM_NAME = 'clustalw'; ! our $PROGRAM_DIR = $ENV{'CLUSTALDIR'} || $ENV{'CLUSTALWDIR'}; =head2 program_name *************** *** 415,438 **** my $self = $class->SUPER::new(@args); ! my ($attr, $value); ! while (@args) { ! $attr = shift @args; ! $value = shift @args; ! next if( $attr =~ /^-/ ); # don't want named parameters ! $self->$attr($value); ! } return $self; } - sub AUTOLOAD { - my $self = shift; - my $attr = $AUTOLOAD; - $attr =~ s/.*:://; - $attr = uc $attr; - $self->throw("Unallowed parameter: $attr !") unless $OK_FIELD{$attr}; - $self->{$attr} = shift if @_; - return $self->{$attr}; - } - =head2 version --- 407,418 ---- my $self = $class->SUPER::new(@args); ! $self->_set_from_args(\@args, -methods => [@CLUSTALW_PARAMS, ! @CLUSTALW_SWITCHES, ! @OTHER_SWITCHES], ! -create => 1); ! return $self; } =head2 version *************** *** 475,487 **** my ($temp,$infilename, $seq); my ($attr, $value, $switch); ! $self->io->_io_cleanup(); # Create input file pointer $infilename = $self->_setinput($input); ! if (!$infilename) {$self->throw("Bad input data (sequences need an id ) or less than 2 sequences in $input !");} ! # Create parameter string to pass to clustalw program my $param_string = $self->_setparams(); ! # run clustalw return $self->_run('both', $infilename, $param_string); --- 455,467 ---- my ($temp,$infilename, $seq); my ($attr, $value, $switch); ! $self->io->_io_cleanup(); # Create input file pointer $infilename = $self->_setinput($input); ! $self->throw("Bad input data (sequences need an id) or less than 2 sequences in $input!") unless $infilename; ! # Create parameter string to pass to clustalw program my $param_string = $self->_setparams(); ! # run clustalw return $self->_run('both', $infilename, $param_string); *************** *** 491,502 **** Title : align ! Usage : ! $inputfilename = 't/data/cysprot.fa'; ! $aln = $factory->align($inputfilename); ! or ! $seq_array_ref = \@seq_array; @seq_array is array of Seq objs ! $aln = $factory->align($seq_array_ref); Function: Perform a multiple sequence alignment - Example : Returns : Reference to a SimpleAlign object containing the sequence alignment. --- 471,480 ---- Title : align ! Usage : $inputfilename = 't/data/cysprot.fa'; ! $aln = $factory->align($inputfilename); ! or ! $seq_array_ref = \@seq_array; # @seq_array is array of Seq objs ! $aln = $factory->align($seq_array_ref); Function: Perform a multiple sequence alignment Returns : Reference to a SimpleAlign object containing the sequence alignment. *************** *** 514,529 **** sub align { my ($self,$input) = @_; ! $self->io->_io_cleanup(); # Create input file pointer my $infilename = $self->_setinput($input); ! if (!$infilename) {$self->throw("Bad input data (sequences need an id ) or less than 2 sequences in $input !");} ! # Create parameter string to pass to clustalw program my $param_string = $self->_setparams(); ! # run clustalw ! my $aln = $self->_run('align', $infilename,$param_string); } --- 492,507 ---- sub align { my ($self,$input) = @_; ! $self->io->_io_cleanup(); # Create input file pointer my $infilename = $self->_setinput($input); ! $self->throw("Bad input data (sequences need an id ) or less than 2 sequences in $input !") unless $infilename; ! # Create parameter string to pass to clustalw program my $param_string = $self->_setparams(); ! # run clustalw ! my $aln = $self->_run('align', $infilename, $param_string); } *************** *** 532,541 **** Title : profile_align ! Usage : Function: Perform an alignment of 2 (sub)alignments - Example : Returns : Reference to a SimpleAlign object containing the (super)alignment. Args : Names of 2 files containing the subalignments ! or references to 2 Bio::SimpleAlign objects. Throws an exception if arguments are not either strings (eg filenames) --- 510,520 ---- Title : profile_align ! Usage : $aln = $factory->profile_align(@simple_aligns); ! or ! $aln = $factory->profile_align(@subalignment_filenames); Function: Perform an alignment of 2 (sub)alignments Returns : Reference to a SimpleAlign object containing the (super)alignment. Args : Names of 2 files containing the subalignments ! or references to 2 Bio::SimpleAlign objects. Throws an exception if arguments are not either strings (eg filenames) *************** *** 546,562 **** sub profile_align { my ($self,$input1,$input2) = @_; ! $self->io->_io_cleanup(); # Create input file pointer ! my $infilename1 = $self->_setinput($input1,1); ! my $infilename2 = $self->_setinput($input2,2); if (!$infilename1 || !$infilename2) {$self->throw("Bad input data: $input1 or $input2 !");} unless ( -e $infilename1 and -e $infilename2) {$self->throw("Bad input file: $input1 or $input2 !");} ! # Create parameter string to pass to clustalw program my $param_string = $self->_setparams(); # run clustalw ! my $aln = $self->_run('profile-aln', $infilename1, ! $infilename2, $param_string); } --- 525,542 ---- sub profile_align { my ($self,$input1,$input2) = @_; ! $self->io->_io_cleanup(); + # Create input file pointer ! my $infilename1 = $self->_setinput($input1, 1); ! my $infilename2 = $self->_setinput($input2, 2); if (!$infilename1 || !$infilename2) {$self->throw("Bad input data: $input1 or $input2 !");} unless ( -e $infilename1 and -e $infilename2) {$self->throw("Bad input file: $input1 or $input2 !");} ! # Create parameter string to pass to clustalw program my $param_string = $self->_setparams(); + # run clustalw ! my $aln = $self->_run('profile-aln', $infilename1, $infilename2, $param_string); } *************** *** 571,581 **** 'bootlabels'=> 'nodes', 'quiet' => 1); ! $factory = Bio::Tools::Run::Alignment::Clustalw->new(@params); ! $tree_obj = $factory->tree($aln_obj); ! or ! $tree_obj = $factory->tree($treefilename); ! Function: Returns : Bio::TreeIO object ! Args : =cut --- 551,561 ---- 'bootlabels'=> 'nodes', 'quiet' => 1); ! $factory = Bio::Tools::Run::Alignment::Clustalw->new(@params); ! $tree_obj = $factory->tree($aln_obj); ! or ! $tree_obj = $factory->tree($treefilename); ! Function: Retrieve a tree corresponding to the input Returns : Bio::TreeIO object ! Args : Bio::SimpleAlign or filename of a tree =cut *************** *** 606,610 **** those regions along a sliding window who's tree length differs significantly from the total average tree length. ! Returns : list of SimpleAlign objects Args : first argument as per run(), optional second argument to specify the size of the sliding window (default 5 bp) and optional third --- 586,590 ---- those regions along a sliding window who's tree length differs significantly from the total average tree length. ! Returns : list of Bio::SimpleAlign objects Args : first argument as per run(), optional second argument to specify the size of the sliding window (default 5 bp) and optional third *************** *** 660,667 **** =head2 _run ! Title : _run ! Usage : Internal function, not to be called directly ! Function: makes actual system call to clustalw program ! Example : Returns : nothing; clustalw output is written to a temporary file --- 640,646 ---- =head2 _run ! Title : _run ! Usage : Internal function, not to be called directly ! Function: makes actual system call to clustalw program Returns : nothing; clustalw output is written to a temporary file *************** *** 669,714 **** and hash of parameters to be passed to clustalw - =cut sub _run { ! my ($self,$command,$infile1,$infile2,$param_string) = @_; my ($instring, $tree); if ($command =~ /align|both/) { ! ! if( $^O eq 'dec_osf' ) { ! $instring = "$infile1"; ! $command = ''; ! } else { ! $instring = " -infile=$infile1"; ! } ! $param_string .= " $infile2"; } ! if ($command =~ /profile/) { ! $instring = "-profile1=$infile1 -profile2=$infile2"; ! chmod 0777, $infile1,$infile2; $command = '-profile'; } ! if ($command =~ /tree/) { if( $^O eq 'dec_osf' ) { ! $instring = "$infile1"; ! $command = ''; ! } else { ! $instring = " $infile1"; ! } $param_string .= " $infile2"; ! $self->debug( "Program ".$self->executable."\n"); my $commandstring = $self->executable."$instring"."$param_string"; $self->debug( "clustal command = $commandstring"); ! my $status = system($commandstring); ! unless( $status == 0 ) { ! $self->warn( "Clustalw call ($commandstring) crashed: $? \n"); ! return undef; ! } ! return $self->_get_tree($infile1, $param_string); } --- 648,697 ---- and hash of parameters to be passed to clustalw =cut sub _run { ! my ($self, $command, $infile1, $infile2, $param_string) = @_; ! my ($instring, $tree); + my $quiet = $self->quiet() || $self->verbose() < 0; if ($command =~ /align|both/) { ! if ($^O eq 'dec_osf') { ! $instring = $infile1; ! $command = ''; ! } ! else { ! $instring = " -infile=$infile1"; ! } ! $param_string .= " $infile2"; } ! if ($command =~ /profile/) { ! $instring = "-profile1=$infile1 -profile2=$infile2"; ! chmod 0777, $infile1, $infile2; $command = '-profile'; } ! if ($command =~ /tree/) { if( $^O eq 'dec_osf' ) { ! $instring = $infile1; ! $command = ''; ! } ! else { ! $instring = " $infile1"; ! } $param_string .= " $infile2"; ! $self->debug( "Program ".$self->executable."\n"); my $commandstring = $self->executable."$instring"."$param_string"; + $commandstring .= ' 1>/dev/null' if $quiet; $self->debug( "clustal command = $commandstring"); ! ! my $status = system($commandstring); ! unless( $status == 0 ) { ! $self->warn( "Clustalw call ($commandstring) crashed: $? \n"); ! return undef; ! } ! return $self->_get_tree($infile1, $param_string); } *************** *** 716,741 **** my $output = $self->output || 'gcg'; $self->debug( "Program ".$self->executable."\n"); ! my $commandstring = $self->executable." $command"." $instring". ! " -output=$output". " $param_string"; ! $self->debug( "clustal command = $commandstring"); ! my $status = system($commandstring); ! unless( $status == 0 ) { ! $self->warn( "Clustalw call ($commandstring) crashed: $? \n"); ! return undef; } ! my $outfile = $self->outfile(); ! # retrieve alignment (Note: MSF format for AlignIO = GCG format of clustalw) - my $format = $output =~ /gcg/i ? 'msf' : $output; ! if( $format =~ /clustal/i ) { ! $format = 'clustalw'; # force clustalw incase 'clustal' is requested } ! my $in = Bio::AlignIO->new(-file => $outfile, ! -format=> $format); my $aln = $in->next_aln(); $in->close; if ($command eq 'both') { --- 699,729 ---- my $output = $self->output || 'gcg'; $self->debug( "Program ".$self->executable."\n"); ! my $commandstring = $self->executable." $command"." $instring"." -output=$output". " $param_string"; $self->debug( "clustal command = $commandstring"); ! ! open(my $pipe, "$commandstring |") || $self->throw("ClustalW call ($commandstring) failed to start: $? | $!"); ! my $score; ! while (<$pipe>) { ! print unless $quiet; ! # Kevin Brown suggested the following regex, though it matches multiple ! # times: we pick up the last one ! $score = $1 if ($_ =~ /Score:(\d+)/); ! # This one is printed at the end and seems the most appropriate to pick ! # up; we include the above regex incase 'Alignment Score' isn't given ! $score = $1 if ($_ =~ /Alignment Score (\d+)/); } ! close($pipe) || ($self->throw("ClustalW call ($commandstring) crashed: $?")); ! my $outfile = $self->outfile(); ! # retrieve alignment (Note: MSF format for AlignIO = GCG format of clustalw) my $format = $output =~ /gcg/i ? 'msf' : $output; ! if ($format =~ /clustal/i) { ! $format = 'clustalw'; # force clustalw incase 'clustal' is requested } ! my $in = Bio::AlignIO->new(-file => $outfile, -format=> $format); my $aln = $in->next_aln(); $in->close; + $aln->score($score); if ($command eq 'both') { *************** *** 746,753 **** # Replace file suffix with dnd to find name of dendrogram file(s) to delete unless ( $self->save_tempfiles ) { ! foreach my $f ( $infile1, $infile2 ) { ! $f =~ s/\.[^\.]*$// ; ! unlink $f .'.dnd' if( $f ne '' ); ! } } --- 734,741 ---- # Replace file suffix with dnd to find name of dendrogram file(s) to delete unless ( $self->save_tempfiles ) { ! foreach my $f ($infile1, $infile2) { ! $f =~ s/\.[^\.]*$// ; ! unlink $f .'.dnd' if ($f ne ''); ! } } *************** *** 761,768 **** my ($self, $treefile, $param_string) = @_; ! if ($param_string =~ /-bootstrap/ ) { $treefile .= '.phb'; } ! elsif( $param_string =~ /-tree/ ) { $treefile .= '.ph'; } --- 749,756 ---- my ($self, $treefile, $param_string) = @_; ! if ($param_string =~ /-bootstrap/) { $treefile .= '.phb'; } ! elsif ($param_string =~ /-tree/) { $treefile .= '.ph'; } *************** *** 787,798 **** =head2 _setinput() ! Title : _setinput ! Usage : Internal function, not to be called directly ! Function: Create input file for clustalw program ! Example : Returns : name of file containing clustalw data input Args : Seq or Align object reference or input file name - =cut --- 775,784 ---- =head2 _setinput() ! Title : _setinput ! Usage : Internal function, not to be called directly ! Function: Create input file for clustalw program Returns : name of file containing clustalw data input Args : Seq or Align object reference or input file name =cut *************** *** 800,868 **** my ($self, $input, $suffix) = @_; my ($infilename, $seq, $temp, $tfh); ! # suffix is used to distinguish alignment files If $input is not a # reference it better be the name of a file with the sequence/ ! ! # alignment data... ! unless (ref $input) { ! # check that file exists or throw ! $infilename = $input; ! unless (-e $input) {return 0;} ! return $infilename; } ! ! # $input may be an array of BioSeq objects... if (ref($input) eq "ARRAY") { # Open temporary file for both reading & writing of BioSeq array ! ($tfh,$infilename) = $self->io->tempfile(-dir=>$self->tempdir); ! $temp = Bio::SeqIO->new('-fh'=>$tfh, ! '-format' =>'Fasta'); ! # Need at least 2 seqs for alignment ! unless (scalar(@$input) > 1) {return 0;} ! ! foreach $seq (@$input) { ! unless (defined $seq && ! $seq->isa("Bio::PrimarySeqI") and $seq->id() ) ! {return 0;} ! $temp->write_seq($seq); ! } ! $temp->close(); ! close($tfh); ! undef $tfh; ! return $infilename; } ! # $input may be a SimpleAlign object. elsif (ref($input) eq "Bio::SimpleAlign") { ! # Open temporary file for both reading & writing of SimpleAlign object ! ($tfh,$infilename) = $self->io->tempfile(-dir=>$self->tempdir); ! $temp = Bio::AlignIO->new('-fh'=> $tfh, ! '-format' => 'fasta'); ! $temp->write_aln($input); ! close($tfh); ! undef $tfh; ! return $infilename; } ! ! # or $input may be a single BioSeq object (to be added to a previous alignment) elsif (ref($input) && $input->isa("Bio::PrimarySeqI") && $suffix==2) { ! # Open temporary file for both reading & writing of BioSeq object ! ($tfh,$infilename) = $self->io->tempfile(); ! $temp = Bio::SeqIO->new(-fh=> $tfh, '-format' =>'Fasta'); ! $temp->write_seq($input); ! close($tfh); ! undef $tfh; ! return $infilename; } ! return 0; } =head2 _setparams() ! Title : _setparams ! Usage : Internal function, not to be called directly ! Function: Create parameter inputs for clustalw program ! Example : Returns : parameter string to be passed to clustalw during align or profile_align --- 786,850 ---- my ($self, $input, $suffix) = @_; my ($infilename, $seq, $temp, $tfh); ! # suffix is used to distinguish alignment files If $input is not a # reference it better be the name of a file with the sequence/ ! ! # alignment data... unless (ref $input) { ! # check that file exists or throw ! $infilename = $input; ! return unless -e $input; ! return $infilename; } ! ! # $input may be an array of BioSeq objects... if (ref($input) eq "ARRAY") { # Open temporary file for both reading & writing of BioSeq array ! ($tfh,$infilename) = $self->io->tempfile(-dir=>$self->tempdir); ! $temp = Bio::SeqIO->new('-fh'=>$tfh, '-format' =>'Fasta'); ! # Need at least 2 seqs for alignment ! return unless (scalar(@$input) > 1); ! ! foreach $seq (@$input) { ! return unless (defined $seq && $seq->isa("Bio::PrimarySeqI") and $seq->id()); ! $temp->write_seq($seq); ! } ! $temp->close(); ! close($tfh); ! undef $tfh; ! return $infilename; } ! ! # $input may be a SimpleAlign object. elsif (ref($input) eq "Bio::SimpleAlign") { ! # Open temporary file for both reading & writing of SimpleAlign object ! ($tfh,$infilename) = $self->io->tempfile(-dir=>$self->tempdir); ! $temp = Bio::AlignIO->new('-fh'=> $tfh, '-format' => 'fasta'); ! $temp->write_aln($input); ! close($tfh); ! undef $tfh; ! return $infilename; } ! ! # or $input may be a single BioSeq object (to be added to a previous alignment) elsif (ref($input) && $input->isa("Bio::PrimarySeqI") && $suffix==2) { ! # Open temporary file for both reading & writing of BioSeq object ! ($tfh,$infilename) = $self->io->tempfile(); ! $temp = Bio::SeqIO->new(-fh=> $tfh, '-format' =>'Fasta'); ! $temp->write_seq($input); ! close($tfh); ! undef $tfh; ! return $infilename; } ! ! return; } =head2 _setparams() ! Title : _setparams ! Usage : Internal function, not to be called directly ! Function: Create parameter inputs for clustalw program Returns : parameter string to be passed to clustalw during align or profile_align *************** *** 872,917 **** sub _setparams { ! my ($attr, $value, $self); ! ! $self = shift; ! ! my $param_string = ""; ! for $attr ( @CLUSTALW_PARAMS ) { ! $value = $self->$attr(); ! next unless (defined $value); ! my $attr_key = lc $attr; #put params in format expected by clustalw ! $attr_key = ' -'.$attr_key; ! $param_string .= $attr_key.'='.$value; ! } ! ! for $attr ( @CLUSTALW_SWITCHES) { ! $value = $self->$attr(); ! next unless ($value); ! my $attr_key = lc $attr; #put switches in format expected by clustalw ! $attr_key = ' -'.$attr_key; ! $param_string .= $attr_key ; ! # $attr_key = '-'.$attr_key; ! # $param_string .= '"'.$attr_key.'",'; ! } ! ! # Set default output file if no explicit output file selected unless ($param_string =~ /outfile/) { ! my ($tfh, $outfile) = $self->io->tempfile(-dir=>$self->tempdir()); ! close($tfh); ! undef $tfh; ! $self->outfile($outfile); ! $param_string .= " -outfile=$outfile" ; } ! if ($self->quiet() || $self->verbose() < 0) { ! if ($^O =~ /mswin/i) { $param_string .= ' >'.$self->outfile().'out'; } ! elsif ($^O =~ /unix|linux|darwin/i) { $param_string .= ' >/dev/null 2>/dev/null'; } ! else { ! $self->warn("unknown os $^O\n"); ! } ! } return $param_string; } ! 1; # Needed to keep compiler happy --- 854,878 ---- sub _setparams { ! my $self = shift; ! ! my $param_string = $self->SUPER::_setparams(-params => \@CLUSTALW_PARAMS, ! -switches => \@CLUSTALW_SWITCHES, ! -dash => 1, ! -lc => 1, ! -join => '='); ! ! # Set default output file if no explicit output file selected unless ($param_string =~ /outfile/) { ! my ($tfh, $outfile) = $self->io->tempfile(-dir => $self->tempdir()); ! close($tfh); ! undef $tfh; ! $self->outfile($outfile); ! $param_string .= " -outfile=$outfile" ; } ! $param_string .= ' 2>&1'; return $param_string; } ! 1; From sendu at dev.open-bio.org Fri Jun 1 04:04:23 2007 From: sendu at dev.open-bio.org (Senduran Balasubramaniam) Date: Fri, 01 Jun 2007 08:04:23 +0000 Subject: [Bioperl-guts-l] bioperl-run/t Clustalw.t,1.35,1.36 Message-ID: <200706010804.l5184N63007360@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-run/t In directory dev.open-bio.org:/tmp/cvs-serv7334/t Modified Files: Clustalw.t Log Message: tidy up; test that score is set on the alignment Index: Clustalw.t =================================================================== RCS file: /home/repository/bioperl/bioperl-run/t/Clustalw.t,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** Clustalw.t 13 Dec 2006 19:08:15 -0000 1.35 --- Clustalw.t 1 Jun 2007 08:04:21 -0000 1.36 *************** *** 6,14 **** BEGIN { - # Things to do ASAP once the script is run - # even before anything else in the file is parsed - #use vars qw($NUMTESTS $DEBUG $error); - #$DEBUG = $ENV{'BIOIPERLDEBUG'} || 0; - # Use installed Test module, otherwise fall back # to copy of Test.pm located in the t dir --- 6,9 ---- *************** *** 18,30 **** } - # Currently no errors - #$error = 0; - # Setup Test::More and plan the number of tests ! use Test::More tests=>42; - # Use modules that are needed in this test that are from - # any of the Bioperl packages: Bioperl-core, Bioperl-run ... etc - # use_ok(''); use_ok('Bio::Tools::Run::Alignment::Clustalw'); use_ok('Bio::SimpleAlign'); --- 13,19 ---- } # Setup Test::More and plan the number of tests ! use Test::More tests => 43; use_ok('Bio::Tools::Run::Alignment::Clustalw'); use_ok('Bio::SimpleAlign'); *************** *** 43,56 **** ok( -e $profile2, 'Found profile2 file' ); - # setup output files etc - # none in this test - # setup global objects that are to be used in more than one test # Also test they were initialised correctly ! my @params = ( ! 'ktuple' => 3, ! 'quiet' => 1, ! #-verbose => $verbose, ! ); my $factory = Bio::Tools::Run::Alignment::Clustalw->new(@params); isa_ok( $factory, 'Bio::Tools::Run::Alignment::Clustalw'); --- 32,38 ---- ok( -e $profile2, 'Found profile2 file' ); # setup global objects that are to be used in more than one test # Also test they were initialised correctly ! my @params = ('ktuple' => 3, 'quiet' => 1); my $factory = Bio::Tools::Run::Alignment::Clustalw->new(@params); isa_ok( $factory, 'Bio::Tools::Run::Alignment::Clustalw'); *************** *** 65,79 **** is( $factory->program_name(), 'clustalw', 'Correct exe default name' ); - # block of tests to skip if you know the tests will fail - # under some condition. E.g.: - # Need network access, - # Wont work on particular OS, - # Cant find the exectuable - # DO NOT just skip tests that seem to fail for an unknown reason SKIP: { ! # condition used to skip this block of tests ! #skip($why, $how_many_in_block); ! skip("Couldn't find the executable", 16) ! unless defined $factory->executable(); # test all factory methods dependent on finding the executable --- 47,52 ---- is( $factory->program_name(), 'clustalw', 'Correct exe default name' ); SKIP: { ! skip("Couldn't find the executable", 16) unless defined $factory->executable(); # test all factory methods dependent on finding the executable *************** *** 91,100 **** isa_ok( $aln, 'Bio::SimpleAlign'); is( $aln->no_sequences, 7, 'Correct number of seqs returned' ); # test execution using an array of Seq objects ! my $str = Bio::SeqIO->new( ! '-file' => $inputfilename, ! '-format' => 'Fasta', ! ); my @seq_array =(); while ( my $seq = $str->next_seq() ) { --- 64,71 ---- isa_ok( $aln, 'Bio::SimpleAlign'); is( $aln->no_sequences, 7, 'Correct number of seqs returned' ); + is $aln->score, 16047, 'Score'; # test execution using an array of Seq objects ! my $str = Bio::SeqIO->new('-file' => $inputfilename, '-format' => 'Fasta'); my @seq_array =(); while ( my $seq = $str->next_seq() ) { From lapp at dev.open-bio.org Sat Jun 2 21:57:05 2007 From: lapp at dev.open-bio.org (Hilmar Lapp) Date: Sun, 03 Jun 2007 01:57:05 +0000 Subject: [Bioperl-guts-l] bioperl-db/Bio/DB DBContextI.pm, 1.3, 1.4 SimpleDBContext.pm, 1.8, 1.9 Message-ID: <200706030157.l531v5Ea010370@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-db/Bio/DB In directory dev.open-bio.org:/tmp/cvs-serv10347/Bio/DB Modified Files: DBContextI.pm SimpleDBContext.pm Log Message: Adding support for schemas in PostgreSQL. Though I think this should work, it is not tested yet. Index: SimpleDBContext.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-db/Bio/DB/SimpleDBContext.pm,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** SimpleDBContext.pm 4 Jul 2006 04:38:07 -0000 1.8 --- SimpleDBContext.pm 3 Jun 2007 01:57:03 -0000 1.9 *************** *** 106,109 **** --- 106,112 ---- if supplied, other parameters will not change or add to the value (see method dsn()) + -schema the schema under which the database tables + reside, if the driver needs this (for example, + for PostgreSQL) =cut *************** *** 120,123 **** --- 123,127 ---- $password, $port, + $schema, ) = $self->_rearrange([qw(DSN DBNAME *************** *** 127,130 **** --- 131,135 ---- PASS PORT + SCHEMA )], at args); *************** *** 136,139 **** --- 141,145 ---- $self->password($password) if defined($password); $self->port($port) if defined($port); + $self->schema($schema) if defined($schema); return $self; } *************** *** 365,367 **** --- 371,392 ---- } + =head2 schema + + Title : schema + Usage : $dbc->schema($newval) + Function: Get/set the schema in which the database tables reside. + Example : + Returns : value of schema (a scalar) + Args : on set, new value (a scalar or undef, optional) + + + =cut + + sub schema{ + my $self = shift; + + return $self->{'schema'} = shift if @_; + return $self->{'schema'}; + } + 1; Index: DBContextI.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-db/Bio/DB/DBContextI.pm,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DBContextI.pm 26 Aug 2005 19:34:14 -0000 1.3 --- DBContextI.pm 3 Jun 2007 01:57:03 -0000 1.4 *************** *** 246,248 **** --- 246,278 ---- } + =head2 schema + + Title : schema + Usage : $dbc->schema($newval) + Function: Get/set the schema in which the database tables reside. + + A schema is typically equivalent to a namespace for a + collection of tables within a database. In Oracle, the + notion of a schema is synonymous with that of the user (all + database objects of a user belong to the schema of the same + name as the user) and hence can be omitted. In PostgreSQL, + since v7.4 schemas can delineate collections of tables + within a database (which in concept is more similar to a + user in Oracle). + + For most drivers and database instances this will not be + needed. + + Example : + Returns : value of schema (a scalar) + Args : on set, new value (a scalar or undef, optional) + + + =cut + + sub schema{ + my ($self, at args) = @_; + $self->throw_not_implemented(); + } + 1; From lapp at dev.open-bio.org Sat Jun 2 21:57:05 2007 From: lapp at dev.open-bio.org (Hilmar Lapp) Date: Sun, 03 Jun 2007 01:57:05 +0000 Subject: [Bioperl-guts-l] bioperl-db/scripts/biosql load_ontology.pl, 1.11, 1.12 load_seqdatabase.pl, 1.24, 1.25 Message-ID: <200706030157.l531v5aT010377@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-db/scripts/biosql In directory dev.open-bio.org:/tmp/cvs-serv10347/scripts/biosql Modified Files: load_ontology.pl load_seqdatabase.pl Log Message: Adding support for schemas in PostgreSQL. Though I think this should work, it is not tested yet. Index: load_ontology.pl =================================================================== RCS file: /home/repository/bioperl/bioperl-db/scripts/biosql/load_ontology.pl,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** load_ontology.pl 24 Sep 2005 04:02:25 -0000 1.11 --- load_ontology.pl 3 Jun 2007 01:57:03 -0000 1.12 *************** *** 107,110 **** --- 107,117 ---- being used. + =item --schema schemaname + + The schema under which the BioSQL tables reside in the database. For + Oracle and MySQL this is synonymous with the user, and won't have an + effect. PostgreSQL since v7.4 supports schemas as the namespace for + collections of tables within a database. + =item --initrc paramfile *************** *** 361,364 **** --- 368,372 ---- my $driver; my $dbpass; + my $schema; my $format = 'goflat'; my $fmtargs = ''; *************** *** 409,412 **** --- 417,421 ---- 'dbpass:s' => \$dbpass, 'dsn=s' => \$dsn, + 'schema=s' => \$schema, 'format:s' => \$format, 'fmtargs=s' => \$fmtargs, *************** *** 506,509 **** --- 515,519 ---- -pass => $dbpass, -dsn => $dsn, + -schema => $schema, -initrc => $initrc, ); Index: load_seqdatabase.pl =================================================================== RCS file: /home/repository/bioperl/bioperl-db/scripts/biosql/load_seqdatabase.pl,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** load_seqdatabase.pl 19 Jan 2006 21:34:29 -0000 1.24 --- load_seqdatabase.pl 3 Jun 2007 01:57:03 -0000 1.25 *************** *** 87,90 **** --- 87,97 ---- being used. + =item --schema schemaname + + The schema under which the BioSQL tables reside in the database. For + Oracle and MySQL this is synonymous with the user, and won't have an + effect. PostgreSQL since v7.4 supports schemas as the namespace for + collections of tables within a database. + =item --initrc paramfile *************** *** 348,351 **** --- 355,359 ---- my $driver; my $dbpass; + my $schema; my $format = 'genbank'; my $fmtargs = ''; *************** *** 396,399 **** --- 404,408 ---- 'dbpass=s' => \$dbpass, 'dsn=s' => \$dsn, + 'schema=s' => \$schema, 'format=s' => \$format, 'fmtargs=s' => \$fmtargs, *************** *** 508,511 **** --- 517,521 ---- -pass => $dbpass, -dsn => $dsn, + -schema => $schema, -initrc => $initrc, ); From lapp at dev.open-bio.org Sat Jun 2 21:57:05 2007 From: lapp at dev.open-bio.org (Hilmar Lapp) Date: Sun, 03 Jun 2007 01:57:05 +0000 Subject: [Bioperl-guts-l] bioperl-db/Bio/DB/DBI Pg.pm,1.4,1.5 Message-ID: <200706030157.l531v5tS010374@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-db/Bio/DB/DBI In directory dev.open-bio.org:/tmp/cvs-serv10347/Bio/DB/DBI Modified Files: Pg.pm Log Message: Adding support for schemas in PostgreSQL. Though I think this should work, it is not tested yet. Index: Pg.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-db/Bio/DB/DBI/Pg.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Pg.pm 4 Jul 2006 04:38:07 -0000 1.4 --- Pg.pm 3 Jun 2007 01:57:03 -0000 1.5 *************** *** 227,229 **** --- 227,263 ---- } + =head2 new_connection + + Title : new_connection + Usage : + Function: Obtains a new connection handle to the database represented by the + the DBContextI object, passing additional args to the DBI->connect() + method. + + We need to override this here in order to support setting a + schema for PostgreSQL. + + Example : + Returns : an open DBI database handle + Args : A Bio::DB::DBContextI implementing object. Additional hashref + parameter to pass to DBI->connect(). + + + =cut + + sub new_connection{ + my $self = shift; + my ($dbc) = @_; # we don't need the parameter hash here + + my $dbh = $self->SUPER::new_connection(@_); + if ($dbc->schema) { + my $rv = $dbh->do("SET search_path TO ".$dbc->schema().", public"); + if (!$rv) { + $self->warn("Failed to add schema '".$dbc->schema() + ."' to search path; is the server < v7.4?"); + } + } + return $dbh; + } + 1; From lstein at dev.open-bio.org Sun Jun 3 17:19:22 2007 From: lstein at dev.open-bio.org (Lincoln Stein) Date: Sun, 03 Jun 2007 21:19:22 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/Graphics Panel.pm,1.135,1.136 Message-ID: <200706032119.l53LJM29013458@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/Graphics In directory dev.open-bio.org:/tmp/cvs-serv13442/Bio/Graphics Modified Files: Panel.pm Log Message: added optional debug statements to the xyplot glyph Index: Panel.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Graphics/Panel.pm,v retrieving revision 1.135 retrieving revision 1.136 diff -C2 -d -r1.135 -r1.136 *** Panel.pm 23 May 2007 22:42:20 -0000 1.135 --- Panel.pm 3 Jun 2007 21:19:20 -0000 1.136 *************** *** 498,502 **** ); my %translation_table; ! for my $name ('white','black',keys %COLORS) { my $idx = $gd->colorAllocate(@{$COLORS{$name}}); $translation_table{$name} = $idx; --- 498,502 ---- ); my %translation_table; ! for my $name (keys %COLORS) { my $idx = $gd->colorAllocate(@{$COLORS{$name}}); $translation_table{$name} = $idx; From lstein at dev.open-bio.org Sun Jun 3 17:19:22 2007 From: lstein at dev.open-bio.org (Lincoln Stein) Date: Sun, 03 Jun 2007 21:19:22 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/Graphics/Glyph xyplot.pm, 1.33, 1.34 Message-ID: <200706032119.l53LJM9R013461@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/Graphics/Glyph In directory dev.open-bio.org:/tmp/cvs-serv13442/Bio/Graphics/Glyph Modified Files: xyplot.pm Log Message: added optional debug statements to the xyplot glyph Index: xyplot.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Graphics/Glyph/xyplot.pm,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** xyplot.pm 23 May 2007 22:42:20 -0000 1.33 --- xyplot.pm 3 Jun 2007 21:19:20 -0000 1.34 *************** *** 9,12 **** --- 9,14 ---- our $VERSION = ${Bio::Root::Version::VERSION}; + use constant DEBUG=>0; + my %SYMBOLS = ( triangle => \&draw_triangle, *************** *** 106,109 **** --- 108,112 ---- next unless defined $s; $_->{_y_position} = $self->score2position($s); + warn "y_position = $_->{_y_position}" if DEBUG; } my $type = $self->option('graph_type') || $self->option('graphtype') || 'boxes'; *************** *** 155,161 **** else { ! warn "score = $score, _top = $self->{_top}, _bottom = $self->{_bottom}, max = $self->{_max_score}"; my $position = ($score-$self->{_min_score}) * $self->{_scale}; ! warn "position =$position"; return $self->{_bottom} - $position; } --- 158,164 ---- else { ! warn "score = $score, _top = $self->{_top}, _bottom = $self->{_bottom}, max = $self->{_max_score}, min=$self->{_min_score}" if DEBUG; my $position = ($score-$self->{_min_score}) * $self->{_scale}; ! warn "position =$position" if DEBUG; return $self->{_bottom} - $position; } *************** *** 168,172 **** return -min10(-$a) if $a<0; return max10($a*10)/10 if $a < 1; ! my $l=int(log10($a)); $l = 10**$l; --- 171,175 ---- return -min10(-$a) if $a<0; return max10($a*10)/10 if $a < 1; ! my $l=int(log10($a)); $l = 10**$l; *************** *** 180,184 **** return -max10(-$a) if $a<0; return min10($a*10)/10 if $a < 1; ! my $l=int(log10($a)); $l = 10**$l; --- 183,187 ---- return -max10(-$a) if $a<0; return min10($a*10)/10 if $a < 1; ! my $l=int(log10($a)); $l = 10**$l; *************** *** 275,279 **** # connect to center positions of each interval my $first_part = shift @parts; - # my ($x1,$x2) = ($first_part->{left},$first_part->{left}+$first_part->{width}-1); my ($x1,$y1,$x2,$y2) = $first_part->calculate_boundaries($left,$top); my $current_x = ($x1+$x2)/2; --- 278,281 ---- *************** *** 281,285 **** for my $part (@parts) { - # ($x1,$x2) = ($part->{left},$part->{left}+$part->{width}-1); ($x1,$y1,$x2,$y2) = $part->calculate_boundaries($left,$top); my $next_x = ($x1+$x2)/2; --- 283,286 ---- *************** *** 307,311 **** for my $part (@parts) { - # my ($x1,$x2) = ($part->{left},$part->{left}+$part->{width}-1); my ($x1,$y1,$x2,$y2) = $part->calculate_boundaries($left,$top); my $x = ($x1+$x2)/2; --- 308,311 ---- From bugzilla-daemon at portal.open-bio.org Tue Jun 5 08:49:50 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Tue, 5 Jun 2007 08:49:50 -0400 Subject: [Bioperl-guts-l] [Bug 2305] New: Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4 Message-ID: http://bugzilla.open-bio.org/show_bug.cgi?id=2305 Summary: Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4 Product: BioPerl Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Bio::SeqIO AssignedTo: bioperl-guts-l at bioperl.org ReportedBy: mmokrejs at ribosome.natur.cuni.cz $ bp_seqconvert.pl --from genbank --to embl < ~/tmp/pGL3R.gb > ~/tmp/pGL3R.embl Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4. -------------------- WARNING --------------------- MSG: cannot see new qualifier in feature misc_feature: 184, 190, 1 --------------------------------------------------- -------------------- WARNING --------------------- MSG: Protein sequence found; EMBL is a nucleotide format. --------------------------------------------------- $ But, the file is a nucleotide file. :( I had some cvs version of bioperl installed, so lets see what bioperl-1.5.1 does: $ bp_seqconvert.pl --from genbank --to embl < ~/tmp/pGL3R.gb > ~/tmp/pGL3R.embl Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/vendor_perl/5.8.8/Bio/SeqIO/genbank.pm line 354, line 4. Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/vendor_perl/5.8.8/Bio/SeqIO/genbank.pm line 1241, line 6. Use of uninitialized value in string eq at /usr/lib/perl5/vendor_perl/5.8.8/Bio/SeqIO/genbank.pm line 1306, line 7. Use of uninitialized value in string eq at /usr/lib/perl5/vendor_perl/5.8.8/Bio/SeqIO/genbank.pm line 1319, line 7. -------------------- WARNING --------------------- MSG: cannot see new qualifier in feature misc_feature: 184, 190, 1 --------------------------------------------------- Use of uninitialized value in concatenation (.) or string at /usr/lib/perl5/vendor_perl/5.8.8/Bio/SeqIO/embl.pm line 531, line 161. Use of uninitialized value in join or string at /usr/lib/perl5/vendor_perl/5.8.8/Bio/SeqIO/embl.pm line 539, line 161. $ -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Tue Jun 5 08:50:06 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Tue, 5 Jun 2007 08:50:06 -0400 Subject: [Bioperl-guts-l] [Bug 2305] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4 In-Reply-To: Message-ID: <200706051250.l55Co6fR026017@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2305 ------- Comment #1 from mmokrejs at ribosome.natur.cuni.cz 2007-06-05 08:50 EST ------- Created an attachment (id=663) --> (http://bugzilla.open-bio.org/attachment.cgi?id=663&action=view) pGL3R.gb -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From cjfields at dev.open-bio.org Tue Jun 5 11:07:44 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Tue, 05 Jun 2007 15:07:44 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/Root RootI.pm,1.77,1.78 Message-ID: <200706051507.l55F7i8O018454@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/Root In directory dev.open-bio.org:/tmp/cvs-serv18429 Modified Files: RootI.pm Log Message: prettify verbose warnings a little more Index: RootI.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Root/RootI.pm,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -d -r1.77 -r1.78 *** RootI.pm 25 May 2007 10:10:39 -0000 1.77 --- RootI.pm 5 Jun 2007 15:07:42 -0000 1.78 *************** *** 181,187 **** } elsif( $verbose == 1 ) { my $out = "\n-------------------- WARNING ---------------------\n". ! "MSG: ".$string."\n"; ! $out .= $self->stack_trace_dump; ! print STDERR $out; return; --- 181,186 ---- } elsif( $verbose == 1 ) { my $out = "\n-------------------- WARNING ---------------------\n". ! "MSG: $string\n".$self->stack_trace_dump. ! "---------------------------------------------------\n"; print STDERR $out; return; From bugzilla-daemon at portal.open-bio.org Tue Jun 5 13:47:30 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Tue, 5 Jun 2007 13:47:30 -0400 Subject: [Bioperl-guts-l] [Bug 2305] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4 In-Reply-To: Message-ID: <200706051747.l55HlUxE011164@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2305 cjfields at uiuc.edu changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |main-trunk ------- Comment #2 from cjfields at uiuc.edu 2007-06-05 13:47 EST ------- Confirmed using bioperl-live. There are three bugs here; I could argue the first two are features and not bugs per se. (1) The LOCUS line is malformed; there is no locus identifier (name) in the line. This omission leads to the parser misidentifying the sequence as amino acid. A warning will be added; however one can't expect the parser to work with bad input data. This is more a problem with the original program generating the record (ApE plasmid editor) than with BioPerl. (2) The sequence file you give has blank annotation lines which shouldn't be present or should have a '.' instead. Again, this is really a problem with the program generating the sequence file and not BioPerl. There are several 'Use of uninitialized value' warnings which are generated but are relatively harmless. We probably won't fix this except to add a more explicit messages warning about the issue. You could fix your local files by modifying the LOCUS line, adding a unique identifier: LOCUS unique_ID 6499 bp ds-DNA linear 02-AUG-2006 which fixes the most serious problem. (3) The qualifier warning is a true bug which I'll try looking into when I can. I noticed my experimental genbank parser (Bio::SeqIO::gbdriver) in CVS parses this qualifier w/o problems; you can try that one out if needed. -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Tue Jun 5 14:56:58 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Tue, 5 Jun 2007 14:56:58 -0400 Subject: [Bioperl-guts-l] [Bug 2305] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4 In-Reply-To: Message-ID: <200706051856.l55Iuw0W015897@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2305 ------- Comment #3 from mmokrejs at ribosome.natur.cuni.cz 2007-06-05 14:56 EST ------- Wayne Davis wrote: > locus line I'm using is the old standard (some older parsers wanted it > that way). > I've updated to write the new standard, if your program isn't flexible > enough to read the old style locus lines. We'll see if anyone is using > the older parsers still. > from the document laying out the new standard: > > We encourage software developers to switch to a token-based LOCUS parsing > approach, rather than a column-specific approach. If this is done, then future > changes to the LOCUS line that affect only the spacing of its data values will > > not require any modifications to software. > > > > > I've made the default behavior to put "." in the empty fields. I left > those fields there because there are other parsers that require them. > In my new version you can change the default genbank record values by > adding a line to your preferences file like this: > empty_genbank_header{LOCUS } {} {DEFINITION } {.} > {ACCESSION } {.} {VERSION } {.} {SOURCE } {.} { ORGANISM } {.} > > or > empty_genbank_header{LOCUS } {} > > > My access to our web server is temporarily unavailable, but I'll post > the update as soon as I can. -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From cjfields at dev.open-bio.org Tue Jun 5 19:46:14 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Tue, 05 Jun 2007 23:46:14 +0000 Subject: [Bioperl-guts-l] bioperl-live/t genbank.t,1.20,1.21 Message-ID: <200706052346.l55NkElT019513@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/t In directory dev.open-bio.org:/tmp/cvs-serv19478/t Modified Files: genbank.t Log Message: Partial fix for bug 2305 Index: genbank.t =================================================================== RCS file: /home/repository/bioperl/bioperl-live/t/genbank.t,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** genbank.t 13 Apr 2007 18:53:56 -0000 1.20 --- genbank.t 5 Jun 2007 23:46:12 -0000 1.21 *************** *** 10,14 **** } use Test::More; ! plan tests => 245; use_ok('Bio::SeqIO'); use_ok('Bio::Root::IO'); --- 10,14 ---- } use Test::More; ! plan tests => 247; use_ok('Bio::SeqIO'); use_ok('Bio::Root::IO'); *************** *** 334,338 **** # write revcomp split location my $gb = new Bio::SeqIO(-format => 'genbank', ! -verbose => $verbose, -file => Bio::Root::IO->catfile (qw(t data revcomp_mrna.gb))); --- 334,341 ---- # write revcomp split location my $gb = new Bio::SeqIO(-format => 'genbank', ! # This sequence has an odd LOCUS line which sets off a warning, setting ! # verbose to -1. ! # The newest Ensembl seq lacks this. Maybe update? cjfields 6-5-07 ! -verbose => -1, -file => Bio::Root::IO->catfile (qw(t data revcomp_mrna.gb))); *************** *** 345,349 **** undef $gb; ok(! -z "tmp_revcomp_mrna.gb", 'revcomp split location'); ! # INSERT DIFFING CODE HERE # bug 1925, continuation of long ORGANISM line ends up in @classification: --- 348,362 ---- undef $gb; ok(! -z "tmp_revcomp_mrna.gb", 'revcomp split location'); ! ! # check warnings for LOCUS line ! $gb = new Bio::SeqIO(-format => 'genbank', ! -verbose => 2, ! -file => Bio::Root::IO->catfile ! (qw(t data revcomp_mrna.gb))); ! eval {$seq = $gb->next_seq();}; ! ! ok($@); ! ! like($@, qr{Missing tokens in the LOCUS line}); # bug 1925, continuation of long ORGANISM line ends up in @classification: From cjfields at dev.open-bio.org Tue Jun 5 19:46:14 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Tue, 05 Jun 2007 23:46:14 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/SeqIO genbank.pm,1.163,1.164 Message-ID: <200706052346.l55NkE9C019510@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/SeqIO In directory dev.open-bio.org:/tmp/cvs-serv19478/Bio/SeqIO Modified Files: genbank.pm Log Message: Partial fix for bug 2305 Index: genbank.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/genbank.pm,v retrieving revision 1.163 retrieving revision 1.164 diff -C2 -d -r1.163 -r1.164 *** genbank.pm 30 Jan 2007 15:17:04 -0000 1.163 --- genbank.pm 5 Jun 2007 23:46:12 -0000 1.164 *************** *** 154,157 **** --- 154,158 ---- James Wasmuth, james.wasmuth at ed.ac.uk Brian Osborne, bosborne at alum.mit.edu + Chris Fields, cjfields at uiuc dot edu =head1 APPENDIX *************** *** 212,217 **** if( ! defined $self->sequence_factory ) { $self->sequence_factory(new Bio::Seq::SeqFactory ! (-verbose => $self->verbose(), ! -type => 'Bio::Seq::RichSeq')); } } --- 213,218 ---- if( ! defined $self->sequence_factory ) { $self->sequence_factory(new Bio::Seq::SeqFactory ! (-verbose => $self->verbose(), ! -type => 'Bio::Seq::RichSeq')); } } *************** *** 255,259 **** my @tokens = split(' ', $1); ! # this is important to have the id for display in e.g. FTHelper, # otherwise you won't know which entry caused an error --- 256,263 ---- my @tokens = split(' ', $1); ! ! # there should be at least six tokens in the LOCUS line; if not we may be in trouble... ! $self->warn('Missing tokens in the LOCUS line; output may be malformed') if @tokens < 6; ! # this is important to have the id for display in e.g. FTHelper, # otherwise you won't know which entry caused an error *************** *** 269,278 **** my $circ = shift(@tokens); if ($circ eq 'circular') { ! $params{'-is_circular'} = 1; ! $params{'-division'} = shift(@tokens); } else { ! # 'linear' or 'circular' may actually be omitted altogether ! $params{'-division'} = ! (CORE::length($circ) == 3 ) ? $circ : shift(@tokens); } } else { --- 273,282 ---- my $circ = shift(@tokens); if ($circ eq 'circular') { ! $params{'-is_circular'} = 1; ! $params{'-division'} = shift(@tokens); } else { ! # 'linear' or 'circular' may actually be omitted altogether ! $params{'-division'} = ! (CORE::length($circ) == 3 ) ? $circ : shift(@tokens); } } else { *************** *** 290,311 **** if($date =~ s/\s*((\d{1,2})-(\w{3})-(\d{2,4})).*/$1/) { if( length($date) < 11 ) { ! # improperly formatted date ! # But we'll be nice and fix it for them ! my ($d,$m,$y) = ($2,$3,$4); ! if( length($d) == 1 ) { ! $d = "0$d"; ! } ! # guess the century here ! if( length($y) == 2 ) { ! if( $y > 60 ) { # arbitrarily guess that '60' means 1960 ! $y = "19$y"; ! } else { ! $y = "20$y"; ! } ! $self->warn("Date was malformed, guessing the century for $date to be $y\n"); ! } ! $params{'-dates'} = [join('-',$d,$m,$y)]; ! } else { ! $params{'-dates'} = [$date]; } } --- 294,315 ---- if($date =~ s/\s*((\d{1,2})-(\w{3})-(\d{2,4})).*/$1/) { if( length($date) < 11 ) { ! # improperly formatted date ! # But we'll be nice and fix it for them ! my ($d,$m,$y) = ($2,$3,$4); ! if( length($d) == 1 ) { ! $d = "0$d"; ! } ! # guess the century here ! if( length($y) == 2 ) { ! if( $y > 60 ) { # arbitrarily guess that '60' means 1960 ! $y = "19$y"; ! } else { ! $y = "20$y"; ! } ! $self->warn("Date was malformed, guessing the century for $date to be $y\n"); ! } ! $params{'-dates'} = [join('-',$d,$m,$y)]; ! } else { ! $params{'-dates'} = [$date]; } } *************** *** 354,358 **** } # Version number ! elsif( /^VERSION\s+(.+)$/ ) { my ($acc,$gi) = split(' ',$1); if($acc =~ /^\w+\.(\d+)/) { --- 358,362 ---- } # Version number ! elsif( /^VERSION\s+(\S.+)$/ ) { my ($acc,$gi) = split(' ',$1); if($acc =~ /^\w+\.(\d+)/) { *************** *** 365,369 **** } # Keywords ! elsif( /^KEYWORDS\s+(.*)/ ) { my @kw = split(/\s*\;\s*/,$1); while( defined($_ = $self->_readline) ) { --- 369,373 ---- } # Keywords ! elsif( /^KEYWORDS\s+(\S.*)/ ) { my @kw = split(/\s*\;\s*/,$1); while( defined($_ = $self->_readline) ) { *************** *** 379,383 **** } # Organism name and phylogenetic information ! elsif (/^SOURCE/) { if($builder->want_slot('species')) { $species = $self->_read_GenBank_Species(\$buffer); --- 383,387 ---- } # Organism name and phylogenetic information ! elsif (/^SOURCE\s+\S/) { if($builder->want_slot('species')) { $species = $self->_read_GenBank_Species(\$buffer); *************** *** 391,395 **** } # References ! elsif (/^REFERENCE/) { if($annotation) { my @refs = $self->_read_GenBank_References(\$buffer); --- 395,399 ---- } # References ! elsif (/^REFERENCE\s+\S/) { if($annotation) { my @refs = $self->_read_GenBank_References(\$buffer); *************** *** 405,409 **** } # Comments ! elsif (/^COMMENT\s+(.*)/) { if($annotation) { my $comment = $1; --- 409,413 ---- } # Comments ! elsif (/^COMMENT\s+(\S.*)/) { if($annotation) { my $comment = $1; *************** *** 426,430 **** } # Corresponding Genbank nucleotide id, Genpept only ! elsif( /^DBSOURCE\s+(.+)/ ) { if ($annotation) { my $dbsource = $1; --- 430,434 ---- } # Corresponding Genbank nucleotide id, Genpept only ! elsif( /^DBSOURCE\s+(\S.+)/ ) { if ($annotation) { my $dbsource = $1; *************** *** 1059,1066 **** } } - } - =head2 _read_GenBank_References --- 1063,1068 ---- *************** *** 1280,1291 **** # escaped '>', so a simple-minded approach suffices) $line =~ s{<[^>]+>}{}g; ! if ($line =~ m{^(?:\s{0,2})(\w+)\s+(.+)$}ox) { ! ($tag, $data) = ($1, $2); } else { ($data = $line) =~ s{^\s+}{}; chomp $data; $tag = 'CLASSIFICATION' if ($tag ne 'CLASSIFICATION' && $tag eq 'ORGANISM' && $line =~ m{[;\.]+}); } - last if ($tag && !exists $source{$tag}); (exists $ann->{$tag}) ? ($ann->{$tag} .= ' '.$data) : ($ann->{$tag} .= $data); $line = undef; --- 1282,1294 ---- # escaped '>', so a simple-minded approach suffices) $line =~ s{<[^>]+>}{}g; ! if ($line =~ m{^(?:\s{0,2})(\w+)\s+(.+)?$}ox) { ! ($tag, $data) = ($1, $2 || ''); ! last if ($tag && !exists $source{$tag}); } else { + return unless $tag; ($data = $line) =~ s{^\s+}{}; chomp $data; $tag = 'CLASSIFICATION' if ($tag ne 'CLASSIFICATION' && $tag eq 'ORGANISM' && $line =~ m{[;\.]+}); } (exists $ann->{$tag}) ? ($ann->{$tag} .= ' '.$data) : ($ann->{$tag} .= $data); $line = undef; *************** *** 1294,1298 **** ($sl, $class_lines, $sci_name) = ($ann->{SOURCE}, $ann->{CLASSIFICATION}, $ann->{ORGANISM}); ! $$buffer = $line; # parse out organelle, common name, abbreviated name if present; --- 1297,1303 ---- ($sl, $class_lines, $sci_name) = ($ann->{SOURCE}, $ann->{CLASSIFICATION}, $ann->{ORGANISM}); ! $$buffer = $line; ! ! $sci_name || return; # parse out organelle, common name, abbreviated name if present; *************** *** 1310,1315 **** } - $sci_name || return; - # Convert data in classification lines into classification array. # only split on ';' or '.' so that classification that is 2 or more words will --- 1315,1318 ---- From bugzilla-daemon at portal.open-bio.org Tue Jun 5 19:48:48 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Tue, 5 Jun 2007 19:48:48 -0400 Subject: [Bioperl-guts-l] [Bug 2305] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4 In-Reply-To: Message-ID: <200706052348.l55NmmEg005705@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2305 ------- Comment #4 from cjfields at uiuc.edu 2007-06-05 19:48 EST ------- I committed a partial fix and some warnings. I'll have a look at the seqfeature problem to see what needs to be done. -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Wed Jun 6 18:24:55 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Wed, 6 Jun 2007 18:24:55 -0400 Subject: [Bioperl-guts-l] [Bug 2310] New: nonstandard method docs in Bio::Search::Result::BlastResult Message-ID: http://bugzilla.open-bio.org/show_bug.cgi?id=2310 Summary: nonstandard method docs in Bio::Search::Result::BlastResult Product: BioPerl Version: main-trunk Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Documentation AssignedTo: bioperl-guts-l at bioperl.org ReportedBy: online at davemessina.com Several methods in Bio::Search::Result::BlastResult are listed on the Deobfuscator as undocumented. While the Deobfuscator should really be more tolerant, it's missing them because those methods do not follow the BioPerl documentation guidelines. Reformat POD for hits(), next_hit(), num_hits(), number_of_iterations(), and round() to have Title, Usage, Returns, etc... Dave -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 09:57:06 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 09:57:06 -0400 Subject: [Bioperl-guts-l] [Bug 2312] New: './Build test' failures on linux with bioperl-live from cvs now() Message-ID: http://bugzilla.open-bio.org/show_bug.cgi?id=2312 Summary: './Build test' failures on linux with bioperl-live from cvs now() Product: BioPerl Version: main-trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Unclassified AssignedTo: bioperl-guts-l at bioperl.org ReportedBy: mmokrejs at ribosome.natur.cuni.cz I did perl Build.PL and asked to install most of the optional stuff, except the AceDB viewer and the GFF/mysql database stuff. Anyway, something got installed and the testsuite should at least skip those test which have no prerequisities installed. If the summary error message below would point me where to look for the stacktraces from perl, I could post them. I am overhauled with a number of other tasks, so I cannot spend much time on reading docs, sorry. Just wanted to test current cvs and Genbank parser. ;-) t/BioDBGFF...................ok 1/278# Looks like you planned 278 tests but only ran 104. t/BioDBGFF...................dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 105-278 Failed 174/278 tests, 37.41% okay (less 1 skipped test: 103 okay, 37.05%) t/BioDBSeqFeature............ok t/BioDBSeqFeature_BDB........ok t/BioFetch_DB................skipped all skipped: Must set BIOPERLDEBUG=1 for network tests t/BioGraphics................NOK 3/38 # Failed test in t/BioGraphics.t at line 170. t/BioGraphics................NOK 4/38 # Failed test in t/BioGraphics.t at line 170. t/BioGraphics................NOK 5/38 # Failed test in t/BioGraphics.t at line 170. t/BioGraphics................ok 6/38# Looks like you failed 3 tests of 38. t/BioGraphics................dubious Test returned status 3 (wstat 768, 0x300) DIED. FAILED tests 3-5 Failed 3/38 tests, 92.11% okay t/BlastIndex.................ok t/RemoteBlast................ok 18/21 -------------------- WARNING --------------------- MSG: Server failed to return any data --------------------------------------------------- # Failed test in t/RemoteBlast.t at line 164. t/RemoteBlast................NOK 19/21# Looks like you planned 21 tests but only ran 19. # Looks like you failed 1 test of 19 run. t/RemoteBlast................dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED tests 19-21 Failed 3/21 tests, 85.71% okay (less 4 skipped tests: 14 okay, 66.67%) t/Tree.......................FAILED tests 30-39 Failed 10/29 tests, 65.52% okay t/embl.......................ok t/entrezgene.................ok 545/1423Pseudo-hashes are deprecated at /home/mmokrejs/proj/bioperl/bioperl-live/blib/lib/Bio/SeqIO/entrezgene.pm line 491. t/entrezgene.................ok 981/1423Pseudo-hashes are deprecated at /home/mmokrejs/proj/bioperl/bioperl-live/blib/lib/Bio/SeqIO/entrezgene.pm line 491. Pseudo-hashes are deprecated at /home/mmokrejs/proj/bioperl/bioperl-live/blib/lib/Bio/SeqIO/entrezgene.pm line 491. t/entrezgene.................ok 1143/1423Pseudo-hashes are deprecated at /home/mmokrejs/proj/bioperl/bioperl-live/blib/lib/Bio/SeqIO/entrezgene.pm line 491. t/ztr........................ok Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- t/BioDBGFF.t 255 65280 278 348 105-278 t/BioGraphics.t 3 768 38 3 3-5 t/RemoteBlast.t 1 256 21 5 19-21 t/Tree.t 29 10 30-39 19 tests and 134 subtests skipped. Failed 4/244 test scripts. 170/14656 subtests failed. Files=244, Tests=14656, 256 wallclock secs (177.32 cusr + 7.50 csys = 184.82 CPU) Failed 4/244 test programs. 170/14656 subtests failed. $ perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.18.1, archname=i686-linux-thread-multi uname='linux vrapenec 2.6.18.1 #5 tue oct 24 13:01:30 cest 2006 i686 mobile intel(r) pentium(r) 4 - m cpu 1.80ghz genuineintel gnulinux ' config_args='-des -Darchname=i686-linux-thread -Dcccdlflags=-fPIC -Dccdlflags=-rdynamic -Dcc=i686-pc-linux-gnu-gcc -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth= -Doptimize=-O2 -march=pentium4 -mmmx -msse sse2 -fomit-frame-pointer -pipe -Duselargefiles -Dd_semctl_semun -Dscriptdir=/usr/bin -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dinstallman1dir=/usr/share/man/man1 -Dinstallman3dir=/usr/share/man/man3 -Dman1ex 1 -Dman3ext=3pm -Dinc_version_list=5.8.0 5.8.0/i686-linux-thread-multi 5.8.2 5.8.2/i686-linux-thread-multi 5.8.4 5.8.4/i686-linux-thread-multi 5.8.5 5.8.5/i686-linux-thread-multi 5.8.6 5.8.6/i686-linux-thread-multi 5.8.7 5.8.7/i 6-linux-thread-multi -Dcf_by=Gentoo -Ud_csh -Dusenm -Dusethreads -Di_ndbm -Di_gdbm -Di_db' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='i686-pc-linux-gnu-gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -march=pentium4 -mmmx -msse -msse2 -fomit-frame-pointer -pipe', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -pipe -Wdeclaration-after-statement' ccversion='', gccversion='4.1.1 (Gentoo 4.1.1-r1)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='i686-pc-linux-gnu-gcc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=/lib/libc-2.5.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.5' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic' cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under linux Compiled at Oct 27 2006 16:23:07 @INC: /etc/perl /usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl/5.8.8/i686-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/5.8.8/i686-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/local/lib/site_perl . $ -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 10:08:45 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 10:08:45 -0400 Subject: [Bioperl-guts-l] [Bug 2312] './Build test' failures on linux with bioperl-live from cvs now() In-Reply-To: Message-ID: <200706071408.l57E8jds022720@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2312 ------- Comment #1 from bix at sendu.me.uk 2007-06-07 10:08 EST ------- For each test that failed (t/BioDBGFF.t, t/BioGraphics.t, t/RemoteBlast.t, t/Tree.t), you can get more details by doing: ./Build test --test_files test_file --verbose (where you replace 'test_file' with eg. t/BioDBGFF.t) If you don't plan on using the things being tested in those scripts, the failures don't matter (to you) and you can go ahead and install. ./Build install If you want to help us figure out why they're failing, post the output of running ./Build test as described above. -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 10:14:31 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 10:14:31 -0400 Subject: [Bioperl-guts-l] [Bug 2313] New: './Build test' stalls from current cvs bioperl-run Message-ID: http://bugzilla.open-bio.org/show_bug.cgi?id=2313 Summary: './Build test' stalls from current cvs bioperl-run Product: BioPerl Version: main-trunk Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: bioperl-run AssignedTo: bioperl-guts-l at bioperl.org ReportedBy: mmokrejs at ribosome.natur.cuni.cz t/Amap........................ok 8/18 skipped: various reasons t/AnalysisFactory_soap........ok t/Analysis_soap...............ok t/Blat........................ok 1/11blat program not found. Skipping tests 2 to 11. t/Blat........................ok 10/11 skipped: various reasons t/Clustalw....................ok t/Coil........................Need to define env variable COILSDIR to run test at t/Coil.t line 27. t/Coil........................ok 4/4 skipped: various reasons t/Consense....................ok t/DBA.........................ok 1/15Find start end points: [0,17][209,222] Score 109962 Recovering alignment: Alignment recoveredit read offffls done 78% Find start end points: [0,0][209,195] Score 99400 Recovering alignment: Alignment recovered read offffffls done 86% t/DBA.........................ok 7/15[0,17][209,222] Score 109962 Recovering alignment: Alignment recoveredit read offffls done 78% t/DBA.........................ok t/DrawGram....................ok t/DrawTree....................ok t/EMBOSS......................ok t/Eponine.....................ok 5/5 skipped: various reasons t/Exonerate...................ok 87/88 skipped: various reasons t/FootPrinter.................FootPrinter program not found. Skipping tests 1 to 22. t/FootPrinter.................ok 22/22 skipped: various reasons t/Genemark.hmm.prokaryotic....ok 1/99# Looks like you planned 99 tests but only ran 98. t/Genemark.hmm.prokaryotic....dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED test 99 Failed 1/99 tests, 98.99% okay (less 95 skipped tests: 3 okay, 3.03%) t/Genewise....................ok t/Genscan.....................Need to define env variable GENSCANDIR to run test at t/Genscan.t line 28. t/Genscan.....................ok 4/4 skipped: various reasons t/Glimmer2....................ok 1/217# Looks like you planned 217 tests but only ran 203. t/Glimmer2....................dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 204-217 Failed 14/217 tests, 93.55% okay (less 199 skipped tests: 4 okay, 1.84%) t/Glimmer3....................ok 1/111# Looks like you planned 111 tests but only ran 110. t/Glimmer3....................dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED test 111 Failed 1/111 tests, 99.10% okay (less 106 skipped tests: 4 okay, 3.60%) t/Gumby.......................ok 111/124 skipped: various reasons t/Hmmer.......................ok t/Hyphy.......................Subroutine no_param_checks redefined at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/Phylo/Hyphy/Base.pm line 474. "my" variable $rc masks earlier declaration in same scope at t/Hyphy.t line 80. "my" variable $results masks earlier declaration in same scope at t/Hyphy.t line 80. "my" variable $rc masks earlier declaration in same scope at t/Hyphy.t line 86. "my" variable $results masks earlier declaration in same scope at t/Hyphy.t line 86. "my" variable $rc masks earlier declaration in same scope at t/Hyphy.t line 92. "my" variable $results masks earlier declaration in same scope at t/Hyphy.t line 92. ------------- EXCEPTION: Bio::Root::Exception ------------- MSG: unable to find or run executable for 'HYPHY' STACK: Error::throw STACK: Bio::Root::Root::throw /usr/lib/perl5/site_perl/5.8.8/Bio/Root/Root.pm:359 STACK: Bio::Tools::Run::Phylo::Hyphy::SLAC::run /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/Phylo/Hyphy/SLAC.pm:199 STACK: t/Hyphy.t:74 ----------------------------------------------------------- t/Hyphy.......................dubious Test returned status 2 (wstat 512, 0x200) after all the subtests completed successfully t/Kalign......................ok 1/6amap program not found. Skipping tests 2 to 6. t/Kalign......................ok 5/6 skipped: various reasons t/LVB.........................ok 1/20LVB program not found. Skipping tests 3 to 20. t/LVB.........................ok 18/20 skipped: various reasons t/Lagan.......................ok 1/7 -------------------- WARNING --------------------- MSG: Environment variable LAGAN_DIR must be set, even if the lagan executables are in your path --------------------------------------------------- lagan program not found. Skipping tests 3 to 7. t/Lagan.......................ok 5/7 skipped: various reasons t/MAFFT.......................ok 1/15mafft program not found. Skipping tests 3 to 15. t/MAFFT.......................ok 13/15 skipped: various reasons t/Mdust.......................ok 1/2Mdust not installed Skipping tests 2 to 2. t/Mdust.......................ok 1/2 skipped: various reasons t/Molphy......................Molphy package not installed. Skipping tests 1 to 7. t/Molphy......................ok 7/7 skipped: various reasons t/Muscle......................ok 1/12muscle program not found. Skipping tests 3 to 12. t/Muscle......................ok 10/12 skipped: various reasons t/Neighbor....................FAILED tests 16-17 Failed 2/15 tests, 86.67% okay t/Njtree...................... -------------------- WARNING --------------------- MSG: 11 unmapped ids between the aln and the tree CAEELXX,DROME,CAEBR,HUMAN,CANFA,MOUSE,ANOGA,CAEREXX,BRARE,SCHMAXX,DROPS --------------------------------------------------- Use of uninitialized value in concatenation (.) or string at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/Phylo/Njtree/Best.pm line 272, line 1. ------------- EXCEPTION: Bio::Root::Exception ------------- MSG: unable to find or run executable for 'njtree' STACK: Error::throw STACK: Bio::Root::Root::throw /usr/lib/perl5/site_perl/5.8.8/Bio/Root/Root.pm:359 STACK: Bio::Tools::Run::Phylo::Njtree::Best::run /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/Phylo/Njtree/Best.pm:284 STACK: t/Njtree.t:76 ----------------------------------------------------------- t/Njtree......................dubious Test returned status 2 (wstat 512, 0x200) after all the subtests completed successfully t/PAML........................ok 1/18PAML not is installed. skipping tests 2 to 18 t/PAML........................ok 17/18 skipped: various reasons t/PhastCons...................ok 166/181 skipped: various reasons t/Phrap.......................ok 1/5Phrap program not found. Skipping tests 4 to 5. t/Phrap.......................ok 2/5 skipped: various reasons t/Pise........................Subroutine stdout redefined at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/PiseJob.pm line 609. Subroutine stderr redefined at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/PiseJob.pm line 644. t/Pise........................ok 1/11Use of uninitialized value in hash element at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/PiseJobParser.pm line 181. Use of uninitialized value in hash element at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/PiseJobParser.pm line 181. Use of uninitialized value in hash element at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/PiseJobParser.pm line 181. Use of uninitialized value in hash element at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/PiseJobParser.pm line 181. Use of uninitialized value in hash element at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/PiseJobParser.pm line 181. Use of uninitialized value in hash element at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/PiseJobParser.pm line 197. Use of uninitialized value in hash element at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/PiseJobParser.pm line 197. Use of uninitialized value in hash element at /home/mmokrejs/proj/bioperl/bioperl-run/blib/lib/Bio/Tools/Run/PiseJobParser.pm line 197. and now the testing does not continue, system is idle and the application is maybe waiting for some input. root 10680 5769 0 16:07 pts/1 00:00:01 /usr/bin/perl5.8.8 ./Build test root 10857 10680 0 16:08 pts/1 00:00:00 /usr/bin/perl5.8.8 -w t/Pise.t I would also suggest to cleanup a bit the output of the testsuite, and fix the programming errors. ;) -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 10:19:35 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 10:19:35 -0400 Subject: [Bioperl-guts-l] [Bug 2305] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4 In-Reply-To: Message-ID: <200706071419.l57EJZwQ023437@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2305 ------- Comment #5 from mmokrejs at ribosome.natur.cuni.cz 2007-06-07 10:19 EST ------- Confirming the broken GenBank file produced by previous version of ApE can be parsed with current bioperl-live. I do not understand why it claims it is a protein sequence, though. and, maybe the first MSG could spit a sample LOCUS line then and the current/broken line, so one could immediately see which spaces are missing. $ bp_seqconvert.pl --from genbank --to embl < /mnt/smartmedia/pRL.gb -------------------- WARNING --------------------- MSG: Missing tokens in the LOCUS line; output may be malformed --------------------------------------------------- -------------------- WARNING --------------------- MSG: Protein sequence found; EMBL is a nucleotide format. --------------------------------------------------- ID unknown; SV 1; linear; AA; STD; UNC; 5428 BP. XX AC unknown; XX DT 31-OCT-2006 XX XX XX CC ApEinfo:methylated:1 XX FH Key Location/Qualifiers FH FT misc_feature 589..1449 FT /ApEinfo_fwdcolor="#00ff6c" FT /ApEinfo_label="beta-lactamase" FT /ApEinfo_revcolor="#00ff6c" FT misc_feature 2656..3591 FT /ApEinfo_fwdcolor="#00ff00" FT /ApEinfo_label="RLuc" FT /ApEinfo_revcolor="green" XX SQ Sequence 5428 BP; 1534 A; 1174 C; 1312 G; 1408 T; 0 other; aaattgtaaa cgtttaatat tttgttaaaa ttcgcgttaa atttttgtta aatcagctca 60 ttttttaacc aataggccga aatcggcaaa atcccttata aatcaaaaga atagaccgag 120 atagggttga gtgttgttcc agtttggaac aagagtccac tattaaagaa cgtggactcc 180 aacgtcaaag ggcgaaaaac cgtctatcag ggcgatggcc cactacgtga accatcaccc 240 taatcaagtt ttttggggtc gaggtgccgt aaagcactaa atcggaaccc taaagggatg 300 ccccgattta gagcttgacg gggaaagccg gcgaacgtgg cgagaaagga agggaagaaa 360 gcgaaaggag cgggcgctag ggcgctggca agtgtagcgg tcacgctgcg cgtaaccacc 420 acacccgccg cgcttaatgc gccgctacag ggcgcgtcag gtggcacttt tcggggaaat 480 gtgcgcggaa cccctatttg tttatttttc taaatacatt caaatatgta tccgctcatg 540 agacaataac cctgataaat gcttcaataa tattgaaaaa ggaagagtat gagtattcaa 600 -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 10:21:44 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 10:21:44 -0400 Subject: [Bioperl-guts-l] [Bug 2305] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4 In-Reply-To: Message-ID: <200706071421.l57ELi5B023539@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2305 ------- Comment #6 from mmokrejs at ribosome.natur.cuni.cz 2007-06-07 10:21 EST ------- After the LOCUS line was fixed in current development version of ApE (while still DESCRIPTION/ACCESSION/VERSION contain no data == not even the `.') the file can be parsed by bioperl-live from cvs: $ bp_seqconvert.pl --from genbank --to embl < /mnt/smartmedia/pRL.gb-new ID unknown; SV 1; linear; unassigned DNA; STD; UNC; 5428 BP. XX AC unknown; XX XX XX CC ApEinfo:methylated:1 XX FH Key Location/Qualifiers FH FT misc_feature 589..1449 FT /ApEinfo_fwdcolor="#00ff6c" FT /ApEinfo_revcolor="#00ff6c" FT /label=beta-lactamase FT misc_feature 2656..3591 FT /ApEinfo_fwdcolor="#00ff00" FT /ApEinfo_revcolor="green" FT /label=RLuc XX SQ Sequence 5428 BP; 1534 A; 1174 C; 1312 G; 1408 T; 0 other; aaattgtaaa cgtttaatat tttgttaaaa ttcgcgttaa atttttgtta aatcagctca 60 ttttttaacc aataggccga aatcggcaaa atcccttata aatcaaaaga atagaccgag 120 atagggttga gtgttgttcc agtttggaac aagagtccac tattaaagaa cgtggactcc 180 aacgtcaaag ggcgaaaaac cgtctatcag ggcgatggcc cactacgtga accatcaccc 240 taatcaagtt ttttggggtc gaggtgccgt aaagcactaa atcggaaccc taaagggatg 300 ccccgattta gagcttgacg gggaaagccg gcgaacgtgg cgagaaagga agggaagaaa 360 gcgaaaggag cgggcgctag ggcgctggca agtgtagcgg tcacgctgcg cgtaaccacc 420 acacccgccg cgcttaatgc gccgctacag ggcgcgtcag gtggcacttt tcggggaaat 480 gtgcgcggaa cccctatttg tttatttttc taaatacatt caaatatgta tccgctcatg 540 -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 10:22:45 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 10:22:45 -0400 Subject: [Bioperl-guts-l] [Bug 2305] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4 In-Reply-To: Message-ID: <200706071422.l57EMj7h023648@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2305 ------- Comment #7 from mmokrejs at ribosome.natur.cuni.cz 2007-06-07 10:22 EST ------- Created an attachment (id=667) --> (http://bugzilla.open-bio.org/attachment.cgi?id=667&action=view) pRL.gb-new Still broken file format, but can be parsed well, thanks! -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 10:35:03 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 10:35:03 -0400 Subject: [Bioperl-guts-l] [Bug 2305] Use of uninitialized value in pattern match (m//) at /usr/lib/perl5/site_perl/5.8.8/Bio/SeqIO/genbank.pm line 352, line 4 In-Reply-To: Message-ID: <200706071435.l57EZ3Wf024335@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2305 ------- Comment #8 from mmokrejs at ribosome.natur.cuni.cz 2007-06-07 10:35 EST ------- > (1) The LOCUS line is malformed; there is no locus identifier (name) in the > line. This omission leads to the parser misidentifying the sequence as amino > acid. A warning will be added; however one can't expect the parser to work > with bad input data. This is more a problem with the original program > generating the record (ApE plasmid editor) than with BioPerl. So that's why it claims even now it is a protein sequence? It should rather die than to continue then. > (2) The sequence file you give has blank annotation lines which shouldn't be > present or should have a '.' instead. Again, this is really a problem with > the > program generating the sequence file and not BioPerl. There are several 'Use > of uninitialized value' warnings which are generated but are relatively > harmless. We probably won't fix this except to add a more explicit messages > warning about the issue. But bioperl could cope with the missing dots and just continue and insert them itself, right? Probably that's what happens already in the cvs version. Anyway if you convert from EMBL back to GenBank, you have have o add some character internally for some GenBank-specific variables (don't know if there really are any, though), right? ;-) -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 10:50:07 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 10:50:07 -0400 Subject: [Bioperl-guts-l] [Bug 2312] './Build test' failures on linux with bioperl-live from cvs now() In-Reply-To: Message-ID: <200706071450.l57Eo7kD025375@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2312 cjfields at uiuc.edu changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |trivial ------- Comment #2 from cjfields at uiuc.edu 2007-06-07 10:50 EST ------- Just a quick rant (and the reason I'm demoting this). Test failure from CVS code aren't unusual for any development project. We strive to have all tests pass but commits over time and changes on remote servers can lead to these popping up now and again. Follow Sendu's recommendations whenever you encounter problems with tests in CVS code and realize that you're using code that's on the bleeding edge and may change prior to an official (versioned) release, which we require pass tests on all available OS's. BioDBGFF tests are optional and require MySQL (with proper permission); don't know what's going on there. I'll try looking at the RemoteBlast code to see what's being borked uing a clean checkout but I can't get to it today. -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 10:58:56 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 10:58:56 -0400 Subject: [Bioperl-guts-l] [Bug 2312] './Build test' failures on linux with bioperl-live from cvs now() In-Reply-To: Message-ID: <200706071458.l57Ewur5025988@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2312 ------- Comment #3 from mmokrejs at ribosome.natur.cuni.cz 2007-06-07 10:58 EST ------- $ ./Build test --test_files t/BioDBGFF.t --verbose ... t/BioDBGFF....1..278 ok 1 - use Bio::DB::GFF; ok 2 - use Bio::SeqIO; ok 3 ok 4 ok 5 ok 6 ok 7 ... ok 99 ok 100 ok 101 ok 102 ok 103 ok 104 # skip fetch_feature_by_gid() not implemented by this adaptor # Looks like you planned 278 tests but only ran 104. dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 105-278 Failed 174/278 tests, 37.41% okay (less 1 skipped test: 103 okay, 37.05%) Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- t/BioDBGFF.t 255 65280 278 348 105-278 1 subtest skipped. Failed 1/1 test scripts. 174/278 subtests failed. Files=1, Tests=278, 1 wallclock secs ( 0.85 cusr + 0.08 csys = 0.93 CPU) Failed 1/1 test programs. 174/278 subtests failed. -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 10:59:56 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 10:59:56 -0400 Subject: [Bioperl-guts-l] [Bug 2312] './Build test' failures on linux with bioperl-live from cvs now() In-Reply-To: Message-ID: <200706071459.l57ExubQ026073@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2312 ------- Comment #4 from mmokrejs at ribosome.natur.cuni.cz 2007-06-07 10:59 EST ------- $ ./Build test --test_files t/BioGraphics.t --verbose ... ok 1 - require Bio::Graphics::FeatureFile; ok 2 - require Bio::Graphics; not ok 3 # Failed test in t/BioGraphics.t at line 170. not ok 4 # Failed test in t/BioGraphics.t at line 170. not ok 5 # Failed test in t/BioGraphics.t at line 170. ok 6 ok 7 ok 8 ok 9 ... # Looks like you failed 3 tests of 38. dubious Test returned status 3 (wstat 768, 0x300) DIED. FAILED tests 3-5 Failed 3/38 tests, 92.11% okay Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- t/BioGraphics.t 3 768 38 3 3-5 Failed 1/1 test scripts. 3/38 subtests failed. Files=1, Tests=38, 2 wallclock secs ( 1.57 cusr + 0.04 csys = 1.61 CPU) Failed 1/1 test programs. 3/38 subtests failed. -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 11:01:24 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 11:01:24 -0400 Subject: [Bioperl-guts-l] [Bug 2312] './Build test' failures on linux with bioperl-live from cvs now() In-Reply-To: Message-ID: <200706071501.l57F1OZu026256@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2312 ------- Comment #5 from mmokrejs at ribosome.natur.cuni.cz 2007-06-07 11:01 EST ------- $ ./Build test --test_files t/RemoteBlast.t --verbose ... ok 1 - require Bio::Tools::Run::RemoteBlast; ok 2 - require Bio::SeqIO; ok 3 - require Bio::AlignIO; ok 4 - require Bio::Seq; ok 5 - require Bio::Root::IO; ok 6 - use Env; ok 7 ok 8 - Text BLAST ok 9 # skip Text BLAST to avoid timeout ok 10 # skip Text BLAST to avoid timeout ok 11 # skip Text BLAST to avoid timeout ok 12 # skip Text BLAST to avoid timeout ok 13 - Tabular BLAST ok 14 ok 15 ok 16 ok 17 - XML BLAST ok 18 -------------------- WARNING --------------------- MSG: Server failed to return any data --------------------------------------------------- # Failed test in t/RemoteBlast.t at line 164. not ok 19 # Looks like you planned 21 tests but only ran 19. # Looks like you failed 1 test of 19 run. dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED tests 19-21 Failed 3/21 tests, 85.71% okay (less 4 skipped tests: 14 okay, 66.67%) Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- t/RemoteBlast.t 1 256 21 5 19-21 4 subtests skipped. Failed 1/1 test scripts. 3/21 subtests failed. Files=1, Tests=21, 43 wallclock secs ( 0.78 cusr + 0.07 csys = 0.85 CPU) Failed 1/1 test programs. 3/21 subtests failed. -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From bugzilla-daemon at portal.open-bio.org Thu Jun 7 11:03:05 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 11:03:05 -0400 Subject: [Bioperl-guts-l] [Bug 2312] './Build test' failures on linux with bioperl-live from cvs now() In-Reply-To: Message-ID: <200706071503.l57F35QF026381@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2312 ------- Comment #6 from mmokrejs at ribosome.natur.cuni.cz 2007-06-07 11:03 EST ------- Please add the help message as in comment #1 to the summary output of testsuite if there were any errors. -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From sendu at dev.open-bio.org Thu Jun 7 11:13:57 2007 From: sendu at dev.open-bio.org (Senduran Balasubramaniam) Date: Thu, 07 Jun 2007 15:13:57 +0000 Subject: [Bioperl-guts-l] bioperl-live/t Tree.t,1.14,1.15 Message-ID: <200706071513.l57FDvwK023334@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/t In directory dev.open-bio.org:/tmp/cvs-serv23309/t Modified Files: Tree.t Log Message: corrected number of tests Index: Tree.t =================================================================== RCS file: /home/repository/bioperl/bioperl-live/t/Tree.t,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Tree.t 12 May 2007 22:58:25 -0000 1.14 --- Tree.t 7 Jun 2007 15:13:54 -0000 1.15 *************** *** 18,24 **** } use Test; ! use vars qw($TESTCOUNT); ! $TESTCOUNT = 29; ! plan tests => $TESTCOUNT; } --- 18,22 ---- } use Test; ! plan tests => 39; } From sendu at dev.open-bio.org Thu Jun 7 11:48:07 2007 From: sendu at dev.open-bio.org (Senduran Balasubramaniam) Date: Thu, 07 Jun 2007 15:48:07 +0000 Subject: [Bioperl-guts-l] bioperl-live/t RemoteBlast.t,1.19,1.20 Message-ID: <200706071548.l57Fm7W8024210@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/t In directory dev.open-bio.org:/tmp/cvs-serv24185/t Modified Files: RemoteBlast.t Log Message: corrected skip behaviour; still need a solution for when server fails to return any data Index: RemoteBlast.t =================================================================== RCS file: /home/repository/bioperl/bioperl-live/t/RemoteBlast.t,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** RemoteBlast.t 30 Mar 2007 21:17:43 -0000 1.19 --- RemoteBlast.t 7 Jun 2007 15:48:05 -0000 1.20 *************** *** 3,10 **** use strict; ! use vars qw($NUMTESTS $DEBUG); ! $DEBUG = $ENV{'BIOPERLDEBUG'} || 0; ! my $error; ! BEGIN { eval { require Test::More; }; if( $@ ) { --- 3,11 ---- use strict; ! our $DEBUG; ! ! BEGIN { ! $DEBUG = $ENV{'BIOPERLDEBUG'} || 0; ! eval { require Test::More; }; if( $@ ) { *************** *** 12,156 **** } use Test::More; ! $NUMTESTS = 21; ! plan tests => $NUMTESTS; ! } - my $actually_submit = $DEBUG > 0; ! require_ok('Bio::Tools::Run::RemoteBlast'); ! require_ok('Bio::SeqIO'); ! require_ok('Bio::AlignIO'); ! require_ok('Bio::Seq'); ! require_ok('Bio::Root::IO'); ! use_ok('Env'); ! SKIP: { ! my $prog = 'blastp'; ! my $db = 'swissprot'; ! my $e_val= '1e-10'; ! my $v = $DEBUG > 1; ! my $remote_blast = Bio::Tools::Run::RemoteBlast->new('-verbose' => $v, ! '-prog' => $prog, ! '-data' => $db, ! '-expect' => $e_val, ! ); ! $remote_blast->submit_parameter('ENTREZ_QUERY', ! 'Escherichia coli[ORGN]'); ! my $inputfilename = Bio::Root::IO->catfile("t","data","ecolitst.fa"); ! ok( -e $inputfilename); ! eval { require IO::String; ! require LWP; ! require LWP::UserAgent; ! }; ! if( $@ ) { ! skip("IO::String or LWP::UserAgent not installed. This means the Bio::Tools::Run::RemoteBlast is not usable. Skipping tests", 14); ! } ! ! ok(1, 'Text BLAST'); ! ! SKIP: { ! skip( 'Text BLAST to avoid timeout', 4 ) if $actually_submit == 0; ! my $r = $remote_blast->submit_blast($inputfilename); ! ok($r); ! print STDERR "waiting..." if( $v > 0 ); ! while ( my @rids = $remote_blast->each_rid ) { ! foreach my $rid ( @rids ) { ! my $rc = $remote_blast->retrieve_blast($rid); ! if( !ref($rc) ) { ! if( $rc < 0 ) { ! $remote_blast->remove_rid($rid); ! ok(0); ! } ! print STDERR "." if ( $v > 0 ); ! sleep 5; ! } else { ! ok(1); ! $remote_blast->remove_rid($rid); ! my $result = $rc->next_result; ! like($result->database_name, qr/swissprot/i); ! my $count = 0; ! while( my $hit = $result->next_hit ) { ! $count++; ! next unless ( $v > 0); ! print "sbjct name is ", $hit->name, "\n"; ! while( my $hsp = $hit->next_hsp ) { ! print "score is ", $hsp->score, "\n"; ! } ! } ! is($count, 3); ! } } } } ! ! # test blasttable ! ! ok(1, 'Tabular BLAST'); ! ! my $remote_blast2 = Bio::Tools::Run::RemoteBlast->new ! ('-verbose' => $v, ! '-prog' => $prog, ! '-data' => $db, ! '-readmethod' => 'blasttable', ! '-expect' => $e_val, ! ); ! $remote_blast2->submit_parameter('ENTREZ_QUERY', 'Escherichia coli[ORGN]'); ! $remote_blast2->retrieve_parameter('ALIGNMENT_VIEW', 'Tabular'); ! $inputfilename = Bio::Root::IO->catfile("t","data","ecolitst.fa"); ! my $r = $remote_blast2->submit_blast($inputfilename); ! ok($r); ! print STDERR "waiting..." if( $v > 0 ); ! while ( my @rids = $remote_blast2->each_rid ) { ! foreach my $rid ( @rids ) { ! my $rc = $remote_blast2->retrieve_blast($rid); ! if( !ref($rc) ) { ! if( $rc < 0 ) { ! $remote_blast2->remove_rid($rid); ! ok(0); ! } ! print STDERR "." if ( $v > 0 ); ! sleep 10; ! } else { ! ok(1); $remote_blast2->remove_rid($rid); ! my $result = $rc->next_result; ! my $count = 0; ! while( my $hit = $result->next_hit ) { ! $count++; ! next unless ( $v > 0); ! print "sbjct name is ", $hit->name, "\n"; ! while( my $hsp = $hit->next_hsp ) { ! print "score is ", $hsp->score, "\n"; ! } ! } ! is($count, 3); } } } ! my $remote_blastxml = Bio::Tools::Run::RemoteBlast->new ! ('-prog' => $prog, '-data' => $db, '-readmethod' => 'xml', '-expect' => $e_val, ! ); $remote_blast->submit_parameter('ENTREZ_QUERY', ! 'Escherichia coli[ORGN]'); $remote_blastxml->retrieve_parameter('FORMAT_TYPE', 'XML'); $inputfilename = Bio::Root::IO->catfile("t","data","ecolitst.fa"); - eval {require Bio::SearchIO::blastxml;}; - if ($@) { - skip('Skip blastxml tests probably because XML::SAX not installed',5); - } - ok(1, 'XML BLAST'); ! $r = $remote_blastxml->submit_blast($inputfilename); ok($r); --- 13,156 ---- } use Test::More; ! ! eval { ! require IO::String; ! require LWP; ! require LWP::UserAgent; ! }; ! if ($@) { ! plan skip_all => 'IO::String or LWP or LWP::UserAgentnot installed. This means Bio::Tools::Run::RemoteBlast is not usable. Skipping tests'; ! } ! elsif (!$DEBUG) { ! plan skip_all => 'Must set BIOPERLDEBUG=1 for network tests'; ! } ! else { ! plan tests => 21; ! } ! ! use_ok('Bio::Tools::Run::RemoteBlast'); ! use_ok('Bio::SeqIO'); ! use_ok('Bio::AlignIO'); ! use_ok('Bio::Seq'); ! use_ok('Bio::Root::IO'); ! use_ok('Env'); } ! my $prog = 'blastp'; ! my $db = 'swissprot'; ! my $e_val= '1e-10'; ! my $v = $DEBUG > 1; ! my $remote_blast = Bio::Tools::Run::RemoteBlast->new('-verbose' => $v, ! '-prog' => $prog, ! '-data' => $db, ! '-expect' => $e_val, ! ); ! $remote_blast->submit_parameter('ENTREZ_QUERY', ! 'Escherichia coli[ORGN]'); ! my $inputfilename = Bio::Root::IO->catfile("t","data","ecolitst.fa"); ! ok( -e $inputfilename); + ok(1, 'Text BLAST'); ! my $r = $remote_blast->submit_blast($inputfilename); ! ok($r); ! print STDERR "waiting..." if( $v > 0 ); ! while ( my @rids = $remote_blast->each_rid ) { ! foreach my $rid ( @rids ) { ! my $rc = $remote_blast->retrieve_blast($rid); ! if( !ref($rc) ) { ! if( $rc < 0 ) { ! $remote_blast->remove_rid($rid); ! # need a better solution for when 'Server failed to return any data' ! } ! print STDERR "." if ( $v > 0 ); ! sleep 5; ! } else { ! ok(1); ! $remote_blast->remove_rid($rid); ! my $result = $rc->next_result; ! like($result->database_name, qr/swissprot/i); ! my $count = 0; ! while( my $hit = $result->next_hit ) { ! $count++; ! next unless ( $v > 0); ! print "sbjct name is ", $hit->name, "\n"; ! while( my $hsp = $hit->next_hsp ) { ! print "score is ", $hsp->score, "\n"; ! } } + is($count, 3); } } ! } ! # test blasttable ! ok(1, 'Tabular BLAST'); ! my $remote_blast2 = Bio::Tools::Run::RemoteBlast->new ! ('-verbose' => $v, ! '-prog' => $prog, ! '-data' => $db, ! '-readmethod' => 'blasttable', ! '-expect' => $e_val, ! ); ! $remote_blast2->submit_parameter('ENTREZ_QUERY', 'Escherichia coli[ORGN]'); ! ! $remote_blast2->retrieve_parameter('ALIGNMENT_VIEW', 'Tabular'); ! ! $inputfilename = Bio::Root::IO->catfile("t","data","ecolitst.fa"); ! ! $r = $remote_blast2->submit_blast($inputfilename); ! ok($r); ! print STDERR "waiting..." if( $v > 0 ); ! while ( my @rids = $remote_blast2->each_rid ) { ! foreach my $rid ( @rids ) { ! my $rc = $remote_blast2->retrieve_blast($rid); ! if( !ref($rc) ) { ! if( $rc < 0 ) { $remote_blast2->remove_rid($rid); ! # need a better solution for when 'Server failed to return any data' ! } ! print STDERR "." if ( $v > 0 ); ! sleep 5; ! } else { ! ok(1); ! $remote_blast2->remove_rid($rid); ! my $result = $rc->next_result; ! my $count = 0; ! while( my $hit = $result->next_hit ) { ! $count++; ! next unless ( $v > 0); ! print "sbjct name is ", $hit->name, "\n"; ! while( my $hsp = $hit->next_hsp ) { ! print "score is ", $hsp->score, "\n"; ! } } + is($count, 3); } } + } + + SKIP: { + eval {require Bio::SearchIO::blastxml;}; + if ($@) { + skip('Skip blastxml tests probably because XML::SAX not installed',5); + } ! my $remote_blastxml = Bio::Tools::Run::RemoteBlast->new('-prog' => $prog, '-data' => $db, '-readmethod' => 'xml', '-expect' => $e_val, ! ); $remote_blast->submit_parameter('ENTREZ_QUERY', ! 'Escherichia coli[ORGN]'); $remote_blastxml->retrieve_parameter('FORMAT_TYPE', 'XML'); $inputfilename = Bio::Root::IO->catfile("t","data","ecolitst.fa"); ok(1, 'XML BLAST'); ! $r = $remote_blastxml->submit_blast($inputfilename); ok($r); *************** *** 162,166 **** if( $rc < 0 ) { $remote_blastxml->remove_rid($rid); ! ok(0); } print STDERR "." if ( $v > 0 ); --- 162,166 ---- if( $rc < 0 ) { $remote_blastxml->remove_rid($rid); ! # need a better solution for when 'Server failed to return any data' } print STDERR "." if ( $v > 0 ); From sendu at dev.open-bio.org Thu Jun 7 12:00:34 2007 From: sendu at dev.open-bio.org (Senduran Balasubramaniam) Date: Thu, 07 Jun 2007 16:00:34 +0000 Subject: [Bioperl-guts-l] bioperl-live/t BioDBGFF.t,1.45,1.46 Message-ID: <200706071600.l57G0YJC024280@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/t In directory dev.open-bio.org:/tmp/cvs-serv24255/t Modified Files: BioDBGFF.t Log Message: corrected skips Index: BioDBGFF.t =================================================================== RCS file: /home/repository/bioperl/bioperl-live/t/BioDBGFF.t,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** BioDBGFF.t 19 Apr 2007 13:11:43 -0000 1.45 --- BioDBGFF.t 7 Jun 2007 16:00:32 -0000 1.46 *************** *** 314,324 **** is($t1->id,$tf->id); ! if (defined $tf->group_id) { ! my $t2 = $db->fetch_feature_by_gid($tf->group_id); ! is($t2->group_id,$tf->group_id); ! is($t2->group_id,$t1->group_id); ! } else { ! skip("fetch_feature_by_gid() not implemented by this adaptor",1); ! skip("fetch_feature_by_gid() not implemented by this adaptor",1); } --- 314,325 ---- is($t1->id,$tf->id); ! SKIP: { ! if (defined $tf->group_id) { ! my $t2 = $db->fetch_feature_by_gid($tf->group_id); ! is($t2->group_id,$tf->group_id); ! is($t2->group_id,$t1->group_id); ! } else { ! skip("fetch_feature_by_gid() not implemented by this adaptor",2); ! } } *************** *** 417,430 **** is($db->delete_features(1,2,3),3); ! $result = eval { ! is($db->delete_groups(1,2,3,4,5),5); ! my @features = $db->get_feature_by_name(Sequence => 'Contig2'); ! is($db->delete_groups(@features),1); ! 1; ! }; ! if (!$result && $@ =~ /not implemented/i) { ! skip("delete_groups() not implemented by this adaptor",1); ! skip("delete_groups() not implemented by this adaptor",1); } ok(!defined eval{$db->delete()}); ok($db->delete(-force=>1)); --- 418,433 ---- is($db->delete_features(1,2,3),3); ! SKIP: { ! $result = eval { ! is($db->delete_groups(1,2,3,4,5),5); ! my @features = $db->get_feature_by_name(Sequence => 'Contig2'); ! is($db->delete_groups(@features),1); ! 1; ! }; ! if (!$result && $@ =~ /not implemented/i) { ! skip("delete_groups() not implemented by this adaptor",2); ! } } + ok(!defined eval{$db->delete()}); ok($db->delete(-force=>1)); From bugzilla-daemon at portal.open-bio.org Thu Jun 7 12:06:52 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Thu, 7 Jun 2007 12:06:52 -0400 Subject: [Bioperl-guts-l] [Bug 2312] './Build test' failures on linux with bioperl-live from cvs now() In-Reply-To: Message-ID: <200706071606.l57G6qBP029877@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2312 bix at sendu.me.uk changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME ------- Comment #7 from bix at sendu.me.uk 2007-06-07 12:06 EST ------- I've fixed the problems in t/BioDBGFF.t and t/Tree.t. t/RemoteBlast.t won't bother you anymore, though it probably needs a good looking at from a dev. It works perfectly when the server is working perfectly, as expected. I can't help you with t/BioGraphics.t. It works fine here. Try contacting the author of Bio::Graphics and/or posting to the bioperl mailling list. (In reply to comment #6) > Please add the help message as in comment #1 to the summary output of testsuite > if there were any errors. > No, this won't be done. We use a standard perl build/test system (which means we don't generate that output). If you don't know how to use the test system, you can read the Bioperl documentation or the build system documentation. -- Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. From cjfields at dev.open-bio.org Thu Jun 7 13:49:23 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Thu, 07 Jun 2007 17:49:23 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/SeqIO/Handler GenericRichSeqHandler.pm, 1.1, 1.2 Message-ID: <200706071749.l57HnNgm024545@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/SeqIO/Handler In directory dev.open-bio.org:/tmp/cvs-serv24509/Handler Modified Files: GenericRichSeqHandler.pm Log Message: Some more fixes for bug 2305 Index: GenericRichSeqHandler.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/Handler/GenericRichSeqHandler.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** GenericRichSeqHandler.pm 16 Mar 2007 20:39:45 -0000 1.1 --- GenericRichSeqHandler.pm 7 Jun 2007 17:49:21 -0000 1.2 *************** *** 218,221 **** --- 218,227 ---- my %NOPROCESS = map {$_ => 1} qw(DBSOURCE ORGANISM FEATURES); + our %VALID_ALPHABET = ( + 'bp' => 'dna', + 'aa' => 'protein', + 'rc' => '' # rc = release candidate; file has no sequences + ); + =head2 *************** *** 224,230 **** Function: Returns : ! Args : ! Throws : ! Note : =cut --- 230,238 ---- Function: Returns : ! Args : -format Sequence format to be mapped for handler methods ! -builder Bio::Seq::SeqBuilder object (normally defined in ! SequenceStreamI object implementation constructor) ! Throws : On undefined '-format' sequence format parameter ! Note : Still under heavy development =cut *************** *** 233,245 **** my ($class, @args) = @_; my $self = $class->SUPER::new(@args); - # no need to chain args, just need access to Root and HandlerI methods $self = {@args}; bless $self,$class; ! my ($format, $builder, $verbose) = $self->_rearrange([qw(FORMAT BUILDER VERBOSE)], @args); $self->throw("Must define sequence record format") if !$format; $self->format($format); $self->handler_methods(); $builder && $self->seqbuilder($builder); - $verbose && $self->verbose($verbose); $self->location_factory(); return $self; --- 241,251 ---- my ($class, @args) = @_; my $self = $class->SUPER::new(@args); $self = {@args}; bless $self,$class; ! my ($format, $builder) = $self->_rearrange([qw(FORMAT BUILDER)], @args); $self->throw("Must define sequence record format") if !$format; $self->format($format); $self->handler_methods(); $builder && $self->seqbuilder($builder); $self->location_factory(); return $self; *************** *** 488,495 **** my ($self, $data) = @_; my (@tokens) = split m{\s+}, $data->{DATA}; ! $self->{'_params'}->{'-display_id'} = shift @tokens; ! $self->{'_params'}->{'-length'} = shift @tokens; $self->{'_params'}->{'-alphabet'} = ! (lc(shift @tokens) eq 'bp') ? 'dna' : 'protein'; if (($self->{'_params'}->{'-alphabet'} eq 'dna') || (@tokens > 2)) { $self->{'_params'}->{'-molecule'} = shift(@tokens); --- 494,515 ---- my ($self, $data) = @_; my (@tokens) = split m{\s+}, $data->{DATA}; ! my $display_id = shift @tokens; ! $self->{'_params'}->{'-display_id'} = $display_id; ! my $seqlength = shift @tokens; ! if (exists $VALID_ALPHABET{$seqlength}) { ! # moved one token too far. No locus name? ! $self->warn("Bad LOCUS name? Changing [".$self->{'_params'}->{'-display_id'}. ! "] to 'unknown' and length to ".$self->{'_params'}->{'-display_id'}); ! $self->{'_params'}->{'-length'} = $self->{'_params'}->{'-display_id'}; ! $self->{'_params'}->{'-display_id'} = 'unknown'; ! # add token back... ! unshift @tokens, $seqlength; ! } else { ! $self->{'_params'}->{'-length'} = $seqlength; ! } ! my $alphabet = lc(shift @tokens); $self->{'_params'}->{'-alphabet'} = ! (exists $VALID_ALPHABET{$alphabet}) ? $VALID_ALPHABET{$alphabet} : ! $self->warn("Unknown alphabet: $alphabet"); if (($self->{'_params'}->{'-alphabet'} eq 'dna') || (@tokens > 2)) { $self->{'_params'}->{'-molecule'} = shift(@tokens); *************** *** 665,669 **** #$self->debug(Dumper($gn)); $self->annotation_collection->add_Annotation('gene_name', $gn, ! "Bio::Annotation::SimpleValue"); } } --- 685,689 ---- #$self->debug(Dumper($gn)); $self->annotation_collection->add_Annotation('gene_name', $gn, ! "Bio::Annotation::StructuredValue"); } } *************** *** 1082,1109 **** } - # uses Bio::SeqIO::FTHelper, not up and running yet... - # GenBank Feature Table - sub _genbank_fthelper { - my ($self,$data) = @_; - my ($key, $loc); - # Make the new FTHelper object - my $out = Bio::SeqIO::FTHelper->new(); - $out->verbose($self->verbose()); - $out->key($data->{'FEATURE_KEY'}); - $out->loc($data->{'LOCATION'}); - delete $data->{'FEATURE_KEY'}; - delete $data->{'LOCATION'}; - delete $data->{'NAME'}; - map { - $out->field->{$_} ||= []; - ref($data->{$_}) ? ($out->field->{$_} = $data->{$_}) : - push(@{$out->field->{$_}},$data->{$_}); - - } keys %{ $data }; - push @{ $self->{'_params'}->{'-features'} }, - $out->_generic_seqfeature($self->{'_locfactory'}, - $self->get_param('accession_number')); - } - ####################### ODDS AND ENDS ####################### --- 1102,1105 ---- From cjfields at dev.open-bio.org Thu Jun 7 13:49:23 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Thu, 07 Jun 2007 17:49:23 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/SeqIO gbdriver.pm, 1.2, 1.3 genbank.pm, 1.164, 1.165 Message-ID: <200706071749.l57HnN0J024541@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/SeqIO In directory dev.open-bio.org:/tmp/cvs-serv24509 Modified Files: gbdriver.pm genbank.pm Log Message: Some more fixes for bug 2305 Index: genbank.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/genbank.pm,v retrieving revision 1.164 retrieving revision 1.165 diff -C2 -d -r1.164 -r1.165 *** genbank.pm 5 Jun 2007 23:46:12 -0000 1.164 --- genbank.pm 7 Jun 2007 17:49:21 -0000 1.165 *************** *** 204,207 **** --- 204,213 ---- swissprot GenBank GenPept REFSEQ embl PDB); + our %VALID_ALPHABET = ( + 'bp' => 'dna', + 'aa' => 'protein', + 'rc' => '' # rc = release candidate; file has no sequences + ); + sub _initialize { my($self, at args) = @_; *************** *** 257,263 **** my @tokens = split(' ', $1); - # there should be at least six tokens in the LOCUS line; if not we may be in trouble... - $self->warn('Missing tokens in the LOCUS line; output may be malformed') if @tokens < 6; - # this is important to have the id for display in e.g. FTHelper, # otherwise you won't know which entry caused an error --- 263,266 ---- *************** *** 265,271 **** $params{'-display_id'} = $display_id; # may still be useful if we don't want the seq ! $params{'-length'} = shift(@tokens); # the alphabet of the entry ! $params{'-alphabet'} = (lc(shift @tokens) eq 'bp') ? 'dna' : 'protein'; # for aa there is usually no 'molecule' (mRNA etc) if (($params{'-alphabet'} eq 'dna') || (@tokens > 2)) { --- 268,287 ---- $params{'-display_id'} = $display_id; # may still be useful if we don't want the seq ! my $seqlength = shift(@tokens); ! if (exists $VALID_ALPHABET{$seqlength}) { ! # moved one token too far. No locus name? ! $self->warn("Bad LOCUS name? Changing [$params{'-display_id'}] to 'unknown' and length to $display_id"); ! $params{'-display_id'} = 'unknown'; ! $params{'-length'} = $display_id; ! # add token back... ! unshift @tokens, $seqlength; ! } else { ! $params{'-length'} = $seqlength; ! } # the alphabet of the entry ! # shouldn't assign alphabet unless one is specifically designated (such as for rc files) ! my $alphabet = lc(shift @tokens); ! $params{'-alphabet'} = (exists $VALID_ALPHABET{$alphabet}) ? $VALID_ALPHABET{$alphabet} : ! $self->warn("Unknown alphabet: $alphabet"); # for aa there is usually no 'molecule' (mRNA etc) if (($params{'-alphabet'} eq 'dna') || (@tokens > 2)) { *************** *** 1073,1077 **** Args : - =cut --- 1089,1092 ---- Index: gbdriver.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/gbdriver.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gbdriver.pm 27 Mar 2007 12:56:57 -0000 1.2 --- gbdriver.pm 7 Jun 2007 17:49:21 -0000 1.3 *************** *** 207,211 **** sub next_seq { ! my $self = shift; local($/) = "\n"; my ($ann, $data, $annkey); --- 207,211 ---- sub next_seq { ! my $self = shift; local($/) = "\n"; my ($ann, $data, $annkey); *************** *** 253,261 **** chomp $seqdata->{DATA}; # postprocessing for some data - #if (exists $POSTPROCESS_DATA{ $seqdata->{NAME} }) { - # my $mt = "_process_".lc $seqdata->{NAME}; - # $self->$mt($seqdata); - #} - if ($seqdata->{NAME} eq 'FEATURES') { $self->_process_features($seqdata) --- 253,256 ---- *************** *** 300,303 **** --- 295,370 ---- } + sub next_chunk { + my $self = shift; + local($/) = "\n"; + my ($ann, $data, $annkey); + my $endrec = my $seenfeat = 0; + my $seqdata; + my $seenlocus; + my $hobj = $self->seqhandler; + PARSER: + while (defined(my $line = $self->_readline)) { + next if $line =~ m{^\s*$}; + # have to catch this at the top of the loop, then exit SEQ loop on // + # The reason? The regex match for ann/feat keys also matches some lines + # in the sequence; no easy way around it since some feature keys may + # start with a number as well + if ($ann && $ann eq 'ORIGIN') { + SEQ: + while (defined($line)) { + last SEQ if index($line,'//') == 0; + $seqdata->{DATA} .= uc