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