From bugzilla-daemon at portal.open-bio.org Sun Jul 1 17:32:30 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 17:32:30 -0400 Subject: [Bioperl-guts-l] [Bug 2279] WebDBSeqI.pm doesn't run under mod_perl2 In-Reply-To: Message-ID: <200707012132.l61LWU65003348@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2279 ------- Comment #2 from cjfields at uiuc.edu 2007-07-01 17:32 EST ------- Alicia, Haven't heard anything back in a while. If I don't hear back within a month's time I'll assume that this is fixed. -- 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 Sun Jul 1 17:43:32 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Sun, 01 Jul 2007 21:43:32 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio SeqIO.pm,1.97,1.98 Message-ID: <200707012143.l61LhWF6014281@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio In directory dev.open-bio.org:/tmp/cvs-serv14256 Modified Files: SeqIO.pm Log Message: bug 2295 Index: SeqIO.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO.pm,v retrieving revision 1.97 retrieving revision 1.98 diff -C2 -d -r1.97 -r1.98 *** SeqIO.pm 14 Jun 2007 14:16:09 -0000 1.97 --- SeqIO.pm 1 Jul 2007 21:43:29 -0000 1.98 *************** *** 310,317 **** use base qw(Bio::Root::Root Bio::Root::IO Bio::Factory::SequenceStreamI); - sub BEGIN { - eval { require Bio::SeqIO::staden::read; }; - } - my %valid_alphabet_cache; --- 310,313 ---- From bugzilla-daemon at portal.open-bio.org Sun Jul 1 17:46:18 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 17:46:18 -0400 Subject: [Bioperl-guts-l] [Bug 2295] Using Bio::SeqIO causes a warning message In-Reply-To: Message-ID: <200707012146.l61LkIT1003930@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2295 cjfields at uiuc.edu changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from cjfields at uiuc.edu 2007-07-01 17:46 EST ------- I have removed the BEGIN block, which was redundant (BEGIN blocks already in modules that actually use Bio::Seqio::staden::read should catch this). Haven't seen any problems so I'm closing this out. -- 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 Sun Jul 1 18:02:38 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Sun, 01 Jul 2007 22:02:38 +0000 Subject: [Bioperl-guts-l] bioperl-live/t/data glimmer3-fragment.detail, NONE, 1.1 glimmer3-fragment.predict, NONE, 1.1 Message-ID: <200707012202.l61M2c6O014338@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/t/data In directory dev.open-bio.org:/tmp/cvs-serv14313 Added Files: glimmer3-fragment.detail glimmer3-fragment.predict Log Message: bug 2299 --- NEW FILE: glimmer3-fragment.predict --- >gi|123977258|gb|AAVN02000021.1| Collinsella aerofaciens ATCC 25986 C_aerofaciens-2.0_Cont1.6, whole genome shotgun sequence orf00001 0 674 +3 6.98 orf00002 1071 1253 +3 4.94 orf00003 1231 2511 +1 11.93 orf00005 2677 2934 +1 5.63 --- NEW FILE: glimmer3-fragment.detail --- Command: glimmer3 -l -X AAVN02000021.1.fasta aavn.icm glimmer3-fragment Sequence file = AAVN02000021.1.fasta Number of sequences = 1 ICM model file = aavn.icm Excluded regions file = none List of orfs file = none Input is NOT separate orfs Independent (non-coding) scores are used Circular genome = false Truncated orfs = true Minimum gene length = 100 bp Maximum overlap bases = 30 Threshold score = 30 Use first start codon = false Start codons = atg,gtg,ttg Start probs = 0.600,0.300,0.100 Stop codons = taa,tag,tga GC percentage = 53.3% Ignore score on orfs longer than 812 >gi|123977258|gb|AAVN02000021.1| Collinsella aerofaciens ATCC 25986 C_aerofaciens-2.0_Cont1.6, whole genome shotgun sequence Sequence length = 2932 ----- Start ----- --- Length ---- ------------- Scores ------------- ID Frame of Orf of Gene Stop of Orf of Gene Raw InFrm F1 F2 F3 R1 R2 R3 NC +1 -2 79 192 189 111 -5.50 0 0 - 99 - - 0 0 -1 333 270 154 177 114 -13.99 0 - 0 99 0 - 0 0 -2 340 328 221 117 105 -9.96 0 - 0 93 0 0 1 5 +2 134 263 424 288 159 -10.03 0 0 0 99 - - 0 0 -3 458 233 3 453 228 1.15 0 - - 99 - - 0 0 +1 229 277 540 309 261 -9.76 0 0 - 99 - - - 0 0001 +3 0 0 674 669 669 7.01 99 - - 99 - - - 0 -2 727 580 368 357 210 -3.05 0 - - 99 - 0 - 0 -1 786 771 658 126 111 -14.03 0 - - - 0 - - 99 -2 904 859 728 174 129 -12.38 0 1 - - - 0 - 98 -3 914 905 750 162 153 -0.96 17 0 - 9 - 0 17 72 +1 718 778 930 210 150 -3.84 0 0 - 1 - - - 98 -1 978 918 787 189 129 -12.66 0 0 - 1 0 - 80 17 +3 750 804 986 234 180 -4.06 0 - - 0 - - - 99 -1 1110 1089 979 129 108 -11.01 0 - 0 - 0 - - 99 +2 983 1016 1234 249 216 -6.83 0 - 0 96 - 0 - 3 0002 +3 1005 1071 1253 246 180 5.32 99 - - 99 - 0 - 0 -2 1339 1225 1013 324 210 -6.58 0 - 0 49 - 0 - 50 +2 1322 1388 1492 168 102 -8.80 0 99 0 - 0 - 0 0 -3 1514 1514 1302 210 210 -4.98 0 99 - - 0 - 0 0 -1 1605 1221 1111 492 108 -14.08 0 - 0 99 0 0 0 0 -2 1771 1744 1619 150 123 -16.35 0 99 - - 0 0 0 0 +2 1814 1820 1930 114 108 -7.50 0 99 0 - - - 0 0 -3 1973 1622 1515 456 105 -1.02 0 99 0 - - - 0 0 -3 2258 2090 1974 282 114 -5.13 0 99 - - 0 - 0 0 +2 2000 2081 2287 285 204 -14.54 0 99 0 - 0 0 - 0 -2 2335 2332 2018 315 312 -12.59 0 99 - - 0 0 - 0 -1 2340 2247 1891 447 354 -3.45 0 99 - - 0 - - 0 0003 +1 1177 1231 2511 1332 1278 12.08 99 99 - - - - - 0 +2 2288 2453 2560 270 105 -9.51 0 - 0 0 0 - - 99 -1 2562 2502 2341 219 159 -1.23 0 99 0 - 0 - - 0 +3 2457 2478 2594 135 114 -12.83 0 - - 0 - - - 99 -3 2831 2816 2652 177 162 -9.05 0 84 - - - - 0 15 -2 2935 2935 2813 117 117 -9.81 0 99 0 0 0 0 - 0 0004 -1 2934 2880 2755 174 123 2.72 40 25 32 - 40 - - 1 +3 2802 2805 2933 129 126 -8.60 0 99 0 0 0 - - 0 0005 +1 2656 2677 2934 276 255 5.90 99 99 - - - - - 0 +2 2699 2798 2935 234 135 -3.20 0 99 0 0 0 - - 0 From cjfields at dev.open-bio.org Sun Jul 1 18:02:53 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Sun, 01 Jul 2007 22:02:53 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools Glimmer.pm,1.9,1.10 Message-ID: <200707012202.l61M2rA5014377@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/Tools In directory dev.open-bio.org:/tmp/cvs-serv14345/Bio/Tools Modified Files: Glimmer.pm Log Message: bug 2299 Index: Glimmer.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Glimmer.pm,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** Glimmer.pm 14 Jun 2007 14:16:17 -0000 1.9 --- Glimmer.pm 1 Jul 2007 22:02:51 -0000 1.10 *************** *** 34,45 **** while(my $gene = $parser->next_prediction()) { ! # $gene is an instance of Bio::Tools::Prediction::Gene, which inherits ! # off Bio::SeqFeature::Gene::Transcript. ! # ! # $gene->exons() returns an array of ! # Bio::Tools::Prediction::Exon objects ! # all exons: ! @exon_arr = $gene->exons(); # initial exons only @init_exons = $gene->exons('Initial'); --- 34,46 ---- while(my $gene = $parser->next_prediction()) { ! # For eukaryotic input (GlimmerM/GlimmerHMM), $gene will be an instance ! # of Bio::Tools::Prediction::Gene, which inherits off ! # Bio::SeqFeature::Gene::Transcript, and $gene->exons() will return an ! # array of Bio::Tools::Prediction::Exon objects. ! # For prokaryotic input (Glimmer2.X/Glimmer3.X), $gene will be an ! $ instance of Bio::SeqFeature::Generic + # all exons (eukaryotic only): + @exon_arr = $gene->exons(); # initial exons only @init_exons = $gene->exons('Initial'); *************** *** 117,120 **** --- 118,122 ---- use strict; + use Bio::Factory::FTLocationFactory; use Bio::Tools::Prediction::Gene; use Bio::Tools::Prediction::Exon; *************** *** 149,153 **** my $self = $class->SUPER::new(@args); ! my ($format, $seqname) = $self->_rearrange([qw(FORMAT SEQNAME)], @args); # override automagic format detection --- 151,156 ---- my $self = $class->SUPER::new(@args); ! my ($format, $seqname, $seqlength, $detail) = ! $self->_rearrange([qw(FORMAT SEQNAME SEQLENGTH DETAIL)], @args); # override automagic format detection *************** *** 160,166 **** --- 163,177 ---- } + if (defined($detail)) { + $self->_format('Glimmer'); + $self->_detail_file($detail); + } + # hardwire seq_id when creating gene and exon objects (Glimmer 2.X) $self->_seqname($seqname) if defined($seqname); + # store the length of the input sequence (Glimmer 2.X) + $self->_seqlength($seqlength) if defined($seqlength); + return $self; } *************** *** 389,400 **** my $source = 'Glimmer'; # Glimmer 2.X does not provide a sequence identifer ! # in the prediction report my $seqname = $self->_seqname(); while(defined($_ = $self->_readline())) { # Glimmer 3.X does provide a sequence identifier - # beware whitespace at the end (comes through from ! # (the fasta file) if ($_ =~ /^Putative Genes:$/) { $source = 'Glimmer_2.X'; --- 400,451 ---- my $source = 'Glimmer'; + # Store the sequence length(s) here, either from the + # seqlength arg to the constructor, or from the + # Glimmer 3.X detail file + my %seqlength = ( ); + # Glimmer 2.X does not provide a sequence identifer ! # in the prediction report (will default to unknown ! # if not specified in the seqname arg to the ! # constructor ! # ! # Glimmer 2.X does not report the length of the ! # input sequence, either (will default to undef ! # if not specified in the seqlength arg to the ! # constructor my $seqname = $self->_seqname(); + my $seqlength = $self->_seqlength(); + + if (defined($seqlength)) { + $seqlength{$seqname} = $seqlength + } + + # Parse the detail file, if we have one (Glimmer 3.X) + my $detail_file = $self->_detail_file(); + + if (defined($detail_file)) { + + my $io = Bio::Root::IO->new(-file => $detail_file); + my $seqname; + + while (defined($_ = $io->_readline())) { + if ($_ =~ /^>(\S+)/) { + $seqname = $1; + next; + } + + if (defined($seqname) && ($_ =~ /^Sequence length = (\d+)$/)) { + $seqlength{$seqname} = $1; + next; + } + } + } + + my $location_factory = Bio::Factory::FTLocationFactory->new(); while(defined($_ = $self->_readline())) { # Glimmer 3.X does provide a sequence identifier - # beware whitespace at the end (comes through from ! # the fasta file) if ($_ =~ /^Putative Genes:$/) { $source = 'Glimmer_2.X'; *************** *** 404,407 **** --- 455,459 ---- elsif ($_ =~ /^>(\S+)/) { $seqname = $1; + $seqlength = $seqlength{$seqname}; $source = 'Glimmer_3.X'; next; *************** *** 421,455 **** ( $1,$2,$3,$4 ); # Glimmer 2.X predictions do not include # the stop codon - this might extend the ! # prediction off either end of the sequence if ($source eq 'Glimmer_2.X') { ! if ($strand eq '-') { $end -= 3; } else { ! $end += 3; } } ! my $exon = Bio::Tools::Prediction::Exon->new ! ('-seq_id' => $seqname, ! '-start' => $start, ! '-end' => $end, ! '-strand' => $strand eq '-' ? '-1' : '1', ! '-source_tag' => $source, ! '-primary_tag'=> 'exon', ! '-tag' => { 'Group' => "GenePrediction_$genenum"}, ! ); ! my $gene = Bio::Tools::Prediction::Gene->new ( '-seq_id' => $seqname, ! '-primary_tag' => "gene", '-source_tag' => $source, '-tag' => { 'Group' => "GenePrediction_$genenum"}, ); - $gene->add_exon($exon); $self->_add_prediction($gene) } --- 473,570 ---- ( $1,$2,$3,$4 ); + my $circular_prediction = 0; + + # Check for a circular prediction before we + # start fiddling with the coordinates + if ($strand eq '+') { + if ($start > $end) { + $circular_prediction = 1; + } + } + else { + if ($start < $end) { + $circular_prediction = 1; + } + } + + if ($circular_prediction) { + unless (defined($seqlength)) { + $self->throw("need to know the sequence length to handle wraparound genes"); + } + } + # Glimmer 2.X predictions do not include # the stop codon - this might extend the ! # prediction off either end of the sequence. ! # This works fine even on circular/wraparound ! # predictions. if ($source eq 'Glimmer_2.X') { ! if ($strand eq '+') { ! $end += 3; ! } ! else { $end -= 3; } + } + + # We might have extended a Glimmer 2.X prediction + # beyond the boundaries of the input sequence. + # Also, Glimmer 3.X (with -X) will output predictions + # with coordinates less than 1 or greater than the + # length of the sequence. + foreach my $coord ($start, $end) { + if ($coord < 1) { + $coord = '<1'; + } + if (defined($seqlength) && ($coord > $seqlength)) { + if ($coord > $seqlength) { + $coord = ">$seqlength"; + } + } + } + + my $location_string; + + if ($circular_prediction) { + if ($strand eq '+') { + $location_string = "join($start..$seqlength,1..$end)"; + } else { ! $location_string = "join($start..1,$seqlength..$end)"; ! } } + else { + $location_string = "$start..$end"; } ! my $location_object = ! $location_factory->from_string($location_string); ! ! # The Location Factory seems to produce Simple ! # locations for minus strand genes with start < end. ! # Fixup to be consistent with previous behaviour. ! if ($strand eq '-') { ! if ($location_object->isa('Bio::Location::Simple')) { ! my $start = $location_object->start(); ! my $end = $location_object->end(); ! if ($start < $end) { ! ($start, $end) = ($end, $start); ! $location_object->start($start); ! $location_object->end($end); ! } ! } ! } ! ! my $gene = Bio::SeqFeature::Generic->new ( '-seq_id' => $seqname, ! '-location' => $location_object, ! '-strand' => $strand eq '-' ? '-1' : '1', '-source_tag' => $source, + '-primary_tag'=> 'gene', '-tag' => { 'Group' => "GenePrediction_$genenum"}, ); $self->_add_prediction($gene) } *************** *** 535,538 **** --- 650,670 ---- } + =head2 _seqlength + + Title : _seqlength + Usage : $obj->_seqlength($seqlength) + Function: internal (for Glimmer 2.X) + Example : + Returns : String + + =cut + + sub _seqlength { + my ($self, $val) = @_; + + $self->{'_seqlength'} = $val if $val; + return $self->{'_seqlength'}; + } + =head2 _format *************** *** 553,555 **** --- 685,704 ---- } + =head2 _detail_file + + Title : _detail_file + Usage : $obj->_detail_file($filename) + Function: internal (for Glimmer 3.X) + Example : + Returns : String + + =cut + + sub _detail_file { + my ($self, $val) = @_; + + $self->{'_detail_file'} = $val if $val; + return $self->{'_detail_file'}; + } + 1; From cjfields at dev.open-bio.org Sun Jul 1 18:02:53 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Sun, 01 Jul 2007 22:02:53 +0000 Subject: [Bioperl-guts-l] bioperl-live/t Genpred.t,1.25,1.26 Message-ID: <200707012202.l61M2r6q014382@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/t In directory dev.open-bio.org:/tmp/cvs-serv14345/t Modified Files: Genpred.t Log Message: bug 2299 Index: Genpred.t =================================================================== RCS file: /home/repository/bioperl/bioperl-live/t/Genpred.t,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** Genpred.t 27 Jun 2007 10:16:37 -0000 1.25 --- Genpred.t 1 Jul 2007 22:02:51 -0000 1.26 *************** *** 8,12 **** use BioperlTest; ! test_begin(-tests => 187); use_ok('Bio::Tools::Genscan'); --- 8,12 ---- use BioperlTest; ! test_begin(-tests => 157); use_ok('Bio::Tools::Genscan'); *************** *** 193,197 **** # Glimmer testing (Glimmer 2.X) ! my $glimmer_2 = Bio::Tools::Glimmer->new('-file' => test_input_file('Glimmer2.out'), '-seqname' => 'BCTDNA'); my $g2gene = $glimmer_2->next_prediction; --- 193,199 ---- # Glimmer testing (Glimmer 2.X) ! my $glimmer_2 = Bio::Tools::Glimmer->new('-file' => test_input_file('Glimmer2.out'), ! '-seqname' => 'BCTDNA', ! '-seqlength' => 29940,); my $g2gene = $glimmer_2->next_prediction; *************** *** 199,204 **** is($g2gene->seq_id, 'BCTDNA'); is($g2gene->source_tag, 'Glimmer_2.X'); ! is($g2gene->primary_tag, 'transcript'); ! is($g2gene->exons, 1); is($g2gene->start, 292); is($g2gene->end, 1623); --- 201,205 ---- is($g2gene->seq_id, 'BCTDNA'); is($g2gene->source_tag, 'Glimmer_2.X'); ! is($g2gene->primary_tag, 'gene'); is($g2gene->start, 292); is($g2gene->end, 1623); *************** *** 208,216 **** while ($g2gene = $glimmer_2->next_prediction) { $i++; - is($g2gene->exons, 1); if ($i == 2) { is($g2gene->start, 2349); is($g2gene->end, 2230); is($g2gene->strand, -1); } } --- 209,225 ---- while ($g2gene = $glimmer_2->next_prediction) { $i++; if ($i == 2) { is($g2gene->start, 2349); is($g2gene->end, 2230); is($g2gene->strand, -1); + } elsif ($i == 25) { + isa_ok($g2gene->location, 'Bio::Location::SplitLocationI'); + my @sublocations = $g2gene->location->sub_Location(); + is(scalar (@sublocations), 2); + is($sublocations[0]->start, 29263); + is($sublocations[0]->end, 29940); + is($sublocations[1]->start, 1); + is($sublocations[1]->end, 9); + is($g2gene->strand, 1); } } *************** *** 219,223 **** # Glimmer testing (Glimmer 3.X) ! my $glimmer_3 = Bio::Tools::Glimmer->new('-file' => test_input_file('Glimmer3.predict')); my $g3gene = $glimmer_3->next_prediction; --- 228,233 ---- # Glimmer testing (Glimmer 3.X) ! my $glimmer_3 = Bio::Tools::Glimmer->new('-file' => test_input_file('Glimmer3.predict'), ! '-detail' => test_input_file('Glimmer3.detail')); my $g3gene = $glimmer_3->next_prediction; *************** *** 225,232 **** is($g3gene->seq_id, 'BCTDNA'); is($g3gene->source_tag, 'Glimmer_3.X'); ! is($g3gene->primary_tag, 'transcript'); ! is($g3gene->exons, 1); ! is($g3gene->start, 29263); ! is($g3gene->end, 9); is($g3gene->strand, 1); --- 235,246 ---- is($g3gene->seq_id, 'BCTDNA'); is($g3gene->source_tag, 'Glimmer_3.X'); ! is($g3gene->primary_tag, 'gene'); ! isa_ok($g3gene->location, 'Bio::Location::SplitLocationI'); ! my @sublocations = $g3gene->location->sub_Location(); ! is(scalar (@sublocations), 2); ! is($sublocations[0]->start, 29263); ! is($sublocations[0]->end, 29940); ! is($sublocations[1]->start, 1); ! is($sublocations[1]->end, 9); is($g3gene->strand, 1); *************** *** 234,238 **** while ($g3gene = $glimmer_3->next_prediction) { $i++; - is($g3gene->exons,1); if ($i == 13) { is($g3gene->start, 14781); --- 248,251 ---- *************** *** 244,245 **** --- 257,282 ---- } is($i, 27); + + # Glimmer 3.X (prokaryotic gene fragment) + my $glimmer_3 = Bio::Tools::Glimmer->new( + '-file' => test_input_file('glimmer3-fragment.predict'), + '-detail' => test_input_file('glimmer3-fragment.detail'), + ); + my $g3gene = $glimmer_3->next_prediction; + + ok($g3gene); + + isa_ok $g3gene->location(), 'Bio::Location::Fuzzy'; + is $g3gene->location->start_pos_type(), 'BEFORE'; + is $g3gene->location->max_start(), 1; + is $g3gene->location->end_pos_type(), 'EXACT'; + is $g3gene->location->end(), 674; + + for (1..3) { $g3gene = $glimmer_3->next_prediction; } + + isa_ok $g3gene->location(), 'Bio::Location::Fuzzy'; + is $g3gene->location->start_pos_type(), 'EXACT'; + is $g3gene->location->start(), 2677; + is $g3gene->location->end_pos_type(), 'AFTER'; + is $g3gene->location->min_end(), 2932; + From cjfields at dev.open-bio.org Sun Jul 1 18:03:45 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Sun, 01 Jul 2007 22:03:45 +0000 Subject: [Bioperl-guts-l] bioperl-run/Bio/Tools/Run Glimmer.pm,1.1,1.2 Message-ID: <200707012203.l61M3j1U014436@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-run/Bio/Tools/Run In directory dev.open-bio.org:/tmp/cvs-serv14411 Modified Files: Glimmer.pm Log Message: bug 2299 Index: Glimmer.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-run/Bio/Tools/Run/Glimmer.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Glimmer.pm 13 Mar 2007 22:00:03 -0000 1.1 --- Glimmer.pm 1 Jul 2007 22:03:43 -0000 1.2 *************** *** 263,266 **** --- 263,267 ---- } push @run_args, $seq[0]->display_id(); + push @run_args, $seq[0]->length(); } *************** *** 281,285 **** sub _run { ! my ($self, $seq_file_name, $seq_id) = @_; my @cmd = ( --- 282,286 ---- sub _run { ! my ($self, $seq_file_name, $seq_id, $seq_length) = @_; my @cmd = ( *************** *** 341,346 **** my %parser_args = (-file => $output_file_name); ! # Pass along $seq_id if we got one (only should for glimmer2) ! if (defined($seq_id)) { $parser_args{-seqname} = $seq_id; } return Bio::Tools::Glimmer->new(%parser_args); --- 342,349 ---- my %parser_args = (-file => $output_file_name); ! # Pass along $seq_id and $seq_length if they were provided ! # (only should be for glimmer2). ! if (defined($seq_id)) { $parser_args{-seqname } = $seq_id; } ! if (defined($seq_length)) { $parser_args{-seqlength} = $seq_length; } return Bio::Tools::Glimmer->new(%parser_args); From bugzilla-daemon at portal.open-bio.org Sun Jul 1 18:06:12 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 18:06:12 -0400 Subject: [Bioperl-guts-l] [Bug 2299] Bio::Tools::Glimmer needs workaround to deal with Glimmer 2.X/3.X producing plus strand predictions with start > end In-Reply-To: Message-ID: <200707012206.l61M6CXU005010@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2299 cjfields at uiuc.edu changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED ------- Comment #9 from cjfields at uiuc.edu 2007-07-01 18:06 EST ------- Mark, I committed everything. Tests pass but I get 157 (not 158) tests; I had to manually add them in as there have been a few changes to the way we are loading files and running tests now for bioperl. Could you try running the tests and let me know if this is kosher? If so you can close it out. -- 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 Sun Jul 1 18:10:35 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 18:10:35 -0400 Subject: [Bioperl-guts-l] [Bug 2313] './Build test' stalls from current cvs bioperl-run In-Reply-To: Message-ID: <200707012210.l61MAZ7U005563@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2313 ------- Comment #1 from cjfields at uiuc.edu 2007-07-01 18:10 EST ------- As a note, when you check out any code via CVS you will (more likely than not) run into test fails unless you are checking out just prior to a release (and even then!). -- 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 Sun Jul 1 18:31:21 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 18:31:21 -0400 Subject: [Bioperl-guts-l] [Bug 2314] Bio:Graphics should handle more gracefully broken GenBank/EMBL formatted files In-Reply-To: Message-ID: <200707012231.l61MVLqb007006@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2314 cjfields at uiuc.edu changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #9 from cjfields at uiuc.edu 2007-07-01 18:31 EST ------- Merely glancing at the script documentation would have revealed the input format was incorrect, therefore GIGO applies. A true enhancement request (in this case, format validation) would add functionality but still relies on the user reading the documentation and using the script correctly. If you took the time to do that you would have realized the format entered was the wrong one to begin with. Merely ignoring the documentation, using the wrong format, and getting errors could be arguably considered a feature (i.e. it indicates a serious issue and would have prompted most users to read the docs, wherein the format issue would have been found). As Sendu states, user error isn't a bug. I'm marking this as invalid. -- 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 Sun Jul 1 18:52:19 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 18:52:19 -0400 Subject: [Bioperl-guts-l] [Bug 2317] Changing parameter MATRIX_NAME in RemoteBlast generates an error In-Reply-To: Message-ID: <200707012252.l61MqJpQ008189@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2317 cjfields at uiuc.edu changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from cjfields at uiuc.edu 2007-07-01 18:52 EST ------- Using MATRIX_NAME also requires setting GAPCOSTS, maybe to '15 2'; see these pages for more: http://www.ncbi.nlm.nih.gov/staff/tao/URLAPI/new/ http://www.ncbi.nlm.nih.gov/staff/tao/URLAPI/new/URLAPI_node47.html You can apparently use MATRIX_PARAM which sets both (setting GAPCOSTS to a default). I have added a bit to the RemoteBlast docs clarifying that; thanks for pointing that out. -- 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 Sun Jul 1 18:52:57 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Sun, 01 Jul 2007 22:52:57 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools/Run RemoteBlast.pm, 1.44, 1.45 Message-ID: <200707012252.l61Mqvwc014569@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/Tools/Run In directory dev.open-bio.org:/tmp/cvs-serv14544 Modified Files: RemoteBlast.pm Log Message: bug 2317 Index: RemoteBlast.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Run/RemoteBlast.pm,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** RemoteBlast.pm 14 Jun 2007 14:16:18 -0000 1.44 --- RemoteBlast.pm 1 Jul 2007 22:52:55 -0000 1.45 *************** *** 89,93 **** # This example shows how to change a CGI parameter: ! $Bio::Tools::Run::RemoteBlast::HEADER{'MATRIX_NAME'} = 'BLOSUM25'; # And this is how to delete a CGI parameter: --- 89,94 ---- # This example shows how to change a CGI parameter: ! $Bio::Tools::Run::RemoteBlast::HEADER{'MATRIX_NAME'} = 'BLOSUM45'; ! $Bio::Tools::Run::RemoteBlast::HEADER{'GAPCOSTS'} = '15 2'; # And this is how to delete a CGI parameter: From cjfields at dev.open-bio.org Sun Jul 1 21:01:02 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Mon, 02 Jul 2007 01:01:02 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/SeqIO swiss.pm,1.107,1.108 Message-ID: <200707020101.l62112fH014767@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/SeqIO In directory dev.open-bio.org:/tmp/cvs-serv14733/Bio/SeqIO Modified Files: swiss.pm Log Message: bug 2288 Index: swiss.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/swiss.pm,v retrieving revision 1.107 retrieving revision 1.108 diff -C2 -d -r1.107 -r1.108 *** swiss.pm 14 Jun 2007 14:16:17 -0000 1.107 --- swiss.pm 2 Jul 2007 01:01:00 -0000 1.108 *************** *** 1048,1055 **** # Convert data in classification lines into classification array. ! # only split on ';' or '.' so that classification that is 2 or more words ! # will still get matched, use map() to remove trailing/leading/intervening # spaces ! my @class = map { s/^\s+//; s/\s+$//; s/\s{2,}/ /g; $_; } split /[;\.]+/, $class_lines; if ($class[0] =~ /viruses/i) { --- 1048,1056 ---- # Convert data in classification lines into classification array. ! # Remove trailing . then split on ';' or '.;' so that classification that is 2 ! # or more words will still get matched, use map() to remove trailing/leading/intervening # spaces ! $class_lines=~s/\.\s*$//; ! my @class = map { s/^\s+//; s/\s+$//; s/\s{2,}/ /g; $_; } split /[;\.]*;/, $class_lines; if ($class[0] =~ /viruses/i) { From cjfields at dev.open-bio.org Sun Jul 1 21:01:02 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Mon, 02 Jul 2007 01:01:02 +0000 Subject: [Bioperl-guts-l] bioperl-live/t Handler.t,1.3,1.4 swiss.t,1.8,1.9 Message-ID: <200707020101.l62112Ik014770@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/t In directory dev.open-bio.org:/tmp/cvs-serv14733/t Modified Files: Handler.t swiss.t Log Message: bug 2288 Index: swiss.t =================================================================== RCS file: /home/repository/bioperl/bioperl-live/t/swiss.t,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** swiss.t 27 Jun 2007 10:16:38 -0000 1.8 --- swiss.t 2 Jul 2007 01:01:00 -0000 1.9 *************** *** 8,12 **** use BioperlTest; ! test_begin(-tests => 238); use_ok('Bio::SeqIO'); --- 8,12 ---- use BioperlTest; ! test_begin(-tests => 239); use_ok('Bio::SeqIO'); *************** *** 353,354 **** --- 353,367 ---- is($seq->namespace, shift @namespaces); } + + # bug 2288 + # Q8GBD3.swiss + $seqio = Bio::SeqIO->new( -verbose => $verbose, + -format => 'swiss', + -file => test_input_file('Q8GBD3.swiss')); + + while (my $seq = $seqio->next_seq) { + my $lineage = join(';', $seq->species->classification); + is ($lineage, 'Acetobacter aceti;Acetobacter subgen. Acetobacter;'. + 'Acetobacter;Acetobacteraceae;Rhodospirillales;Alphaproteobacteria;'. + 'Proteobacteria;Bacteria'); + } Index: Handler.t =================================================================== RCS file: /home/repository/bioperl/bioperl-live/t/Handler.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Handler.t 27 Jun 2007 10:16:37 -0000 1.3 --- Handler.t 2 Jul 2007 01:01:00 -0000 1.4 *************** *** 8,12 **** use BioperlTest; ! test_begin(-tests => 545); use_ok('Bio::SeqIO'); --- 8,12 ---- use BioperlTest; ! test_begin(-tests => 546); use_ok('Bio::SeqIO'); *************** *** 1005,1006 **** --- 1005,1019 ---- is($seq->namespace, shift @namespaces); } + + # bug 2288 + # Q8GBD3.swiss + $seqio = Bio::SeqIO->new( -verbose => $verbose, + -format => 'swiss', + -file => test_input_file('Q8GBD3.swiss')); + + while (my $seq = $seqio->next_seq) { + my $lineage = join(';', $seq->species->classification); + is ($lineage, 'Acetobacter aceti;Acetobacter subgen. Acetobacter;'. + 'Acetobacter;Acetobacteraceae;Rhodospirillales;Alphaproteobacteria;'. + 'Proteobacteria;Bacteria'); + } From cjfields at dev.open-bio.org Sun Jul 1 21:01:34 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Mon, 02 Jul 2007 01:01:34 +0000 Subject: [Bioperl-guts-l] bioperl-live/t/data Q8GBD3.swiss,NONE,1.1 Message-ID: <200707020101.l6211YIE014827@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/t/data In directory dev.open-bio.org:/tmp/cvs-serv14802 Added Files: Q8GBD3.swiss Log Message: bug 2288 --- NEW FILE: Q8GBD3.swiss --- ID CH10_ACEAC Reviewed; 97 AA. AC Q8GBD3; DT 11-APR-2003, integrated into UniProtKB/Swiss-Prot. DT 01-MAR-2003, sequence version 1. DT 12-JUN-2007, entry version 26. DE 10 kDa chaperonin (Protein Cpn10) (groES protein). GN Name=groS; Synonyms=groES; OS Acetobacter aceti. OC Bacteria; Proteobacteria; Alphaproteobacteria; Rhodospirillales; OC Acetobacteraceae; Acetobacter; Acetobacter subgen. Acetobacter. OX NCBI_TaxID=435; RN [1] RP NUCLEOTIDE SEQUENCE [GENOMIC DNA]. RC STRAIN=IFO 3283 / LMG 1513; RX PubMed=16233284; DOI=10.1263/jbb.94.140; RA Okamoto-Kainuma A., Yan W., Kadono S., Tayama K., Koizumi Y., RA Yanagida F.; RT "Cloning and characterization of groESL operon in Acetobacter aceti."; RL J. Biosci. Bioeng. 94:140-147(2002). CC -!- FUNCTION: Binds to Cpn60 in the presence of Mg-ATP and suppresses CC the ATPase activity of the latter. CC -!- SUBUNIT: Heptamer of 7 subunits arranged in a ring (By CC similarity). CC -!- SUBCELLULAR LOCATION: Cytoplasm (By similarity). CC -!- SIMILARITY: Belongs to the groES chaperonin family. CC ----------------------------------------------------------------------- CC Copyrighted by the UniProt Consortium, see http://www.uniprot.org/terms CC Distributed under the Creative Commons Attribution-NoDerivs License CC ----------------------------------------------------------------------- DR EMBL; AB081586; BAC16231.1; -; Genomic_DNA. DR HSSP; P09621; 1HX5. DR GO; GO:0006457; P:protein folding; IEA:HAMAP. DR HAMAP; MF_00580; -; 1. DR InterPro; IPR001476; Chaprnin_Cpn10. DR Gene3D; G3DSA:2.30.33.40; Chaprnin_Cpn10; 1. DR PANTHER; PTHR10772; Chaprnin_Cpn10; 1. DR Pfam; PF00166; Cpn10; 1. DR PRINTS; PR00297; CHAPERONIN10. DR ProDom; PD000566; Chaprnin_Cpn10; 1. DR PROSITE; PS00681; CHAPERONINS_CPN10; 1. KW Chaperone. FT CHAIN 1 97 10 kDa chaperonin. FT /FTId=PRO_0000174677. SQ SEQUENCE 97 AA; 10514 MW; 4DF9365DE3CDA23E CRC64; MTKFRPLHDR VVVRRLEGEQ KTAGGIIIPD TAQEKPMEGE VVAVGPGARN EQGQIVALDV KAGDRVLFGK WSGTEVKIDG EELLIMKESD IMGVVTA // From bugzilla-daemon at portal.open-bio.org Sun Jul 1 21:03:05 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 21:03:05 -0400 Subject: [Bioperl-guts-l] [Bug 2288] Bio::SeqIO::swiss throws when classification includes internal period In-Reply-To: Message-ID: <200707020103.l62135cq015135@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2288 cjfields at uiuc.edu changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from cjfields at uiuc.edu 2007-07-01 21:03 EST ------- Roy, this works fine (at least it passes all tests). I added another test to swiss.t using swiss acc # Q8GBD3 as an example. -- 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 Sun Jul 1 21:07:26 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 21:07:26 -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: <200707020107.l6217Qus015363@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2305 ------- Comment #9 from cjfields at uiuc.edu 2007-07-01 21:07 EST ------- Martin, could you try the latest from CVS? I believe this catches the bad alphabet issue. -- 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 Sun Jul 1 21:15:55 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Mon, 02 Jul 2007 01:15:55 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/Search/Result BlastResult.pm, 1.27, 1.28 GenericResult.pm, 1.29, 1.30 Message-ID: <200707020115.l621FtFj014880@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/Search/Result In directory dev.open-bio.org:/tmp/cvs-serv14855 Modified Files: BlastResult.pm GenericResult.pm Log Message: bug 2305 Index: BlastResult.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Search/Result/BlastResult.pm,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** BlastResult.pm 14 Jun 2007 14:16:14 -0000 1.27 --- BlastResult.pm 2 Jul 2007 01:15:53 -0000 1.28 *************** *** 131,141 **** =head2 hits ! This method overrides L to take ! into account the possibility of multiple iterations, as occurs in PSI-BLAST reports. ! ! If there are multiple iterations, all 'new' hits for all iterations are returned. ! These are the hits that did not occur in a previous iteration. ! ! See Also: L =cut --- 131,147 ---- =head2 hits ! Title : hits ! Usage : my @hits = $result->hits ! Function: Returns the available hits for this Result ! Returns : Array of L objects ! Args : none ! Note : This method overrides L to ! take into account the possibility of multiple iterations, as occurs ! in PSI-BLAST reports. ! If there are multiple iterations, all 'new' hits for all iterations ! are returned. These are the hits that did not occur in a previous ! iteration. ! ! See Also: L =cut *************** *** 155,165 **** =head2 next_hit ! This method overrides L to take ! into account the possibility of multiple iterations, as occurs in PSI-BLAST reports. ! ! If there are multiple iterations, calling next_hit() traverses the ! all of the hits, old and new, for each iteration, calling next_hit() on each iteration. ! ! See Also: L =cut --- 161,179 ---- =head2 next_hit ! Title : next_hit ! Usage : while( $hit = $result->next_hit()) { ... } ! Function: Returns the next available Hit object, representing potential ! matches between the query and various entities from the database. ! Returns : a Bio::Search::Hit::HitI object or undef if there are no more. ! Args : none ! Note : This method overrides L ! to take into account the possibility of multiple iterations, as ! occurs in PSI-BLAST reports. ! ! If there are multiple iterations, calling next_hit() traverses the ! all of the hits, old and new, for each iteration, calling next_hit() ! on each iteration. ! ! See Also: L =cut *************** *** 189,200 **** =head2 num_hits ! This method overrides L to take ! into account the possibility of multiple iterations, as occurs in PSI-BLAST reports. ! ! If there are multiple iterations, calling num_hits() returns the number of ! 'new' hits for each iteration. These are the hits that did not occur ! in a previous iteration. ! ! See Also: L =cut --- 203,220 ---- =head2 num_hits ! Title : num_hits ! Usage : my $hitcount= $result->num_hits ! Function: returns the number of hits for this query result ! Returns : integer ! Args : none ! Note : This method overrides L ! to take into account the possibility of multiple iterations, as ! occurs in PSI-BLAST reports. ! ! If there are multiple iterations, calling num_hits() returns the ! number of 'new' hits for each iteration. These are the hits that did ! not occur in a previous iteration. ! ! See Also: L =cut *************** *** 317,321 **** =head2 number_of_iterations ! Same as L. =cut --- 337,345 ---- =head2 number_of_iterations ! Usage : $num_iterations = $blast->number_of_iterations; ! Purpose : Get the number of iterations in the search result (PSI-BLAST). ! Returns : Total number of iterations in the report ! Argument : none (read-only) ! Note : Alias of L. =cut *************** *** 325,329 **** =head2 round ! Same as L. =cut --- 349,361 ---- =head2 round ! Usage : $round = $blast->round( $number ); ! Purpose : Get an IterationI object for the specified iteration ! in the search result (PSI-BLAST). ! Returns : Bio::Search::Iteration::IterationI object ! Throws : Bio::Root::NoSuchThing exception if $number is not within ! range of the number of iterations in this report. ! Argument : integer (optional, if not specified get the last iteration) ! First iteration = 1 ! Note : Alias of L. =cut Index: GenericResult.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Search/Result/GenericResult.pm,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** GenericResult.pm 14 Jun 2007 14:16:14 -0000 1.29 --- GenericResult.pm 2 Jul 2007 01:15:53 -0000 1.30 *************** *** 637,641 **** Args : none - =cut --- 637,640 ---- From bugzilla-daemon at portal.open-bio.org Sun Jul 1 21:16:35 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 21:16:35 -0400 Subject: [Bioperl-guts-l] [Bug 2310] nonstandard method docs in Bio::Search::Result::BlastResult In-Reply-To: Message-ID: <200707020116.l621GZdU015908@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2310 ------- Comment #1 from cjfields at uiuc.edu 2007-07-01 21:16 EST ------- Dave, committed some changes. If this shows up correctly via the Deobfuscator could we close this one out? -- 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 Sun Jul 1 21:32:09 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 21:32:09 -0400 Subject: [Bioperl-guts-l] [Bug 2321] AlignIO::next_aln does not return multiple alignments for bl2seq In-Reply-To: Message-ID: <200707020132.l621W9d4016744@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2321 ------- Comment #1 from cjfields at uiuc.edu 2007-07-01 21:32 EST ------- Confirmed using bioperl-live. For the time being use the following workaround, which generates all alignments in my hands: use Bio::AlignIO; use Bio::SearchIO; $inputfilename = "myalign.bl2seq"; $in = Bio::SearchIO->new('-file' => $inputfilename, '-format' => 'blast', -report_type => 'blastn' ); $out = Bio::AlignIO->new(-file => ">out.aln.fasta", '-format' => 'fasta'); while ( my $result = $in->next_result() ) { while (my $hit = $result->next_hit) { while (my $hsp = $hit->next_hsp) { $out->write_aln($hsp->get_aln); } } } -- 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 Sun Jul 1 22:46:51 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Sun, 1 Jul 2007 22:46:51 -0400 Subject: [Bioperl-guts-l] [Bug 2262] Bio::Seq object loses sequence data when blessed as Bio::Seq::Meta::Array In-Reply-To: Message-ID: <200707020246.l622kpwX020039@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2262 ------- Comment #3 from cjfields at uiuc.edu 2007-07-01 22:46 EST ------- Roy, I don't think there is an easy way to fix this beyond specify in the relevant docs that Bio::Seq::Meta and progeny are Bio::PrimarySeqI and not Bio::SeqI, so blessing them into anything other than another Bio::PrimarySeqI-compliant class is not supported. I've added that caveat to the POD for Bio::Seq::Meta and Bio::Seq::Meta::Array. Also, in my view we need to reimplement Bio::Seq::Meta::Array to clarify the ambiguous nature of the class, e.g. is it a PrimarySeqI or SeqI? It def. shouldn't be both; the utility of having the class set up this way needs to be explained more clearly. I'll leave this open for now; we could possibly have this be an enhancement request 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 cjfields at dev.open-bio.org Sun Jul 1 22:52:25 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Mon, 02 Jul 2007 02:52:25 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/Seq Meta.pm,1.15,1.16 Message-ID: <200707020252.l622qPnE015033@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/Seq In directory dev.open-bio.org:/tmp/cvs-serv15008 Modified Files: Meta.pm Log Message: bug 2262 (add caveat, TODO about Meta::Array interface ambiguity) Index: Meta.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Seq/Meta.pm,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** Meta.pm 8 Nov 2006 18:58:52 -0000 1.15 --- Meta.pm 2 Jul 2007 02:52:23 -0000 1.16 *************** *** 31,34 **** --- 31,36 ---- ); + # Only blessing into Bio::PrimarySeqI implementations is supported! + bless $seq, Bio::Seq::Meta; # the existing sequence object can be a Bio::PrimarySeq, too From cjfields at dev.open-bio.org Sun Jul 1 22:53:09 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Mon, 02 Jul 2007 02:53:09 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/Seq/Meta Array.pm,1.14,1.15 Message-ID: <200707020253.l622r9ab015087@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/Seq/Meta In directory dev.open-bio.org:/tmp/cvs-serv15062 Modified Files: Array.pm Log Message: bug 2262 Index: Array.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Seq/Meta/Array.pm,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** Array.pm 26 Sep 2006 22:03:14 -0000 1.14 --- Array.pm 2 Jul 2007 02:53:07 -0000 1.15 *************** *** 28,32 **** --- 28,37 ---- -varbose=>1, # to see warnings ); + + # Though this class implements both Bio::SeqI and Bio::PrimarySeqI, + # only blessing into Bio::PrimarySeqI implementations is supported! + bless $seq, Bio::Seq::Meta::Array; + # the existing sequence object can be a Bio::PrimarySeq, too *************** *** 77,80 **** --- 82,91 ---- L + =head1 TODO + + Should this class be reimplemented? The use of both Bio::SeqI and + Bio::PrimarySeqI interfaces is ambiguous and leads to subtle bugs (see bug + 2262) when blessing into anything other than Bio::PrimarySeqI. + =head1 FEEDBACK From jason at dev.open-bio.org Mon Jul 2 01:48:28 2007 From: jason at dev.open-bio.org (Jason Stajich) Date: Mon, 02 Jul 2007 05:48:28 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/MolEvol - New directory Message-ID: <200707020548.l625mRAk015280@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/MolEvol In directory dev.open-bio.org:/tmp/cvs-serv15254/MolEvol Log Message: Directory /home/repository/bioperl/bioperl-live/Bio/MolEvol added to the repository From jason at dev.open-bio.org Mon Jul 2 02:22:10 2007 From: jason at dev.open-bio.org (Jason Stajich) Date: Mon, 02 Jul 2007 06:22:10 +0000 Subject: [Bioperl-guts-l] bioperl-live/t MK.t,NONE,1.1 Message-ID: <200707020622.l626MA8s015533@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/t In directory dev.open-bio.org:/tmp/cvs-serv15486/t Added Files: MK.t Log Message: McDonald-Kreitman implementation --- NEW FILE: MK.t --- # -*-Perl-*- Test Harness script for Bioperl # $Id: MK.t,v 1.1 2007/07/02 06:22:08 jason Exp $ # This will outline many tests for the population genetics # objects in the Bio::PopGen namespace use strict; BEGIN { use lib 't/lib'; use BioperlTest; test_begin(-tests => 38); use_ok('Bio::AlignIO'); use_ok('Bio::PopGen::Statistics'); use_ok('Bio::PopGen::Utilities'); } my $verbose = test_debug(); # - McDonald Kreitman tests - my $stats = Bio::PopGen::Statistics->new(-verbose => $verbose); isa_ok($stats, 'Bio::PopGen::Statistics'); my $alnio = Bio::AlignIO->new(-format => 'fasta', -file => test_input_file('CG2865.fasaln')); my $aln = $alnio->next_aln; isa_ok($aln,'Bio::SimpleAlign'); my $population = Bio::PopGen::Utilities->aln_to_population(-alignment => $aln, -site_model=> 'codon'); isa_ok($population,'Bio::PopGen::Population'); my @marker_names = $population->get_marker_names; my @inds = $population->get_Individuals; is(scalar @marker_names, 434, 'Marker Names'); is(scalar @inds, 6,'Number of Inds'); my (@ingroup_seqs, at outgroup_seqs1, @outgroup_seqs2); for my $ind ( $population->get_Individuals ) { my $id = $ind->unique_id; # do we allow ingroup to be a list as well? my $pushed = 0; if( $id =~ /sim/ ) { push @ingroup_seqs, $ind; $pushed++; } if( ! $pushed ) { if( $id =~ /mel/ ) { push @outgroup_seqs1, $ind; $pushed++; } elsif( $id =~ /yak/ ) { push @outgroup_seqs2, $ind; $pushed++; } } # if( ! $pushed ) { # warn("sequence $id was not grouped, ignoring...\n"); # push @ingroup_seqs, $ind; #} } is(scalar @ingroup_seqs, 4, 'number of ingroup sequences'); is(scalar @outgroup_seqs1, 1, 'number of outgroup1 sequences'); is(scalar @outgroup_seqs2, 1, 'number of outgroup2 sequences'); my $polarized = 0; my @counts = $stats->mcdonald_kreitman($population, \@ingroup_seqs, \@outgroup_seqs1, $polarized); is($counts[0], 0, 'NSpoly'); is($counts[1], 1, 'NSfixed'); is($counts[2], 3, 'Spoly'); is($counts[3], 7, 'Sfixed'); my $mk; if( $Bio::PopGen::Statistics::has_twotailed ) { $mk = $stats->mcdonald_kreitman_counts(@counts); is($mk, 1, 'McDonald Kreitman'); } else { test_skip(-tests => 1, -require_module => 'Text::NSP::Measures::2D::Fisher2::twotailed'); } @counts = $stats->mcdonald_kreitman($population, \@ingroup_seqs, \@outgroup_seqs2, $polarized); is($counts[0], 0, 'NSpoly'); is($counts[1], 6, 'NSfixed'); is($counts[2], 3, 'Spoly'); is($counts[3], 16, 'Sfixed'); if( $Bio::PopGen::Statistics::has_twotailed ) { $mk = $stats->mcdonald_kreitman_counts(@counts); is(sprintf("%.2f",$mk), 0.55, 'McDonald Kreitman'); } else { test_skip(-tests => 1, -require_module => 'Text::NSP::Measures::2D::Fisher2::twotailed'); } # test 2nd aln file $alnio = Bio::AlignIO->new(-format => 'fasta', -file => test_input_file('CG11099.fasaln')); $aln = $alnio->next_aln; isa_ok($aln,'Bio::SimpleAlign'); $population = Bio::PopGen::Utilities->aln_to_population(-alignment => $aln, -site_model=> 'codon'); isa_ok($population,'Bio::PopGen::Population'); @marker_names = $population->get_marker_names; @inds = $population->get_Individuals; is(scalar @marker_names, 378, 'Marker Names'); is(scalar @inds, 7,'Number of Inds'); @ingroup_seqs = (); @outgroup_seqs1 = (); @outgroup_seqs2 = (); for my $ind ( $population->get_Individuals ) { my $id = $ind->unique_id; # do we allow ingroup to be a list as well? my $pushed = 0; if( $id =~ /sim/ ) { push @ingroup_seqs, $ind; $pushed++; } if( ! $pushed ) { if( $id =~ /mel/ ) { push @outgroup_seqs1, $ind; $pushed++; } elsif( $id =~ /yak/ ) { push @outgroup_seqs2, $ind; $pushed++; } } # if( ! $pushed ) { # warn("sequence $id was not grouped, ignoring...\n"); # push @ingroup_seqs, $ind; #} } is(scalar @ingroup_seqs, 5, 'number of ingroup sequences'); is(scalar @outgroup_seqs1, 1, 'number of outgroup1 sequences'); is(scalar @outgroup_seqs2, 1, 'number of outgroup2 sequences'); $polarized = 0; @counts = $stats->mcdonald_kreitman($population, \@ingroup_seqs, \@outgroup_seqs1, $polarized); is($counts[0], 9, 'NSpoly'); is($counts[1], 1, 'NSfixed'); is($counts[2], 26, 'Spoly'); is($counts[3], 17, 'Sfixed'); if( $Bio::PopGen::Statistics::has_twotailed ) { $mk = $stats->mcdonald_kreitman_counts(@counts); is(sprintf("%.2f",$mk), 0.14, 'McDonald Kreitman'); } else { test_skip(-tests => 1, -require_module => 'Text::NSP::Measures::2D::Fisher2::twotailed'); } @counts = $stats->mcdonald_kreitman($population, \@ingroup_seqs, \@outgroup_seqs2, $polarized); is($counts[0], 9, 'NSpoly'); is($counts[1], 10, 'NSfixed'); is($counts[2], 26, 'Spoly'); is($counts[3], 42, 'Sfixed'); if( $Bio::PopGen::Statistics::has_twotailed ) { $mk = $stats->mcdonald_kreitman_counts(@counts); is(sprintf("%.2f",$mk), '0.60', 'McDonald Kreitman'); } else { test_skip(-tests => 1, -require_module => 'Text::NSP::Measures::2D::Fisher2::twotailed'); } From jason at dev.open-bio.org Mon Jul 2 02:22:10 2007 From: jason at dev.open-bio.org (Jason Stajich) Date: Mon, 02 Jul 2007 06:22:10 +0000 Subject: [Bioperl-guts-l] bioperl-live/t/data CG11099.fasaln, NONE, 1.1 CG2865.fasaln, NONE, 1.1 Message-ID: <200707020622.l626MAbt015538@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/t/data In directory dev.open-bio.org:/tmp/cvs-serv15486/t/data Added Files: CG11099.fasaln CG2865.fasaln Log Message: McDonald-Kreitman implementation --- NEW FILE: CG11099.fasaln --- >mel;CG11099-PA_2R_EXON_15751501-15753284 ATGAACAAAACGATTCTGCACTGGAGCTACCTGAATTTCAAGGATGTCCCGATGGATCTGTTCCTCTACGAGGATCTCGAGGAAGTCTACCTCAAGGAGAACTTCATCTCGGTGATACCCAAATGGCTGCTGAACATCACCACACTGAAGTTTATTCATTTGGCTGGCAATAATCTGAGTGAACTGCCGGTGGACATCTATATGCTGGAGAATCTGGAGTTCCTGGACGTATCCAACAATGAGCTCAAGGAGCTGCCCCCCACACTGGGTCTCCTGTTGAATCTCCAGCAGCTGAATGTGTCGGGGAATCAGCTCACCGAACTACCAGTGGAGCTAAGTGGTTTGCGCAATCTGGAGCACCTGAACATTGGCAAGAACCAATTTCGACGCCTGCCGGTTCAGCTGAGCGAGTGCGTCCGCCTCAACGAGCTGAATGTGAGCGACAACGAGGCGCTTGTCCACATCCCCGAGCGCATCTCCAACCTGCCCATGCTGCAGTCCCTCGCCGCAGATCGTTGTGCGCTCGTCTACTTGCCGGCAGCTCTCTCCAAGTTCATGAACCATGTGCGCATCTTCCACAACACCGCTATCAACTACATACCCATGGTCTATGAGAGGTTCTATCAAAACTTTTACGACAACCGCCAGAGGAATACTCCCGTCGCCGTGCATCGCAAGGGTTTGTTTTGGGTCCGCGAGCTGGAGACCAGCACCAGGTTGCTTCTTCCGGTTGGCACCCGCACAGTATTTCCGGTTCCGTCGGTGGAGAACCGCGTTTCGCTCTACGATGACTGTCTGCACGCTCTGCAGACGCTGAACCGCTTCACGCCCGTATATGAGAATGTAGCCATGCATCGTCTGCTCCCAGAACCGTACATCAGTTCCCACATCAACAATGGACCCATCGCCCGCTGCACGAACTCCACCTGCTCCAGATGTCTCTATACCTCGTACTACTTCATGGTTGTGAAAAGGCGTGGCAGTACATC CAAACAGCTCTTCACCTGCAACTTCTGCACCAACCGATGTGGTCTCCTTTGGTTGACTAGCAATGATAAGAAGTACTACCAATTGGCTTGGCGAGTCTCAGATGATGACGACGATGATGAGGAAGAACACATGGCCAGCAACAAA >sim;w501+f NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCCCCACACNNNNNNNNNNNNNNNNNNTCCAGCAGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTGAACATNNNNNNNNNCCAATTTCGCCNNNTGCCGGTGCAGCTGAGCGAGTGCNNNNNNNTCAACGAGCTGAATGTGAGCGACAACGAGGCGCTGGTCCACATCCCCGAGCGCATCTCCAACCTGCCCATGCTGCAGTCCCTCGCCGCCGATCGTTGTGCGCTCGTCTACTTGCCGGCAGCTCTCTCCAAGTTCATGAACCATGTGCGCATCTTCCACAACACCGCTATCAACTACATACCCATGGTCTATGAGAGGTTCTATCAAAACTTTTACGACAACCGCCAGAGGAATACTCCCGTCGCCGTTCATCGCAAGGGTTTGTTTTGGGTCCGAGAGCTGGAGACCGGCACCAGGTTGCTGCTTCCGGTGGGCACCCGCACAGTATTTCCGGTTCCGTCGGTGGAGAACCGGGTCTCACTCTACGACGACTGTCTGCACGCTCTGCAGACGCTGAACCGCTTCACGCCCGTTTATGAGAATGTAGCCATGCATCGCCTGCTCCCAGAACCGTACATCAGTTCCCACATCAACAATGGACCCATCGCCCGCTGCACGAACTCCACCTGCTCCAGATGTCTGTATACCTCGTACTACTTCATGGTTGTGAAAAGNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGACGATGATGAGGAAGAACACATGGCCNNNNNNNNN >sim;sim ATGAACAAAACGATTCTGCACTGGAGCTATCTGAATTTCAAGGATGTGCCGATGGATCTGTTCCTCTACGAGGATCTCGAGGAGGTCTACCTCAAGGAGAACTTCATCTCGGTAATACCCAAATGGTTGCTGAACATCACCACACTGAAGTTTATTCATTTGGCTGGCAATAATNTGAGTGAGCTGCCGGTGGACATCTATATGCTGGAGAACCTGGAGTTCCTGGACGTATCCAACAATGAGCTCAAGGAGCTGCCCCCCNNNNTGGGTCTCCTGTTGAATCTCCAGCAGCTGAATGTGTCTGGCAATCAGCTCACCGAACTTCCAGTGGAGCTCAGTGGTTTGCGCAATCTGGAGCACCTGAACATCGGCAAGAACCAATTTCGCCGCCTGCCGGTGCAGCTGAGCGAGTGTGTCCGCCTCAACGAGCTGAATGTGAGCGACAACGAGGCGCTGGTCCACATCCCCGAGCGCATCTCCAACCTGCCCATGCTGCAGTCCCTCGCCGCCGATCGTTGTGCGCTCGTCTACTTGCCGGCTGCTCTCTCCAAGTTCATGAACCATGTGCGCATCTTCCACAACACCGCTATCAACTACATACCCATGGTCTATGAGAGGTTCTATCAAAACTTTTACGACAACCGCCAGAGGAATACTCCCGTCGCCGTTCATCGCAAGGGTTTGTTTTGGGTCCGAGAGCTGGAGACCGGCACCAGGTTGCTGCTTCCGGTGGGCACCCGCACAGTATTTCCGGTTCCGTCAGCGGAGAACCGGGTATCGCTCTATGACGACTGTCTGCACGCTCTGCAGACGCTGAACCGCTTCACGCCCGTTTATGAGAATGTAGCCATGCATCGTCTGCTCCCAGAACCGTACATCAGTTCCCACATCAACAATGGACCCATCGCCCGCTGCACGAACTCCACATGCTCCAGATGTCTGTATACCTCGTACTACTTCATGGTTGTGAAAAGGCGTGGCAGTACATC CAAGCAGCTCTTCACCTGCAACTTCTGCACCAACCGATGTGGTCTCCTTTGGTTGACCAGCAATGATAAGAAGTACTACCAATTGGCTTGGCGAGTCTCAGATGATGACGACGATGATGAGGAAGAACACATGGCCAGCAGCAAA >sim;md199 ATGAACAAAACGATTCTGCACTGGAGCTATCTGAATTTCAAGGATGTGCCGATGGATCTGTTCCTCTACGAGGATCTCGAGGAGGTCTACCTCAAGGAGAACTTCATCTCGGTGATACCCAAATGGTTGCTGAACATCACTACACTGAAGTTTATTCATTTGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCGCCGTTCATCGCAAGGGTTTGTTTTGGGTCCGCGAGCTGGAGACCCGCACCAGGTTGCTGCTTCCGGTGGGCACCCGCACAGTATTTCCGGTTCCGTCGGTGGAGAACCGGGTCTCGCTCTACGACGACTGTCTGCACGCTCTGCAGACGCTGAACCGCTTCACGCCCGTTTATGAGAATGTAGCCATGCATCGCCTGCTCCCAGAACCGTACATCAGTTCCCACATCAACAATGGACCCATCGCCCGCTGCACGAACTCCACCTGCTCCAGATGTCTGTATACCTCGTACTACTTCATGGTTGTGAAAAGGCGTGGCAGTACGTC CAAGCAGCTCTTCACCTGCAACTTCTGCACCAACCGATGTGGTCTCCTTTGGTTGACCAGCAATGATAAGAAATACTACCAACTGGCTTGGCGAGTCTCAGATGATGACGACGATGATGAGGAAGAACACATGGCCAGCAGCAAA >sim;md106 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNAGNTCAACGGTTTGNNNNNNNNGGAGCACNTGAACATNGGCAAGAACNNNNNNNNNNNNNNNCCGGTGCAGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGACAACGAGGNNNNNNNNCACATCCCCGAGNNNNNNTCCAACCTGCCCATGNTGCAGTCCCTNNCCGCCGATNGTTGTGCGCTNNNNTACTTGCCGGNNNNNNNNTCCAAGTTCATGAACCATGTGNNNNNNNNNCACAACACCGCTATCAANTACATACCCATGGTNTATGAGAGGTTCTATCAAAACTTTTACGACAACCGCCAGAGGAATACTCCCGTCGCCGTTCANCGCAAGGGTTTGTTTTGGGTCCGCNAGCTGGAGACNNNNNNNNNNNNNNNGCTTCCGGTGGGCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGCGTGGCAGTACATC CAAGCAGCTCTTCACCTGCAACTTCTGCACCAACCGATGTGGTCTCCTTTGGTTGACCAGCAATGATAAGAAGTACTACCAATTGGCTTGGCGAGTGTCAGATGATGACGACGATGAGGAGGCAGAACACATGGTCAGCAGCAAA >sim;newc ATGAACAAAACGATTCTGCACTGGAGCTATCTGAATTTCAAGGATGTGCCGATGGATCTGTTCCTCTACGAGGATCTCGAGGAGGTCTACCTCAAGGANAACTTCATCTCGGTGATACCCAAATGGCTGCTGAACATCACCACACTGAAGTTTATTCATTTGGCTGGCAACAATCTGAGTGANCTGCCGGTGGACATCTATATGCTGGAGAATCTAGAGTTCCTGGACGTGTCCAACAACGAGCTCAAGGAGCTGCCCCCCACACTGGGTCTCCTGTTGAATCTCCAGCAGCTGANNGTGTCGGGNNNNNNNNNNNNNNAACTACCAGTGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCGCCGTTCATCGCAAGGGTTTGTTTTGGGTCCGCGAGCTNGAGACCAGCACCAGGTTGCTGCTTCCGGTGGGCACCCGCACAGTATTTCCGGTTCCGTCGGCGGAGAACCGGGTCTCACTCTACGACGACTGTGTGCACGCTCTGCAGACGCTGAACCGCTTCACGCCCGTTTATGAGAATATAGCCATGCACCGTCTGCTCCCAGAACCGTACATCAGTTCCCACATCAACAATGGACCCATCGCCCGCTGCACGAACTCCACCTGCTCTAGATGTCTGTATACCTCGTACTACTTCATGGTTGNGAAAAGNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN >yak;yak ATGAACAAAACGATTCTGCACTGGAGCTACCTGAATTTCAAGGATGTGCCAATGGATCTCTTTCTCTACGAGGATCTCGAGGAGGTCTATCTCAAGGAGAACTTCATCTCGGTGATACCCAAATGGCTGCTGAACATCACCACACTGAAGTTCATCCACCTGGCGGGCAACAATCTGAGTGAATTGCCTGCGGACATCTATATGCTGGAGAACCTTGAGTTCCTGGACGTATCCAACAATGAGCTCAAGGAGCTGCCCCCCACACTGGGTCTCCTCTTGAGTCTCCAGCAGCTGAATGTGTCGGGCAATCAGCTCACCGAACTTCCAGTGGAACTCAGTGGTTTGCGCAATCTGGAGCACCTGAACATCGGCAAGAACCAATTTCGCCGCCTGCCGGTGCAGCTGAGCGAGTGCGTCCGCCTCAACGAGCTGAATGTGAGCGACAACGAGGCGCTGGTCCACATCCCCGAGCGCATCTCCAACCTCCCCATGCTGCAGTCCCTCGCCGCCGATCGTTGTGCGCTCGTCTACTTGCCGGCAGCTCTCTCCAAGTTCATGAACCATGTGCGCATCTTCCACAACACTGCTATCAACTACATACCCATGGTCTATGAGAGGTTCTATCAAAACTTTTACGACAACCGCCAGCGAAATACTCCCGTCGCCGTTCATCGCAAGGGTCTGTTTTGGGTCCGCGATCTGGAGACCAGCACCCGATTGCTGCTTCCGGTGGGCACTCGCACAGTATTTCCGGTTCCGTCGGCTGAGAATAGGGTATCGCTCTACGACGACTGTCTGCATGCTCTGCAGACGCTGAACCGCTTCACGCCCGTCTACGAGAATGGCGCCATGCATCGACTGCTGCCAGAACCGTACATCAGTTCCCACATCAACAATGGACCCATCGCCCGCTGCACGAACTCCACCTGCTCCAGATGTCTGTACACCTCGTACTACTTCATGGTCGTGAAAAGGCGTGGCAGTACGTC CAAGCAGCTCTTCACCTGCAACTTCTGCACCAACCGATGCGGAGTCCTCTGGTTGACCAGCAATGACAAGAAGTACTACCAGCTGGCTTGGCGACTGTCGGATGATGACGACGACGATGAGGCGGATCAGACGGCCAGTGGCAAA --- NEW FILE: CG2865.fasaln --- >mel;CG2865-PA_X_EXON_2137737-2148845 ATGACCTTGCCCACAAACACACACGCATCTGCAAACGACGGCGGCAGCGGCAACAACAACCACAGCAATATCAGCAGTAACAACAGCAGCAGCAGCGACGAAGACTCAGACATGTTTGGACCACCCCGCTGCTCCCCGCCCATCGGCTATCACCATCACCGTTCCCGTGTGCCCATGATCTCGCCAAAGCTGCGGCAGCGCGAGGAGCGCAAGCGGATCCTCCAGCTCTGCGCCCACAAGATGGAGAGGATCAAGGACTCGGAGGCGAACCTGCGGCGCAGCGTCTGCATCAACAACACCTACTGCCGCCTGAATGACGAACTGCGGCGCGAGAAGCAGATGCGCTACCTCCAGAATCTGCCCAGAACCAGCGACAGCGGCGCAAGCACCGAACTGGCGCGTGAGAATCTCTTCCAGCCGAACATGGACGACGCCAAGCCGGCCGGCAATAGCACTAGCAATAATATCAACGCCAACGGCAAGCCTTCATCCTCTTTTGGCGATGCCTTTGGCTCCTCAAACGGATCATCGTCGGGTCGCGGCGGAATTTGCTCCCTGGAGAATCAACCGCCCGAGCGTCAGCAGTTGGGGACGCCCGCTGGTGCCTCCGCTCCCGAGGCGGCCAATTCGGCGCCCCTTTCCGTTTCGGGCTCGGCATCGGAACGCGTGAATAACCGAAAACGCCACCTGTCCAGCTGCAACTTGGTCAACGATCTGGAAATACTGGACAGGGAGCTGAGCGCCATCAATGCACCCATGCTGCTAATCGATCCAGAGATTACCCAAGGAGCCGAACAGCTGGAGAAGGCCGCCTTGTCCGCCAGCAGGAAGAGATTGAGGAGCAATAGCGGCAGCGAGGACGAAAGTGATCGCCTGGTGCGCGAGGCTCTGTCCCAGTTCTACATACCGCCACAGCGCCTCATCTCCGCCATTGAGGAGTGTCCCCTGGATGTGGTTGGCTTGGGTATGGGAATGAATGTGAATGTGAA TGTGGGAGGAATTAGTGGAATCGGTGGCATCGGAGGAGCTGCAGGCGCTGGCGTCGAAATGCCCGGAGGCAAACGGATGAAGCTGAATGACCATCACCATCTCAATCACCATCACCATTTGCACCATCATCTGGAGCTGGTCGATTTCGACATGAACCAAAACCAAAAGGATTTCGAGGTGATCATGGACGCCTTGAGGCTGGGAACGGCGACACCGCCGAGCGGCGCCAGCAGCGATTCTTGCGGACAGGCGGCGATGATGAGCGAGTCGGCCAGCGTGTTCCACAATCTGGTGGTCACCTCGTTGGAGACA >sim;c1674_CG2865-PA_EXON ATGACCTTGCCCACAAACACACACGCNTCTGCAAANNNNNNNNNNNGCGGCAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGCCCACAAGANNNNGAGGATCAANNNNNNGGAGGCGAANNNNNGGCGCAGNNNNNGCATCAACAACACNTACTGCCGCCTGAACGACGAGNTGCGGCGCGAGAAGCAGATGCGCTACCTCCAGAATCTGCCCAGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN >sim;md199_CG2865-PA_EXON ATGACCTTGCCCACAAACACACACGCATCTGCAAACGACGGCGGCAGCGGCAACAACAACCACAGCAATATTAGCAGCAACAACAACAGCAGCAGCGACGAAGACTCGGACATGTTTGGACCACCCCGCTGCTCCCCGCCCATCGGCTATCACCATCACCGATCCCGTGTGCCCATGATCTCGCCAAAGCTGCGGCAGCGCGAGGAGCGCAAGCGGATCCTCCAGCTGTGCGCCCACAAGATGGAGAGGATCAAGGACTCGGAGGCGAACCTGCGGCGCAGCGTCTGCATCAACAACACCTACTGCCGCCTGAACGACGAGCTGCGGCGCGAGAAGCAGATGCGCTACCTCCAGAATCTGCCCAGNNNNNNNNACAGCGGCNNNNGCACCGAANTGGCGCGTGANAATCTCTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCTAGCAATANNNNNNNNNNNNNNGGCAAGCCTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN >sim;w501+f_CG2865-PA_EXON ATGACCTTGCCCACAAACACACACGCATCTGCAAACGACGGCGGCAGCGGCAACAACAACCATAGCAATATTAGCAGCAACAACAACAGCAGCAGCGACGAAGACTCGGACATGTTTGGACCACCCCGCTGCTCCCCGCCCATCGGCTATCACCATCACCGTTCCCGTGTGCCCATGATCTCGCCAAAGCTGCGGCAGCGCGAGGAGCGCAAGCGGATCCTCCAGCTGTGCGCCCACAAGATGGAGAGGATCAAGGACTCGGAGGCGAACCTGCGGCGCAGCGTCTGCATCAACAACACCTACTGCCGCCTGAACGACGAGCTGCGGCGCGAGAAGCAGATGCGCTACCTCCAGAATCTGCCCAGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNAAGGCCGCNNNNNNNNNNNNNNNNNNNNNATTGAGGAGCNNNNNNNNNNNNNAGGACGANNNNNNNNNCCTGGTGCGCNNGGCTCTGTCNNNNNNNNNNNNNNNNNNNNNNNNNNTGATCTCCGCCATNGAGGAGTGTCCCCNNNATGTGGTTGGCTTGGGTATGGGAANNNNNNNNNNNNNGAA TGTGGGAGGAATCGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGCGCTGGCGTCNNNNNNNNNGGAGGCAAANNNNNNAAGCTGANNGACCATCNNNNNNNNNNNNNNNATCACCATTTGCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNAAAACCAAAANNNNNNNNAGGTGATCNTGGACGCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNACA >sim;sim_CG2865-PA_EXON ATGACCTTGCCCACAAACACACACGCATCTGCAAACGACGGCGGCAGCGGCAACAACAACCATAGCAATATTAGCAGCAACAACAACAGCAGCAGCGACGAAGACTCGGACATGTTTGGACCACCCCGCTGCTCCCCGCCCATCGGCTATCACCATCACCGTTCCCGTGTGCCCATGATCTCGCCAAAGCTGCGGCAGCGCGAGGAGCGCAAGCGGATCCTCCAGCTGTGCGCCCACAAGATGGAGAGGATCAAGGACTCGGAGGCGAACCTGCGGCGCAGCGTCTGCATCAACAACACCTACTGCCGCCTGAACGACGAGCTGCGGCGCGAGAAGCAGATGCGCTACCTCCAGAATCTGCCCAGAACCAGCGACAGCGGTGCAAGCACCGAACTGGCGCGTGAGAATCTCTTCCAGCCGAACATGGACGACGCCAAGCCGGCCGGCAATAGCACTAGCAATAATATCAACGCCAACGGCAAGCCTTCATCCTCCTTTGTCGATGCCTTTGGCTCCTCAAACGGATCGTCGTCGGGTCGCGGCGGAATTTGCTCCCTGGAGAATCAACCGCCCGAGCGTCAGCAGCTGGGGACACCCGCTGGAGCCTCCGCTCCCGAGGCGGCCAATTCGGCGCCCCTTTCCGTTTCGGGCTCGGCATCGGAACGCGTGAATAACCGGAAGCGCCACCTGTCCAGCTGCAACTTGGTCAACGATCTGGAAATACTGGACAGGGAGCTGAGCGCCATCAATGCACCCATGCTGCTAATCGATCCGGAGATTACCCAGGGAGCCGAGCAGCTGGAGAAGGCCGCCTTGTCCGCCAGCAGGAAGAGATTGAGGAGCAATAGCAGCAGCGAGGACGAAAGTGATCGCCTGGTGCGCGAGGCTCTGTCCCAGTTCTACATACCGCCACAGCGCCTGATCTCCGCCATTGAGGAGTGTCCCCTGGATGTGGTTGGCTTGGGTATGGGAANNNNNNTGAATGTGAA TGTGGGAGGAATCGGTGGAATCGGTAGCATCGGAGGAGCTGCAGGCGCTGGCGTCGAAATGCCCGGAGGCAAACGGATGAAGCTGAATGACCATCACCATCTCAACCACCATCACCATTTGCACCACCATCTGGAGCTGGTCGATTTCGACATGAACCAAAACCAAAAGGATTTCGAGGTGATCATGGACGCCTTGAGACTGGGAACGGCGACGCCGCCGAGCGGCGCCAGCAGCGATTCTTGCGGACAGGCGGCGATGATGAGCGAGTCGGCCAGCGTGTTCCACAATCTGGTGGTCACCTCGTTGGAGACA >yak;CG2865-PA_EXON ATGACCTTGCCCACAAACACACACGCATCTGCAAACGACGGCGGCAGCGGCAACAACAACCACAGCAACATTAACAATAACAACAGCAGCAGCAGCGACGAAGACTCGGACATGTTTGGACCACCCCGCTGCTCGCCGCCCATCGGCTACCACCATCACCGTTCCCGGGTGCCCATGATCTCCCCCAAGCTGCGACAGCGCGAGGAGCGCAAGCGGATCCTCCAGCTCTGCGCCCACAAGCTGGAGCGGATCAAGGACTCGGAGGCGAACCTGCGCCGCAGCGTCTGCATCAACAACACCTACTGCCGCCTCACCGACGAGCTGCGGCGCGAGAAGCAGATGCGCTACCTCCAGAATCTGCCCAGAACCAGCGACAGCGGCACAACCACCGAACTGGCGCGTGAGAATCTCTTCCAGCCGAACATGGACGATGCCAAGCCGGCCAGCAATAGTACTAGCAATAATATCAATGCCAACGGCAAGCCTTCAACCGCCTTCGCCGATGCCTTTGGCTCCTCAAACGGATCGTCGTCGGGTCGCGGTGGCATTTGCTCCCTGGAGAATCAGCCGCCCGATCGTCAGCAGCTGGGAACGCCCGCTGGAGCCTCCGCGCCCGAGGCGGCCAATTCGGCGCCACTTTCCGTTTCCGGTTCGGCATCGGAACGCGTGAATAACCGGAAACGTCACCTGTCCAGCTGCAATTTGGTCAACGATCTGGAGATACTGGACAGAGAACTGAGCGCCATCAATGCACCCATGCTGCTAATCGATCCGGAGATTACCCAAGGTGCCGAGCAGCTGGAGAAGGCGGCCTTGTCCGCCAGCAGGAAGAGATTGAGGAGCAATAGCAGCAGCGAGGACGAAAGTGATCGCTTGGTCCGCGAGGCTCTGTCCCAGTTCTACATACCGCCTCAGCGCCTGATCTCCGCCATCGAGGAGTGTCCCCTGGATGTGGTCGGCTTGGGTATGGGAATGAATGTGNNNNNNAA TGTGGGAGGAATCGGTGGCATCAGTGGCATCGGAGGAGCTGCAGGCGCTGGCGTCGAAGTGTCCGGAAGCAAACGGATGAAGCTGAACGACCATCACCATCTCAACCACCATCACCATTTGCACCATCATCTGGAGCTGGTCGATTTCGATATGAACCAAAACCAAAAGGATTTCGAGGTGATCATGGACGCCTTGAGGCTGGGAACGCCGACGCCGCCGAGCGGCGCAAGCAGCGATTCTTGCGGACAGGCGGCAATGATGAGCGAGTCGGCCAGCGTTTTCCACAATCTGGTGGTCACCTCGTTGGAGACA From jason at dev.open-bio.org Mon Jul 2 02:22:10 2007 From: jason at dev.open-bio.org (Jason Stajich) Date: Mon, 02 Jul 2007 06:22:10 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/MolEvol CodonModel.pm,NONE,1.1 Message-ID: <200707020622.l626MAos015548@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/MolEvol In directory dev.open-bio.org:/tmp/cvs-serv15486/Bio/MolEvol Added Files: CodonModel.pm Log Message: McDonald-Kreitman implementation --- NEW FILE: CodonModel.pm --- # $Id: CodonModel.pm,v 1.1 2007/07/02 06:22:08 jason Exp $ # # BioPerl module for Bio::MolEvol::CodonModel # # Cared for by Jason Stajich # # Copyright Jason Stajich # # You may distribute this module under the same terms as perl itself # POD documentation - main docs before the code =head1 NAME Bio::MolEvol::CodonModel - Codon Evolution Models =head1 SYNOPSIS use Bio::MolEvol::CodonModel; [...3769 lines suppressed...] 'TTTGTC' => [1,1], 'TTTGTG' => [1,1], 'TTTGTT' => [1,0], 'TTTTAC' => [1,1], 'TTTTAT' => [1,0], 'TTTTCA' => [1,1], 'TTTTCC' => [1,1], 'TTTTCG' => [1,1], 'TTTTCT' => [1,0], 'TTTTGC' => [1,1], 'TTTTGG' => [2,0], 'TTTTGT' => [1,0], 'TTTTTA' => [1,0], 'TTTTTC' => [0,1], 'TTTTTG' => [1,0], 'TTTTTT' => [0,0], }; } 1; From jason at dev.open-bio.org Mon Jul 2 02:22:10 2007 From: jason at dev.open-bio.org (Jason Stajich) Date: Mon, 02 Jul 2007 06:22:10 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/PopGen Statistics.pm, 1.37, 1.38 Utilities.pm, 1.10, 1.11 Message-ID: <200707020622.l626MA60015542@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/PopGen In directory dev.open-bio.org:/tmp/cvs-serv15486/Bio/PopGen Modified Files: Statistics.pm Utilities.pm Log Message: McDonald-Kreitman implementation Index: Utilities.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/PopGen/Utilities.pm,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Utilities.pm 14 Jun 2007 14:16:13 -0000 1.10 --- Utilities.pm 2 Jul 2007 06:22:08 -0000 1.11 *************** *** 3,7 **** # BioPerl module for Bio::PopGen::Utilities # ! # Cared for by Jason Stajich # # Copyright Jason Stajich --- 3,7 ---- # BioPerl module for Bio::PopGen::Utilities # ! # Cared for by Jason Stajich # # Copyright Jason Stajich *************** *** 63,67 **** =head1 AUTHOR - Jason Stajich ! Email jason-at-open-bio-dot-org =head1 APPENDIX --- 63,67 ---- =head1 AUTHOR - Jason Stajich ! Email jason-at-bioperl-dot-org =head1 APPENDIX *************** *** 84,87 **** --- 84,88 ---- use base qw(Bio::Root::Root); + use constant CodonLen => 3; *************** *** 101,115 **** Specify a site model as one of those listed 'all' -- every base in the alignment is considered a site ! 'syn' -- Synonomous sites. Those where a seen substition do ! not change the amino acid [Assumes this is only ! coding sequence and the frame starts with first base ! in the alignment] ! 'non' -- Non-Synonomous sites. Those where a substitution changes ! the encoded amino acid. The option -site_model ! for Non-synonymous: 'non' or 'non-synonomous' or 'NS' or 'Ka' ! Synonymous : 'synonomous' or 'syn' or 'S' or 'Ks' ! All : 'all' To see all sites, including those which are fixed in the population add -include_monomorphic => 1 --- 102,111 ---- Specify a site model as one of those listed 'all' -- every base in the alignment is considered a site ! 'cod' -- codons The option -site_model ! for All sites : 'all' ! Codon sites : 'cod' or 'codon' ! To see all sites, including those which are fixed in the population add -include_monomorphic => 1 *************** *** 121,127 **** (useful for HKA test mostly) [default is false] ! -site_model => one-of 'all', 'syn', or 'non' ! to specify a site model you want to see data ! for [default is all] -alignment => provide a L object [required] --- 117,126 ---- (useful for HKA test mostly) [default is false] ! -phase => specify a phase for the data, this is only ! used if the site_mode is codon ! [default is 0] ! -site_model => one-of 'all', 'codon' ! to specify a site model for the data extraction ! from the alignment [default is all] -alignment => provide a L object [required] *************** *** 132,138 **** my ($self, at args) = @_; my ($aln, ! $sitemodel, $includefixed) = $self->_rearrange([qw(ALIGNMENT SITE_MODEL INCLUDE_MONOMORPHIC)], @args); --- 131,138 ---- my ($self, at args) = @_; my ($aln, ! $sitemodel,$phase, $includefixed) = $self->_rearrange([qw(ALIGNMENT SITE_MODEL + PHASE INCLUDE_MONOMORPHIC)], @args); *************** *** 145,149 **** return; } ! my $population = Bio::PopGen::Population->new(-source => 'alignment'); my @seqs = map { $_->seq() } $aln->each_seq; --- 145,153 ---- return; } ! $phase = 0 unless defined $phase; ! if( $phase != 0 && $phase != 1 && $phase != 2 ) { ! warn("phase must be 0,1, or 2"); ! return; ! } my $population = Bio::PopGen::Population->new(-source => 'alignment'); my @seqs = map { $_->seq() } $aln->each_seq; *************** *** 169,177 **** } if( keys %set > 1 || $includefixed ) { ! for( my $i = 0; $i < scalar @genotypes; $i++ ) { ! $inds[$i]->add_Genotype(Bio::PopGen::Genotype->new (-marker_name => $nm, ! -individual_id=> $inds[$i]->unique_id, ! -alleles => [$genotypes[$i]])); } } --- 173,181 ---- } if( keys %set > 1 || $includefixed ) { ! for( my $j = 0; $j < scalar @genotypes; $j++ ) { ! $inds[$j]->add_Genotype(Bio::PopGen::Genotype->new (-marker_name => $nm, ! -individual_id=> $inds[$j]->unique_id, ! -alleles => [$genotypes[$j]])); } } *************** *** 180,230 **** $population->add_Individual($ind); } ! } else { ! $self->throw("Can only build sites based on all the data right now!"); ! my ($sitecount, at sites) = ($aln->length); ! my @sitecat; ! # ToDo: categorize site a syn, non-syn, monomorphic ! # 4-fold degenerate? ! my (@codons, at codons_v, $codon_ct); ! ! for( my $i = 0; $i < $sitecount; $i++ ) { ! if( $i && $i % 3 == 0 ) { ! # A A T T T G T C G ! # A A A T A G T A G ! # A A T T A G T C T ! for my $cod ( @{$codons[$codon_ct]} ) { ! $codons_v[$codon_ct]->{$cod}++; } ! $codon_ct++; } ! my $seqct = 0; ! foreach my $seq ( @seqs ) { ! my $char = substr($seq,$i,1); ! $sites[$i]->{'alleles'}->{$char}++; ! $sites[$i]->{'seq'}->[$seqct] = $char; ! $codons[$codon_ct]->[$seqct] .= $char; ! $seqct++; } } ! ! # at the end @sites will be full, each entry is a column and it ! # will have a hashref with 2 values, 'alleles' which will have ! # a frequency for each base as an allele. ! # 'seq' will have the ! # participating residue for each sequence ! ! ! my ($i,$seqctr) = (0,0); ! for my $site ( @sites ) { ! my %alleles = %{$site->{'alleles'}}; ! my %codons = $codons_v[$i % 3]->[$seqctr]; ! $i++; ! $seqctr++; } } return $population; } - - 1; --- 184,230 ---- $population->add_Individual($ind); } ! } elsif( $sitemodel =~ /cod(on)?/i ) { ! my $ct = 0; ! my @inds; ! my @seqs; ! for my $seq ( $aln->each_seq ) { ! my $ind = Bio::PopGen::Individual->new(-unique_id => $seq->display_id); ! push @seqs, $seq->seq; ! push @inds, $ind; ! } ! my $codonct = 0; ! for( my $i = $phase; $i < $aln->length; $i += CodonLen ) { ! my $nm = "Codon-$codonct-$i"; ! my (@genotypes,%set); ! for my $seq ( @seqs ) { ! my $site = substr($seq,$i,CodonLen); ! if( length($site) < CodonLen ) { ! # at end of alignment and this is not in phase ! $self->debug("phase was $phase, but got to end of alignment with overhang of $site"); ! next; } ! # do we check for gaps/indels here? ! $set{$site}++; ! push @genotypes, $site; } ! ! # do we include fixed sites? yes I think so since this is ! # typically being used by MK ! for( my $j = 0; $j < scalar @genotypes; $j++ ) { ! $inds[$j]->add_Genotype(Bio::PopGen::Genotype->new ! (-marker_name => $nm, ! -individual_id=> $inds[$j]->unique_id, ! -alleles => [$genotypes[$j]])); } + $codonct++; } ! for my $ind ( @inds ) { ! $population->add_Individual($ind); } + } else { + $self->throw("Can only build sites based on all the data right now!"); } return $population; } 1; Index: Statistics.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/PopGen/Statistics.pm,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** Statistics.pm 14 Jun 2007 14:16:13 -0000 1.37 --- Statistics.pm 2 Jul 2007 06:22:08 -0000 1.38 *************** *** 83,88 **** pi (pi) - number of pairwise differences composite_LD (composite_LD) ! Count based methods also exist in case you have already calculated the key statistics (seg sites, num individuals, etc) and just want to compute the statistic. In all cases where a the method expects an arrayref of --- 83,91 ---- pi (pi) - number of pairwise differences composite_LD (composite_LD) + McDonald-Kreitman (mcdonald_kreitman or MK) ! Count based methods also exist in case you have already calculated the ! key statistics (seg sites, num individuals, etc) and just want to ! compute the statistic. In all cases where a the method expects an arrayref of *************** *** 98,104 **** --- 101,110 ---- from a Population." Genetics 143:557-570. + McDonald J, Kreitman M. + Tajima F. (1989) "Statistical method for testing the neutral mutation hypothesis by DNA polymorphism." Genetics 123:585-595. + =head2 CITING THIS WORK *************** *** 135,138 **** --- 141,148 ---- Email matthew-dot-hahn-at-duke-dot-edu + McDonald-Kreitman implementation based on work by Alisha Holloway at + UC Davis. + + =head1 APPENDIX *************** *** 148,154 **** --- 158,185 ---- package Bio::PopGen::Statistics; use strict; + use constant { + in_label => 'ingroup', + out_label => 'outgroup', + non_syn => 'non_synonymous', + syn => 'synonymous', + default_codon_table => 1, # Standard Codon table + }; + use Bio::MolEvol::CodonModel; + use List::Util qw(sum); use base qw(Bio::Root::Root); + our $codon_table => default_codon_table; + our $has_twotailed => 0; + BEGIN { + eval { require Text::NSP::Measures::2D::Fisher2::twotailed }; + if( $@ ) { $has_twotailed = 0; } + else { $has_twotailed = 1; } + } + + + + + =head2 new *************** *** 840,844 **** # Would be trivial if it is useful. ! sub segregating_sites_count{ my ($self,$individuals) = @_; my $type = ref($individuals); --- 871,875 ---- # Would be trivial if it is useful. ! sub segregating_sites_count { my ($self,$individuals) = @_; my $type = ref($individuals); *************** *** 920,924 **** =cut ! sub derived_mutations{ my ($self,$ingroup,$outgroup) = @_; my (%indata,%outdata, at marker_names); --- 951,955 ---- =cut ! sub derived_mutations { my ($self,$ingroup,$outgroup) = @_; my (%indata,%outdata, at marker_names); *************** *** 1244,1247 **** --- 1275,1509 ---- } + =head2 mcdonald_kreitman + + Title : mcdonald_kreitman + Usage : $Fstat = mcdonald_kreitman($ingroup, $outgroup); + Function: Calculates McDonald-Kreitman statistic based on a set of ingroup + individuals and an outgroup by computing the number of + differences at synonymous and non-synonymous sites + for intraspecific comparisons and with the outgroup + Returns : 2x2 table + Args : ingroup - L object or + arrayref of Ls + outgroup - L + + =cut + + sub mcdonald_kreitman { + my ($self,$pop,$ingroup, $outgroup,$polarized) = @_; + my $codon_path = Bio::MolEvol::CodonModel->codon_path; + if( $polarized ) { + if( @$outgroup < 2 ) { + $self->throw("Need 2 outgroups with polarized option\n"); + } + } elsif( @$outgroup != 1 ) { + $self->warn(sprintf("%s outgroup sequences provided, but only first will be used", + scalar @$outgroup )); + } + + my @marker_names = $pop->get_marker_names; + my @inds = $pop->get_Individuals; + + my $num_inds = scalar @inds; + my %vals = ( 'ingroup' => $ingroup, + 'outgroup' => $outgroup, + ); + + # Make the Codon Table type a parameter! + my $table = Bio::Tools::CodonTable->new(-id => $codon_table); + my @vt = qw(outgroup ingroup); + my %changes; + my %two_by_two = ( 'fixed_N' => 0, + 'fixed_S' => 0, + 'poly_N' => 0, + 'poly_S' => 0); + + for my $codon ( @marker_names ) { + my (%codonvals); + my %all_alleles; + for my $t ( @vt ) { + my $outcount = 1; + for my $ind ( @{$vals{$t}} ) { + my @alleles = $ind->get_Genotypes($codon)->get_Alleles; + if( @alleles > 1 ) { + die; + # warn("$codon $codon saw ", scalar @alleles, " for ind ", $ind->unique_id, "\n"); + } else { + my ($allele) = shift @alleles; + $all_alleles{$ind->unique_id} = $allele; + my $AA = $table->translate($allele); + next if( $AA eq 'X' || $AA eq '*' || $allele =~ /N/i); + + my $label = $t; + if( $t eq 'outgroup' ) { + $label = $t.$outcount++; + } + $codonvals{$label}->{$allele}++; + $codonvals{all}->{$allele}++; + } + } + } + my $total = sum ( values %{$codonvals{'ingroup'}} ); + next if( $total && $total < 2 ); # skip sites with < alleles + # process all the seen alleles (codons) + # this is a vertical slide through the alignment + if( keys %{$codonvals{all}} <= 1 ) { + # no changes or no VALID codons - monomorphic + } else { + # grab only the first outgroup codon (what to do with rest?) + my ($outcodon) = keys %{$codonvals{'outgroup1'}}; + my $out_AA = $table->translate($outcodon); + + if( ($polarized && ($outcodon ne $codonvals{'outgroup2'})) || + $out_AA eq 'X' || $out_AA eq '*' ) { + # skip if outgroup codons are different + # (when polarized option is on) + # or skip if the outcodon is STOP or 'NNN' + next; + } + + # check if ingroup is actually different from outgroup - + # if there are the same number of alleles when considering + # ALL or just the ingroup, then there is nothing new seen + # in the outgroup so it must be a shared allele (codon) + + # so we just count how many total alleles were seen + # if this is the same as the number of alleles seen for just + # the ingroup then the outgroup presents no new information + + my @ingroup_codons = keys %{$codonvals{'ingroup'}}; + my $diff_from_out = ! exists $codonvals{'ingroup'}->{$outcodon}; + + if( $self->verbose > 0 ) { + $self->debug("alleles are in: ", join(",", @ingroup_codons), + " out: ", join(",", keys %{$codonvals{outgroup1}}), + " diff_from_out=$diff_from_out\n"); + + for my $ind ( sort keys %all_alleles ) { + $self->debug( "$ind\t$all_alleles{$ind}\n"); + } + } + # are all the ingroup alleles the same and diferent from outgroup? + # fixed differences between species + if( $diff_from_out ) { + if( scalar @ingroup_codons == 1 ) { + # fixed differences + my $path = $codon_path->{uc $ingroup_codons[0].$outcodon}; + $two_by_two{fixed_N} += $path->[0]; + $two_by_two{fixed_S} += $path->[1]; + if( $self->verbose > 0 ) { + $self->debug("ingroup is @ingroup_codons outcodon is $outcodon\n"); + $self->debug("path is ",join(",",@$path),"\n"); + $self->debug + (sprintf("%-15s fixeddiff - %s;%s(%s) %d,%d\tNfix=%d Sfix=%d Npoly=%d Spoly=%s\n",$codon,$ingroup_codons[0], $outcodon,$out_AA, + @$path, map { $two_by_two{$_} } + qw(fixed_N fixed_S poly_N poly_S))); + } + } else { + # polymorphic and all are different from outgroup + # Here we find the minimum number of NS subst + my ($Ndiff,$Sdiff) = (3,0); # most different path + for my $c ( @ingroup_codons ) { + my $path = $codon_path->{uc $c.$outcodon}; + my ($tNdiff,$tSdiff) = @$path; + if( $path->[0] < $Ndiff || + ($tNdiff == $Ndiff && + $tSdiff <= $Sdiff)) { + ($Ndiff,$Sdiff) = ($tNdiff,$tSdiff); + } + } + $two_by_two{fixed_N} += $Ndiff; + $two_by_two{fixed_S} += $Sdiff; + + my $path = $codon_path->{uc join('', at ingroup_codons)}; + $two_by_two{poly_N} += $path->[0]; + $two_by_two{poly_S} += $path->[1]; + if( $self->verbose > 0 ) { + $self->debug + (sprintf("%-15s polysite_all - %s;%s(%s) %d,%d\tNfix=%d Sfix=%d Npoly=%d Spoly=%s\n",$codon,join(',', at ingroup_codons), $outcodon,$out_AA, + @$path, map { $two_by_two{$_} } + qw(fixed_N fixed_S poly_N poly_S))); + } + } + } else { + my %unq = map { $_ => 1 } @ingroup_codons; + delete $unq{$outcodon}; + my @unique_codons = keys %unq; + + # calc path for diff add to poly + # Here we find the minimum number of subst bw + # codons + my ($Ndiff,$Sdiff) = (3,0); # most different path + for my $c ( @unique_codons ) { + my $path = $codon_path->{uc $c.$outcodon }; + if( ! defined $path ) { + die " cannot get path for ", $c.$outcodon, "\n"; + } + my ($tNdiff,$tSdiff) = @$path; + if( $path->[0] < $Ndiff || + ($tNdiff == $Ndiff && + $tSdiff <= $Sdiff)) { + ($Ndiff,$Sdiff) = ($tNdiff,$tSdiff); + } + } + + if( @unique_codons == 2 ) { + my $path = $codon_path->{uc join('', at unique_codons)}; + if( ! defined $path ) { + $self->throw("no path for @unique_codons\n"); + } + $Ndiff += $path->[0]; + $Sdiff += $path->[1]; + } + $two_by_two{poly_N} += $Ndiff; + $two_by_two{poly_S} += $Sdiff; + if( $self->verbose > 0 ) { + $self->debug(sprintf("%-15s polysite - %s;%s(%s) %d,%d\tNfix=%d Sfix=%d Npoly=%d Spoly=%s\n",$codon,join(',', at ingroup_codons), $outcodon,$out_AA, + $Ndiff, $Sdiff, map { $two_by_two{$_} } + qw(fixed_N fixed_S poly_N poly_S))); + } + } + } + } + return ( $two_by_two{'poly_N'}, + $two_by_two{'fixed_N'}, + $two_by_two{'poly_S'}, + $two_by_two{'fixed_S'}); + + } + + *MK = \&mcdonald_kreitman; + + + =head2 mcdonald_kreitman_counts + + Title : mcdonald_kreitman_counts + Usage : my $MK = $statistics->mcdonald_kreitman_counts( + + N_poly -> integer of count of non-syn polymorphism + N_fix -> integer of count of non-syn fixed substitutions + S_poly -> integer of count of syn polymorphism + S_fix -> integer of count of syn fixed substitutions + ); + Function: + Returns : decimal number + Args : + + =cut + + + sub mcdonald_kreitman_counts { + my ($self,$Npoly,$Nfix,$Spoly,$Sfix) = @_; + if( $has_twotailed ) { + return &Text::NSP::Measures::2D::Fisher2::twotailed::calculateStatistic + (n11=>$Npoly, + n1p=>$Npoly+$Spoly, + np1=>$Npoly+$Nfix, + npp=>$Npoly+$Nfix+$Spoly+$Sfix); + } else { + $self->warn("cannot call mcdonald_kreitman_counts because no Fisher's exact is available - install Text::NSP::Measures::2D::Fisher2::twotailed"); + return 0; + } + } From cjfields at dev.open-bio.org Mon Jul 2 08:49:22 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Mon, 02 Jul 2007 12:49:22 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio SimpleAlign.pm,1.136,1.137 Message-ID: <200707021249.l62CnM6V016587@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio In directory dev.open-bio.org:/tmp/cvs-serv16562 Modified Files: SimpleAlign.pm Log Message: bug 2325 Index: SimpleAlign.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/SimpleAlign.pm,v retrieving revision 1.136 retrieving revision 1.137 diff -C2 -d -r1.136 -r1.137 *** SimpleAlign.pm 14 Jun 2007 14:16:09 -0000 1.136 --- SimpleAlign.pm 2 Jul 2007 12:49:19 -0000 1.137 *************** *** 1052,1056 **** my $aln; ! if ($args[0][0] =~ /^[a-z]+$/i) { $aln = $self->_remove_columns_by_type($args[0]); } elsif ($args[0][0] =~ /^\d+$/) { --- 1052,1056 ---- my $aln; ! if ($args[0][0] =~ /^[a-z_]+$/i) { $aln = $self->_remove_columns_by_type($args[0]); } elsif ($args[0][0] =~ /^\d+$/) { From bugzilla-daemon at portal.open-bio.org Mon Jul 2 08:50:28 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 08:50:28 -0400 Subject: [Bioperl-guts-l] [Bug 2325] Bio::SimpleAlign->remove_columns() fails with all_gaps_columns In-Reply-To: Message-ID: <200707021250.l62CoSxL018366@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2325 cjfields at uiuc.edu changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #1 from cjfields at uiuc.edu 2007-07-02 08:50 EST ------- Committed to cvs. 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 Mon Jul 2 09:33:38 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 09:33:38 -0400 Subject: [Bioperl-guts-l] [Bug 2203] Signalp extension or new module In-Reply-To: Message-ID: <200707021333.l62DXcgN020976@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2203 ------- Comment #22 from cjfields at uiuc.edu 2007-07-02 09:33 EST ------- (In reply to comment #21) > Hi Chris, > > As I didn't get any news from you about the last attachments I did, I wondered > if you had time to test what I sent to bugzilla and maybe committed? > Could you let me know? > Thanks in advance > > Emmanuel Sorry about the long wait; I've been wrapped up in a few things and haven't been able to get to bug fixes until just lately. Unfortunately I have tested the new ExtendedSignalp and am getting errors. I had to rework the tests (we are switching to an easier test system which uses Test::More) and will post the results here when I can; it may be on my end only. -- 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 Mon Jul 2 10:51:09 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Mon, 02 Jul 2007 14:51:09 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/AlignIO bl2seq.pm,1.28,1.29 Message-ID: <200707021451.l62Ep9KW016761@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/AlignIO In directory dev.open-bio.org:/tmp/cvs-serv16736 Modified Files: bl2seq.pm Log Message: bug 2321 Index: bl2seq.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/AlignIO/bl2seq.pm,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** bl2seq.pm 14 Jun 2007 14:16:10 -0000 1.28 --- bl2seq.pm 2 Jul 2007 14:51:07 -0000 1.29 *************** *** 110,123 **** Args : -report_type => report type (blastn,blastx,tblastx,tblastn,blastp) - =cut ! ! sub new { ! my ($class) = shift; ! my $self = $class->SUPER::new(@_); ! my ($rt) = $self->_rearrange([qw(REPORT_TYPE)], at _); defined $rt && $self->report_type($rt); - return $self; } --- 110,120 ---- Args : -report_type => report type (blastn,blastx,tblastx,tblastn,blastp) =cut ! sub _initialize { ! my ($self, @args) = @_; ! $self->SUPER::_initialize(@args); ! my ($rt) = $self->_rearrange([qw(REPORT_TYPE)], at args); defined $rt && $self->report_type($rt); } *************** *** 135,190 **** sub next_aln { my $self = shift; ! my $aln = Bio::SimpleAlign->new(-source => 'bl2seq'); ! $self->{'bl2seqobj'} = $self->{'bl2seqobj'} || ! Bio::SearchIO->new(-fh => $self->_fh, ! -format => 'blast'); ! my $bl2seqobj = $self->{'bl2seqobj'}; ! my $result = $self->{'_result'} || $bl2seqobj->next_result; ! $self->{'result'} = undef, return unless defined $result; ! ! my $hit = $self->{'_hit'} || $result->next_hit; ! $self->{'_hit'} = undef, return unless defined $hit; ! ! my $hsp = $hit->next_hsp; ! return unless defined $hsp; ! return $hsp->get_aln; ! ! # much easier above, eh? ! # my ($start,$end,$name,$seqname,$seq,$seqchar,$strand); ! # $seqchar = $hsp->query_string; ! # $start = $hsp->query->start; ! # $end = $hsp->query->end; ! # # Query name typically not present in bl2seq report ! # $seqname = $hsp->query->seq_id || 'Query-sequence'; ! # $strand = $hsp->query->strand; ! ! # # unless ($seqchar && $start && $end && $seqname) {return 0} ; ! # unless ($seqchar && $start && $end ) {return 0} ; ! ! # $seq = Bio::LocatableSeq->new('-seq' =>$seqchar, ! # '-id' =>$seqname, ! # '-start' =>$start, ! # '-end' =>$end, ! # '-strand'=>$strand, ! # ); ! ! # $aln->add_seq($seq); ! ! # $seqchar = $hsp->hit_string; ! # $start = $hsp->hit->start; ! # $end = $hsp->hit->end; ! # $seqname = $hsp->hit->seq_id; ! # $strand = $hsp->hit->strand; ! ! # unless ($seqchar && $start && $end && $seqname) {return 0} ; ! ! # $seq = Bio::LocatableSeq->new('-seq' =>$seqchar, ! # '-id' =>$seqname, ! # '-start' =>$start, ! # '-end' =>$end, ! # '-strand'=>$strand, ! # ); ! # $aln->add_seq($seq); ! # return $aln; } --- 132,161 ---- sub next_aln { my $self = shift; ! unless (exists $self->{'_searchio'}) { ! $self->{'_searchio'} = Bio::SearchIO->new(-fh => $self->_fh, ! -format => 'blast', ! -report_type => $self->report_type); ! } ! while (1) { ! if (!exists $self->{'_result'}) { ! $self->{'_result'} = $self->{'_searchio'}->next_result; ! } ! return if !defined $self->{'_result'}; ! if (!exists $self->{'_hit'}) { ! $self->{'_hit'} = $self->{'_result'}->next_hit; ! } ! # out of hits for this result? ! if (!defined $self->{'_hit'}) { ! delete $self->{'_result'}; ! next; ! } ! my $hsp = $self->{'_hit'}->next_hsp; ! # out of hsps for this hit? ! if (!defined $hsp) { ! delete $self->{'_hit'}; ! next; ! } ! $hsp ? return $hsp->get_aln: return; ! } } From bugzilla-daemon at portal.open-bio.org Mon Jul 2 10:51:48 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 10:51:48 -0400 Subject: [Bioperl-guts-l] [Bug 2321] AlignIO::next_aln does not return multiple alignments for bl2seq In-Reply-To: Message-ID: <200707021451.l62EpmZD025842@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2321 cjfields at uiuc.edu changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Comment #2 from cjfields at uiuc.edu 2007-07-02 10:51 EST ------- Committed a fix to CVS. This should be out in the next release. 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 cjfields at dev.open-bio.org Mon Jul 2 12:53:53 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Mon, 02 Jul 2007 16:53:53 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/DB GenericWebAgent.pm, NONE, 1.1 EUtilities.pm, 1.39, 1.40 Message-ID: <200707021653.l62GrrlB016973@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/DB In directory dev.open-bio.org:/tmp/cvs-serv16948 Modified Files: EUtilities.pm Added Files: GenericWebAgent.pm Log Message: A few changes; changed poorly named GenericWebDBI to GenericWebAgent, clean up some methods, etc. --- NEW FILE: GenericWebAgent.pm --- # $Id: GenericWebAgent.pm,v 1.1 2007/07/02 16:53:51 cjfields Exp $ # # BioPerl module for Bio::DB::EUtilities # # Cared for by Chris Fields # # Copyright Chris Fields # # You may distribute this module under the same terms as perl itself # # POD documentation - main docs before the code # # Interfaces with new GenericWebDBI interface =head1 NAME Bio::DB::GenericWebDBI - helper base class for parameter-based remote access and response retrieval. =head1 SYNOPSIS ... =head1 DESCRIPTION WARNING: Please do B spam the web servers with multiple requests. ... =head1 TODO ... =head1 FEEDBACK =head2 Mailing Lists User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated. bioperl-l at lists.open-bio.org - General discussion http://www.bioperl.org/wiki/Mailing_lists - About the mailing lists =head2 Reporting Bugs Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web. http://bugzilla.open-bio.org/ =head1 AUTHOR Email cjfields at uiuc dot edu =head1 APPENDIX The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ =cut # Let the code begin... package Bio::DB::GenericWebAgent; use strict; use warnings; use base qw(Bio::Root::Root); use LWP::UserAgent; my $LAST_INVOCATION_TIME = 0; =head2 new Title : new Usage : Bio::DB::GenericWebDBI->new(@args); Function: Create new Bio::DB::GenericWebDBI instance. Returns : Args : None specific to this base class. Inheriting classes will likely set specific parameters in their constructor; Bio::DB::GenericWebDBI is primarily a test bed. =cut sub new { my ($class, @args) = @_; my $self = $class->SUPER::new(@args); $self->ua(LWP::UserAgent->new(env_proxy => 1, agent => ref($self).':'.$self->VERSION)); $self->delay($self->delay_policy); return $self; } =head1 GenericWebDBI methods =head2 parameter_base Title : parameter_base Usage : $dbi->parameter_base($pobj); Function: Get/Set Bio::ParameterBaseI. Returns : Bio::ParameterBaseI object Args : Bio::ParameterBaseI object =cut # this will likely be overridden in subclasses sub parameter_base { my ($self, $pobj) = @_; if ($pobj) { $self->throw('Not a Bio::ParameterBaseI') if !$pobj->isa('Bio::ParameterBaseI'); $self->{'_parameter_base'} = $pobj; } return $self->{'_parameter_base'}; } =head2 ua Title : ua Usage : $dbi->ua; Function: Get/Set LWP::UserAgent. Returns : LWP::UserAgent Args : LWP::UserAgent =cut sub ua { my ($self, $ua) = @_; if( defined $ua && $ua->isa("LWP::UserAgent") ) { $self->{'_ua'} = $ua; } return $self->{'_ua'}; } =head2 get_Response Title : get_Response Usage : $agent->get_Response; Function: Get the HTTP::Response object by passing it an HTTP::Request (generated from Bio::ParameterBaseI implementation). Returns : HTTP::Response object or data if callback is used Args : (optional) -cache_response - flag to cache HTTP::Response object; Default is 1 (TRUE, caching ON) These are passed on to LWP::UserAgent::request() if stipulated -file - use a LWP::UserAgent-compliant callback -cb - dumps the response to a file (handy for large responses) Note: can't use file and callback at the same time -read_size_hint - bytes of content to read in at a time to pass to callback Note : Caching and parameter checking are set =cut sub get_Response { my ($self, @args) = @_; my ($cache, @opts) = $self->_rearrange([qw(CACHE_RESPONSE FILE CB READ_SIZE_HINT)], at args); $cache = (defined $cache && $cache == 0) ? 0 : 1; my $pobj = $self->parameter_base; if ($pobj->parameters_changed || !$cache || !$self->{_response_cache}->content) { my $ua = $self->ua; $self->_sleep; # institute delay policy $self->throw('No parameter object set; cannot form a suitable remote request') unless $pobj; my $request = $pobj->to_request; if ($self->authentication) { $request->proxy_authorization_basic($self->authentication) } $self->debug("Request is: \n",$request->as_string); # I'm relying on the useragent to throw the proper errors here my $response = $ua->request($request,grep {defined $_} @opts); if ($response->is_error) { $self->throw("Response Error\n".$response->message); } $self->{_response_cache} = $response; } else { $self->debug("Returning cached HTTP::Response object\n"); } return $self->{_response_cache}; } =head2 get_Parser Title : get_Parser Usage : $agent->get_Parser; Function: Return HTTP::Response content (file, fh, object) attached to defined parser Returns : None Args : None Note : Abstract method; defined by implementation =cut sub get_Parser { shift->throw_not_implemented; } =head2 delay Title : delay Usage : $secs = $self->delay([$secs]) Function: get/set number of seconds to delay between fetches Returns : number of seconds to delay Args : new value NOTE: the default is to use the value specified by delay_policy(). This can be overridden by calling this method. =cut sub delay { my $self = shift; return $self->{'_delay'} = shift if @_; return $self->{'_delay'}; } =head2 delay_policy Title : delay_policy Usage : $secs = $self->delay_policy Function: return number of seconds to delay between calls to remote db Returns : number of seconds to delay Args : none NOTE: The default delay policy is 3s. Override in subclasses to implement delays. The timer has only second resolution, so the delay will actually be +/- 1s. =cut sub delay_policy { my $self = shift; return 3; } =head2 _sleep Title : _sleep Usage : $self->_sleep Function: sleep for a number of seconds indicated by the delay policy Returns : none Args : none NOTE: This method keeps track of the last time it was called and only imposes a sleep if it was called more recently than the delay_policy() allows. =cut sub _sleep { my $self = shift; my $last_invocation = $LAST_INVOCATION_TIME; if (time - $LAST_INVOCATION_TIME < $self->delay) { my $delay = $self->delay - (time - $LAST_INVOCATION_TIME); $self->debug("sleeping for $delay seconds\n"); sleep $delay; } $LAST_INVOCATION_TIME = time; } =head1 LWP::UserAgent related methods =head2 proxy Title : proxy Usage : $httpproxy = $db->proxy('http') or $db->proxy(['http','ftp'], 'http://myproxy' ) Function: Get/Set a proxy for use of proxy Returns : a string indicating the proxy Args : $protocol : an array ref of the protocol(s) to set/get $proxyurl : url of the proxy to use for the specified protocol $username : username (if proxy requires authentication) $password : password (if proxy requires authentication) =cut sub proxy { my ($self,$protocol,$proxy,$username,$password) = @_; return undef if ( !defined $protocol || !defined $proxy ); $self->authentication($username, $password) if ($username && $password); return $self->ua->proxy($protocol,$proxy); } =head2 authentication Title : authentication Usage : $db->authentication($user,$pass) Function: Get/Set authentication credentials Returns : Array of user/pass Args : Array or user/pass =cut sub authentication{ my ($self,$u,$p) = @_; if( defined $u && defined $p ) { $self->{'_authentication'} = [ $u,$p]; } $self->{'_authentication'} && return @{$self->{'_authentication'}}; } 1; Index: EUtilities.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/EUtilities.pm,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** EUtilities.pm 28 Jun 2007 18:06:19 -0000 1.39 --- EUtilities.pm 2 Jul 2007 16:53:51 -0000 1.40 *************** *** 115,119 **** my $eutil = $pobj->eutil ; if ($eutil eq 'efetch') { ! $self->throw("No parser defined for efetch; use get_response() directly"); }; # if we are to add pipe/tempfile support this would probably be the --- 115,119 ---- my $eutil = $pobj->eutil ; if ($eutil eq 'efetch') { ! $self->throw("No parser defined for efetch; use get_Response() directly"); }; # if we are to add pipe/tempfile support this would probably be the From cjfields at dev.open-bio.org Mon Jul 2 12:55:06 2007 From: cjfields at dev.open-bio.org (Christopher John Fields) Date: Mon, 02 Jul 2007 16:55:06 +0000 Subject: [Bioperl-guts-l] bioperl-live/Bio/DB GenericWebDBI.pm,1.10,NONE Message-ID: <200707021655.l62Gt6et017028@dev.open-bio.org> Update of /home/repository/bioperl/bioperl-live/Bio/DB In directory dev.open-bio.org:/tmp/cvs-serv17003 Removed Files: GenericWebDBI.pm Log Message: Changed class name to something more relevant --- GenericWebDBI.pm DELETED --- From bugzilla-daemon at portal.open-bio.org Mon Jul 2 17:39:42 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 17:39:42 -0400 Subject: [Bioperl-guts-l] [Bug 2299] Bio::Tools::Glimmer needs workaround to deal with Glimmer 2.X/3.X producing plus strand predictions with start > end In-Reply-To: Message-ID: <200707022139.l62LdgA1028098@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2299 ------- Comment #10 from mjohnson at watson.wustl.edu 2007-07-02 17:39 EST ------- Everything looks good on the bioperl-live (Bio::Tools) side. Need an additional tweak to the bioperl-run (Bio::Tools::Run) side, to pass along the name of the glimmer3 'detail' file. I think I forgot to send some tweaks to the -run tests, too. New attachments coming. > Mark, > > I committed everything. Tests pass but I get 157 (not 158) tests; I had to > manually add them in as there have been a few changes to the way we are loading > files and running tests now for bioperl. > > Could you try running the tests and let me know if this is kosher? If so you > can close it out. > -- 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 Mon Jul 2 17:43:51 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 17:43:51 -0400 Subject: [Bioperl-guts-l] [Bug 2299] Bio::Tools::Glimmer needs workaround to deal with Glimmer 2.X/3.X producing plus strand predictions with start > end In-Reply-To: Message-ID: <200707022143.l62Lhpn0028376@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2299 ------- Comment #11 from mjohnson at watson.wustl.edu 2007-07-02 17:43 EST ------- Created an attachment (id=695) --> (http://bugzilla.open-bio.org/attachment.cgi?id=695&action=view) Patch for bioperl-run t/Glimmer2.t -- 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 Mon Jul 2 17:44:22 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 17:44:22 -0400 Subject: [Bioperl-guts-l] [Bug 2299] Bio::Tools::Glimmer needs workaround to deal with Glimmer 2.X/3.X producing plus strand predictions with start > end In-Reply-To: Message-ID: <200707022144.l62LiMvg028424@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2299 ------- Comment #12 from mjohnson at watson.wustl.edu 2007-07-02 17:44 EST ------- Created an attachment (id=696) --> (http://bugzilla.open-bio.org/attachment.cgi?id=696&action=view) Patch for bioperl-run t/Glimmer3.t -- 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 Mon Jul 2 17:45:06 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 17:45:06 -0400 Subject: [Bioperl-guts-l] [Bug 2299] Bio::Tools::Glimmer needs workaround to deal with Glimmer 2.X/3.X producing plus strand predictions with start > end In-Reply-To: Message-ID: <200707022145.l62Lj69x028479@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2299 ------- Comment #13 from mjohnson at watson.wustl.edu 2007-07-02 17:45 EST ------- Created an attachment (id=697) --> (http://bugzilla.open-bio.org/attachment.cgi?id=697&action=view) Patch for Bio::Tools::Run::Glimmer to pass along glimmer3 detail file name -- 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 Mon Jul 2 18:06:42 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 18:06:42 -0400 Subject: [Bioperl-guts-l] [Bug 2299] Bio::Tools::Glimmer needs workaround to deal with Glimmer 2.X/3.X producing plus strand predictions with start > end In-Reply-To: Message-ID: <200707022206.l62M6gIN029457@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2299 ------- Comment #14 from cjfields at uiuc.edu 2007-07-02 18:06 EST ------- Mark, I'm getting tests passing but only have 203 total tests for Glimmer2.t and 110 total tests for Glimmer3.t. -- 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 Mon Jul 2 18:30:31 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 18:30:31 -0400 Subject: [Bioperl-guts-l] [Bug 2299] Bio::Tools::Glimmer needs workaround to deal with Glimmer 2.X/3.X producing plus strand predictions with start > end In-Reply-To: Message-ID: <200707022230.l62MUVMi030940@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2299 ------- Comment #15 from mjohnson at watson.wustl.edu 2007-07-02 18:30 EST ------- (In reply to comment #14) > Mark, I'm getting tests passing but only have 203 total tests for Glimmer2.t > and 110 total tests for Glimmer3.t. Hmm, weird. I'm seeing 217 for Glimmer2.t and 111 for Glimmer3.t I've got cvs checkouts of bioperl-live and bioperl-run, both updated, that I'm using: [mjohnson at linus35 bioperl-run]$ pwd /gscuser/mjohnson/bioperl-cvs/bioperl-run [mjohnson at linus35 bioperl-run]$ cvs -q update -d -P M Bio/Tools/Run/Glimmer.pm M t/Glimmer2.t M t/Glimmer3.t [mjohnson at linus35 bioperl-run]$ cvs diff cvs diff: Diffing . cvs diff: Diffing Bio cvs diff: Diffing Bio/Factory cvs diff: Diffing Bio/Installer cvs diff: Diffing Bio/Tools cvs diff: Diffing Bio/Tools/Run Index: Bio/Tools/Run/Glimmer.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-run/Bio/Tools/Run/Glimmer.pm,v retrieving revision 1.2 diff -r1.2 Glimmer.pm 297c297 < my ($output_fh, $output_file_name); --- > my ($output_fh, $output_file_name, $detail_file_name); 312a313 > $detail_file_name = "$glimmer3_tag.detail"; 347a349,352 > > # Pass along the name of extra output file, with handy information about > # sequence lengths (only produced by glimmer3) > if (defined($detail_file_name)) { $parser_args{-detail} = $detail_file_name; } cvs diff: Diffing Bio/Tools/Run/Alignment cvs diff: Diffing Bio/Tools/Run/Analysis cvs diff: Diffing Bio/Tools/Run/AnalysisFactory cvs diff: Diffing Bio/Tools/Run/Phylo cvs diff: Diffing Bio/Tools/Run/Phylo/Hyphy cvs diff: Diffing Bio/Tools/Run/Phylo/Molphy cvs diff: Diffing Bio/Tools/Run/Phylo/Njtree cvs diff: Diffing Bio/Tools/Run/Phylo/PAML cvs diff: Diffing Bio/Tools/Run/Phylo/Phast cvs diff: Diffing Bio/Tools/Run/Phylo/Phylip cvs diff: Diffing Bio/Tools/Run/PiseApplication cvs diff: Diffing examples cvs diff: Diffing examples/pise cvs diff: Diffing scripts cvs diff: Diffing t Index: t/Glimmer2.t =================================================================== RCS file: /home/repository/bioperl/bioperl-run/t/Glimmer2.t,v retrieving revision 1.3 diff -r1.3 Glimmer2.t 45c45 < isa_ok $first_gene, 'Bio::Tools::Prediction::Gene'; --- > isa_ok $first_gene, 'Bio::SeqFeature::Generic'; 49c49 < isa_ok $gene, 'Bio::Tools::Prediction::Gene'; --- > isa_ok $gene, 'Bio::SeqFeature::Generic'; Index: t/Glimmer3.t =================================================================== RCS file: /home/repository/bioperl/bioperl-run/t/Glimmer3.t,v retrieving revision 1.3 diff -r1.3 Glimmer3.t 46c46 < isa_ok $gene, 'Bio::Tools::Prediction::Gene'; --- > isa_ok $gene, 'Bio::SeqFeature::Generic'; cvs diff: Diffing t/data cvs diff: Diffing t/data/gumby cvs diff: Diffing t/data/taxdump cvs diff: Diffing t/lib cvs diff: Diffing t/lib/Test cvs diff: Diffing t/lib/Test/Builder -- 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 Mon Jul 2 18:36:49 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 18:36:49 -0400 Subject: [Bioperl-guts-l] [Bug 2299] Bio::Tools::Glimmer needs workaround to deal with Glimmer 2.X/3.X producing plus strand predictions with start > end In-Reply-To: Message-ID: <200707022236.l62Man5G031179@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2299 ------- Comment #16 from mjohnson at watson.wustl.edu 2007-07-02 18:36 EST ------- I'm invoking the tests thusly: [mjohnson at linus35 bioperl-run]$ pwd /gscuser/mjohnson/bioperl-cvs/bioperl-run [mjohnson at linus35 bioperl-run]$ /gsc/bin/perl -I ../bioperl-live/ -I . t/Glimmer2.t 1..217 ... ... ... ok 217 - The object isa Bio::SeqFeature::Generic [mjohnson at linus35 bioperl-run]$ /gsc/bin/perl -I ../bioperl-live/ -I . t/Glimmer3.t 1..111 ... ... ... ok 111 - The object isa Bio::SeqFeature::Generic Here's the md5sums on my icm files: [mjohnson at linus35 bioperl-run]$ md5sum t/data/*.icm 57e56078566a3a78900d83b10fb68d76 t/data/H_pylori_J99.glimmer2.icm 0f30143c87d9904248796d95ba1fecbb t/data/H_pylori_J99.glimmer3.icm These tests actually invoke glimmer2 and glimmer3. What versions do you have installed? I'm using glimmer2 (2.13) and glimmer3 (3.02). -- 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 Mon Jul 2 19:02:13 2007 From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon at portal.open-bio.org) Date: Mon, 2 Jul 2007 19:02:13 -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: <200707022302.l62N2D6h032186@portal.open-bio.org> http://bugzilla.open-bio.org/show_bug.cgi?id=2305 ------- Comment #10 from mmokrejs at ribosome.natur.cuni.cz 2007-07-02 19:02 EST ------- Yes, the bad alphabet issue is fixed in CVS now, thanks. $ bp_seqconvert.pl --from genbank --to embl < ~mmokrejs/tmp/pGL3R.gb -------------------- WARNING --------------------- MSG: Bad LOCUS name? Changing [6499] to 'unknown' and length to 6499 --------------------------------------------------- -------------------- WARNING --------------------- MSG: cannot see new qualifier in feature misc_feature: 184, 190, 1 --------------------------------------------------- ID unknown; SV 1; linear; unassigned DNA; STD; UNC; 6499 BP. XX AC unknown; XX XX XX CC ApEinfo:methylated:1 XX FH Key Location/Qualifiers FH FT misc_feature 1..41 FT /ApEinfo_fwdcolor="cyan" FT /ApEinfo_label="Multiple cloning region" FT /ApEinfo_revcolor="cyan" FT misc_feature 1523..3175 FT /ApEinfo_fwdcolor="#00ff00" FT /ApEinfo_label="FLuc" FT /ApEinfo_revcolor="#00ff00" FT misc_feature 3207..3428 FT /ApEinfo_fwdcolor="#ff0000" FT /ApEinfo_label="SV40 Late poly(A) signal" FT /ApEinfo_revcolor="#ff0000" FT misc_feature 3448..3684 FT /ApEinfo_fwdcolor="#ff0000" FT /ApEinfo_label="Enhancer" FT /ApEinfo_revcolor="#ff0000" FT misc_feature 48..249 FT /ApEinfo_fwdcolor="#ff0000" FT /ApEinfo_label="SV40 Promoter" FT /ApEinfo_revcolor="#ff0000" FT misc_feature 520..1455 FT /ApEinfo_fwdcolor="#00ff00" FT /ApEinfo_label="RLuc" FT /ApEinfo_revcolor="#00ff00" FT misc_feature 146..195 FT / FT /ApEinfo_fwdcolor="#ff80c0" FT /ApEinfo_label="Putative major transcription sites 146," FT /ApEinfo_revcolor="#ff80c0" FT misc_feature 276..408 FT /ApEinfo_fwdcolor="cyan" FT /ApEinfo_label="chimeric intron" FT /ApEinfo_revcolor="cyan" FT misc_feature 453..471 FT /ApEinf