From bugzilla-daemon at portal.open-bio.org Thu Dec 1 10:55:51 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Thu Dec 1 10:59:17 2005
Subject: [Bioperl-guts-l] [Bug 1911] Deep recursion when reading newick tree
Message-ID: <200512011555.jB1FtpZ9026908@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1911
------- Comment #1 from qfdong@iastate.edu 2005-12-01 10:55 -------
Created an attachment (id=255)
--> (http://bugzilla.open-bio.org/attachment.cgi?id=255&action=view)
offending tree (plain text, newick format)
This is the offending tree that gnerates a lot "Deep recursion" error
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Thu Dec 1 10:52:27 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Thu Dec 1 10:59:21 2005
Subject: [Bioperl-guts-l] [Bug 1911] New: Deep recursion when reading newick
tree
Message-ID: <200512011552.jB1FqRrL026880@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1911
Summary: Deep recursion when reading newick tree
Product: Bioperl
Version: 1.5 branch
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Core Components
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: qfdong@iastate.edu
Hello,
I am not sure if I am reporting to the right bugzilla "Component". I am using
bioperl (1.5.1) on linux to work on an UPGMA tree (newick format, generated by
PHYLIP package). My code works well on a small tree. However, when I applied it
to a big (ugly) tree, it produces a bunch of error msg.
I will attach both my code and offending tree to this report:
Qunfeng
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Thu Dec 1 10:58:49 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Thu Dec 1 11:58:02 2005
Subject: [Bioperl-guts-l] [Bug 1911] Deep recursion when reading newick tree
Message-ID: <200512011558.jB1Fwn8X026959@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1911
------- Comment #2 from qfdong@iastate.edu 2005-12-01 10:58 -------
Created an attachment (id=256)
--> (http://bugzilla.open-bio.org/attachment.cgi?id=256&action=view)
perl script that reads that offending tree
This is my script. To run it: ./sibling.pl offendingtree > output
This script reads in the tree and retrieve all the leaf nodes and their
parents. Then cluster the leaf nodes based on their belonging parents.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Thu Dec 1 14:00:22 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Thu Dec 1 14:58:09 2005
Subject: [Bioperl-guts-l] [Bug 1911] Deep recursion when reading newick tree
Message-ID: <200512011900.jB1J0MWH029945@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1911
jason@open-bio.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jason@open-bio.org
Status|NEW |ASSIGNED
------- Comment #3 from jason@open-bio.org 2005-12-01 14:00 -------
This is just Perl complaining because the recursion is deep because there are
so many levels in your tree (449 deep). It thinks it hit a snag because it
doesn't expect to usually have a recursive call go that many levels.
You can make the warnings go away by adding this
no warnings 'recursion';
To the top of the modules (after use strict)
Bio::Tree::Node Bio::Tree::NodeI Bio::Root::Root
I'll check something like this in to CVS after we've mulled it over for a
while.
I'm also considering moving some of the code for cleanup over to rely on weak
references instead of explictly cleaning up things ourself which will remove
some of the warnings in Bio::Root::Root
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Thu Dec 1 14:16:51 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Thu Dec 1 14:58:10 2005
Subject: [Bioperl-guts-l] [Bug 1911] Deep recursion when reading newick tree
Message-ID: <200512011916.jB1JGpcM030082@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1911
------- Comment #4 from jason@open-bio.org 2005-12-01 14:16 -------
Maybe we should unroll the recursion to an iterator?
http://perlmonks.org/?node_id=238938
http://perlmonks.org/?node_id=322349
http://perlmonks.org/?node_id=324564
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From tseemann at pub.open-bio.org Thu Dec 1 20:06:01 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Thu Dec 1 20:00:42 2005
Subject: [Bioperl-guts-l]
bioperl-live/Bio/Tools/Run StandAloneBlast.pm, 1.52, 1.53
Message-ID: <200512020106.jB2161VL024160@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools/Run
In directory pub.open-bio.org:/tmp/cvs-serv24143
Modified Files:
StandAloneBlast.pm
Log Message:
Documentation and formatting cleanup
Index: StandAloneBlast.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Run/StandAloneBlast.pm,v
retrieving revision 1.52
retrieving revision 1.53
diff -C2 -d -r1.52 -r1.53
*** StandAloneBlast.pm 30 Nov 2005 16:11:48 -0000 1.52
--- StandAloneBlast.pm 2 Dec 2005 01:05:59 -0000 1.53
***************
*** 1,7 ****
# $Id$
#
! # BioPerl module for Bio::Tools::StandAloneBlast
! #
! # 30 Nov 2005 - rpsblast support added by Torsten Seemann
#
# Copyright Peter Schattner
--- 1,5 ----
# $Id$
#
! # BioPerl module for Bio::Tools::Run::StandAloneBlast
#
# Copyright Peter Schattner
***************
*** 14,18 ****
Bio::Tools::Run::StandAloneBlast - Object for the local execution
! of the NCBI Blast program suite (blastall, blastpgp, bl2seq, rpsblast).
There is experimental support for WU-Blast and NCBI rpsblast.
--- 12,16 ----
Bio::Tools::Run::StandAloneBlast - Object for the local execution
! of the NCBI BLAST program suite (blastall, blastpgp, bl2seq).
There is experimental support for WU-Blast and NCBI rpsblast.
***************
*** 23,33 ****
@params = ('database' => 'swissprot','outfile' => 'blast1.out');
-
$factory = Bio::Tools::Run::StandAloneBlast->new(@params);
# Blast a sequence against a database:
! $str = Bio::SeqIO->new(-file=>'t/amino.fa' ,
! -format => 'Fasta' );
$input = $str->next_seq();
$input2 = $str->next_seq();
--- 21,29 ----
@params = ('database' => 'swissprot','outfile' => 'blast1.out');
$factory = Bio::Tools::Run::StandAloneBlast->new(@params);
# Blast a sequence against a database:
! $str = Bio::SeqIO->new(-file=>'t/amino.fa', -format => 'Fasta');
$input = $str->next_seq();
$input2 = $str->next_seq();
***************
*** 47,62 ****
# Experimental support for WU-Blast 2.0
my $factory = Bio::Tools::Run::StandAloneBlast->new(program =>"wublastp",
database =>"swissprot",
! E => 1e-20);
! my $blast_report = $factory->wublast($seq);
# Experimental support for NCBI rpsblast
! my $factory= Bio::Tools::Run::StandAloneBlast->new(d => 'CDD/Cog',
! e => 0.001);
my $blast_report = $factory->rpsblast($seq);
! # Various additional options and input formats are available. See
! # the DESCRIPTION section for details.
=head1 DESCRIPTION
--- 43,61 ----
# Experimental support for WU-Blast 2.0
+
my $factory = Bio::Tools::Run::StandAloneBlast->new(program =>"wublastp",
database =>"swissprot",
! e => 1e-20);
! my $blast_report = $factory->wublast($seq);
# Experimental support for NCBI rpsblast
!
! my $factory = Bio::Tools::Run::StandAloneBlast->new(db => 'CDD/Cog',
! expect => 0.001);
! $factory->F('T'); # turn on SEG filtering of query sequence
my $blast_report = $factory->rpsblast($seq);
! # Various additional options and input formats are available,
! # see the DESCRIPTION section for details.
=head1 DESCRIPTION
***************
*** 173,177 ****
$str = Bio::AlignIO->new(-file=> "cysprot.msf",
! -format => 'msf' );
$aln = $str->next_aln();
$len = $aln->length_aln();
--- 172,176 ----
$str = Bio::AlignIO->new(-file=> "cysprot.msf",
! -format => 'msf');
$aln = $str->next_aln();
$len = $aln->length_aln();
***************
*** 185,189 ****
# Get 2 sequences
! $str = Bio::SeqIO->new(-file=>'t/amino.fa' , '-format' => 'Fasta', );
my $seq3 = $str->next_seq();
my $seq4 = $str->next_seq();
--- 184,188 ----
# Get 2 sequences
! $str = Bio::SeqIO->new(-file=>'t/amino.fa' , '-format' => 'Fasta');
my $seq3 = $str->next_seq();
my $seq4 = $str->next_seq();
***************
*** 191,195 ****
# Run bl2seq on them
$factory = Bio::Tools::Run::StandAloneBlast->new('program' => 'blastp',
! 'outfile' => 'bl2seq.out');
my $bl2seq_report = $factory->bl2seq($seq3, $seq4);
--- 190,194 ----
# Run bl2seq on them
$factory = Bio::Tools::Run::StandAloneBlast->new('program' => 'blastp',
! 'outfile' => 'bl2seq.out');
my $bl2seq_report = $factory->bl2seq($seq3, $seq4);
***************
*** 224,228 ****
=head1 AUTHOR - Peter Schattner
! Email schattner@alum.mit.edu
=head1 APPENDIX
--- 223,231 ----
=head1 AUTHOR - Peter Schattner
! Email schattner at alum.mit.edu
!
! =head1 MAINTAINER - Torsten Seemann
!
! Email torsten at infotech.monash.edu.au
=head1 APPENDIX
***************
*** 292,301 ****
{ $OK_FIELD{$attr}++; }
! # You will need to enable Blast to find the Blast program.
! # This can be done in at least two different ways:
! # 1. define an environmental variable blastDIR:
! # export BLASTDIR=/home/peter/blast or
! # 2. include a definition of an environmental variable
! # BLASTDIR in every script that will use StandAloneBlast.pm.
$PROGRAMDIR = $BLASTTYPE eq 'ncbi' ? $ENV{'BLASTDIR'}: $ENV{'WUBLASTIDR'};
--- 295,304 ----
{ $OK_FIELD{$attr}++; }
! # You will need to enable Blast to find the Blast program.
! # This can be done in at least two different ways:
! # 1. define an environmental variable blastDIR:
! # export BLASTDIR=/home/peter/blast or
! # 2. include a definition of an environmental variable
! # BLASTDIR in every script that will use StandAloneBlast.pm.
$PROGRAMDIR = $BLASTTYPE eq 'ncbi' ? $ENV{'BLASTDIR'}: $ENV{'WUBLASTIDR'};
***************
*** 303,307 ****
# If local BLAST databases are not stored in the standard
# /data directory, the variable BLASTDATADIR will need to be
! # set explicitly
$DATADIR = $ENV{'BLASTDATADIR'} || $ENV{'BLASTDB'} || '';
}
--- 306,310 ----
# If local BLAST databases are not stored in the standard
# /data directory, the variable BLASTDATADIR will need to be
! # set explicitly
$DATADIR = $ENV{'BLASTDATADIR'} || $ENV{'BLASTDB'} || '';
}
From bugzilla-daemon at portal.open-bio.org Fri Dec 2 11:36:58 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Fri Dec 2 11:58:10 2005
Subject: [Bioperl-guts-l] [Bug 1912] New: Enable named parameters with
dashes in StandAloneBlast
Message-ID: <200512021636.jB2GawhF018251@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1912
Summary: Enable named parameters with dashes in StandAloneBlast
Product: Bioperl
Version: main-trunk
Platform: Macintosh
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: Core Components
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: brian_osborne@cognia.com
Enable named parameters with dashes in StandAloneBlast. So, in addition to
this:
my $factory = Bio::Tools::Run::StandAloneBlast->new(db => 'CDD/Cog',
expect => 0.001);
one could do:
my $factory = Bio::Tools::Run::StandAloneBlast->new(-db => 'CDD/Cog',
-expect => 0.001);
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bosborne at pub.open-bio.org Tue Dec 6 17:46:56 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Tue Dec 6 17:41:14 2005
Subject: [Bioperl-guts-l] bioperl-live/doc/howto/pdf Feature-Annotation.pdf,
1.17, 1.18
Message-ID: <200512062246.jB6MkuVL025763@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/doc/howto/pdf
In directory pub.open-bio.org:/tmp/cvs-serv25723/pdf
Modified Files:
Feature-Annotation.pdf
Log Message:
Typo
Index: Feature-Annotation.pdf
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/doc/howto/pdf/Feature-Annotation.pdf,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
Binary files /tmp/cvs0ZilgR and /tmp/cvs5fJiW1 differ
From bosborne at pub.open-bio.org Tue Dec 6 17:46:56 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Tue Dec 6 17:41:16 2005
Subject: [Bioperl-guts-l] bioperl-live/doc/howto/txt Beginners.txt, 1.7,
1.8 Feature-Annotation.txt, 1.15, 1.16
Message-ID: <200512062246.jB6MkuVL025765@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/doc/howto/txt
In directory pub.open-bio.org:/tmp/cvs-serv25723/txt
Modified Files:
Beginners.txt Feature-Annotation.txt
Log Message:
Typo
Index: Feature-Annotation.txt
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/doc/howto/txt/Feature-Annotation.txt,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** Feature-Annotation.txt 29 Nov 2005 16:30:48 -0000 1.15
--- Feature-Annotation.txt 6 Dec 2005 22:46:54 -0000 1.16
***************
*** 1,3 ****
--- 1,1069 ----
+ BioPerl DocBook ([1]BioPerl)
+
+ Feature and Annotation HOWTO
+
+ Brian Osborne
+
+ <[2]osborne1 at optonline.net>
+
[...1040 lines suppressed...]
+ 93. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Annotation/DBLink.html
+ 94. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Annotation/SimpleValue.html
+ 95. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Annotation/Collection.html
+ 96. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Annotation/OntologyTerm.html
+ 97. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Annotation/StructuredValue.html
+ 98. http://doc.bioperl.org/releases/bioperl-1.4/Bio/LocationI.html
+ 99. http://doc.bioperl.org/releases/bioperl-1.4/Bio/LocatableSeq.html
+ 100. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Location/Atomic.html
+ 101. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Location/AvWithinCoordPolicy.html
+ 102. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Location/CoordinatePolicyI.html
+ 103. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Location/Fuzzy.html
+ 104. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Location/FuzzyLocationI.html
+ 105. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Location/NarrowestCoordPolicy.html
+ 106. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Location/Simple.html
+ 107. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Location/Split.html
+ 108. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Location/SplitLocationI.html
+ 109. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Location/WidestCoordPolicy.html
+ 110. http://doc.bioperl.org/releases/bioperl-1.4/Bio/RangeI.html
+ 111. http://doc.bioperl.org/releases/bioperl-1.4/Bio/Range.html
+ 112. http://bioperl.org/
Index: Beginners.txt
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/doc/howto/txt/Beginners.txt,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Beginners.txt 27 Oct 2005 02:21:32 -0000 1.7
--- Beginners.txt 6 Dec 2005 22:46:54 -0000 1.8
***************
*** 286,290 ****
use Bio::Seq;
! $seq_obj = Bio::Seq->new(-seq => "aaaatgggggggggggccccgtt"
-alphabet => 'dna' );
--- 286,290 ----
use Bio::Seq;
! $seq_obj = Bio::Seq->new(-seq => "aaaatgggggggggggccccgtt",
-alphabet => 'dna' );
***************
*** 826,840 ****
And here are the values:
! Method Returns
! display_id gi|147605|gb|J01673.1|ECORHO
! desc E.coli rho gene coding for transcription termination factor
display_name gi|147605|gb|J01673.1|ECORHO
! accession unknown
! primary_id gi|147605|gb|J01673.1|ECORHO
! is_circular
! namespace
! authority
! length 1880
! seq AACCCT...ACAGGAC
Table 4. Values from the Sequence object (FASTA)
--- 826,840 ----
And here are the values:
! Method Returns
! display_id gi|147605|gb|J01673.1|ECORHO
! desc E.coli rho gene coding for transcription termination factor
display_name gi|147605|gb|J01673.1|ECORHO
! accession unknown
! primary_id gi|147605|gb|J01673.1|ECORHO
! is_circular
! namespace
! authority
! length 1880
! seq AACCCT...ACAGGAC
Table 4. Values from the Sequence object (FASTA)
***************
*** 853,856 ****
--- 853,857 ----
and formats all the [95]Bioperl authors can do is do make reasonable
choices.
+
[Note]
Note
***************
*** 1262,1267 ****
2. The [129]Bioperl design documentation, for anyone who'd like to
write their own modules.
! BioPerl DocBook ([130]BioPerl)
References
--- 1263,1270 ----
2. The [129]Bioperl design documentation, for anyone who'd like to
write their own modules.
+ 3. The [130]ENSEMBL Perl API, a way of accessing ENSEMBL's genomics
+ data, in a manner very much like Bioperl.
! BioPerl DocBook ([131]BioPerl)
References
***************
*** 1396,1398 ****
128. http://www.manning.com/Conway/
129. http://bioperl.org/Core/Latest/biodesign.html
! 130. http://bioperl.org/
--- 1399,1402 ----
128. http://www.manning.com/Conway/
129. http://bioperl.org/Core/Latest/biodesign.html
! 130. http://www.ensembl.org/info/software/core/core_tutorial.html
! 131. http://bioperl.org/
From bosborne at pub.open-bio.org Tue Dec 6 17:46:57 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Tue Dec 6 17:41:21 2005
Subject: [Bioperl-guts-l]
bioperl-live/doc/howto/xml/xsl/html table.xsl, 1.1, 1.2
Message-ID: <200512062246.jB6MkvVL025779@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/doc/howto/xml/xsl/html
In directory pub.open-bio.org:/tmp/cvs-serv25723/xml/xsl/html
Modified Files:
table.xsl
Log Message:
Typo
Index: table.xsl
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/doc/howto/xml/xsl/html/table.xsl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** table.xsl 13 Aug 2005 02:18:19 -0000 1.1
--- table.xsl 6 Dec 2005 22:46:54 -0000 1.2
***************
*** 408,412 ****
!
No adjustColumnWidths function available.
--- 408,412 ----
!
No adjustColumnWidths function available.
From bosborne at pub.open-bio.org Tue Dec 6 17:46:56 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Tue Dec 6 17:41:31 2005
Subject: [Bioperl-guts-l] bioperl-live/doc/howto/xml Beginners.xml, 1.10,
1.11 Feature-Annotation.xml, 1.13, 1.14
Message-ID: <200512062246.jB6MkuVL025774@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/doc/howto/xml
In directory pub.open-bio.org:/tmp/cvs-serv25723/xml
Modified Files:
Beginners.xml Feature-Annotation.xml
Log Message:
Typo
Index: Beginners.xml
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/doc/howto/xml/Beginners.xml,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** Beginners.xml 29 Nov 2005 16:30:48 -0000 1.10
--- Beginners.xml 6 Dec 2005 22:46:54 -0000 1.11
***************
*** 505,509 ****
use Bio::Seq;
! $seq_obj = Bio::Seq->new(-seq => "aaaatgggggggggggccccgtt"
-alphabet => 'dna' );
--- 505,509 ----
use Bio::Seq;
! $seq_obj = Bio::Seq->new(-seq => "aaaatgggggggggggccccgtt",
-alphabet => 'dna' );
Index: Feature-Annotation.xml
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/doc/howto/xml/Feature-Annotation.xml,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** Feature-Annotation.xml 29 Nov 2005 16:53:14 -0000 1.13
--- Feature-Annotation.xml 6 Dec 2005 22:46:54 -0000 1.14
***************
*** 16,20 ****
Osborne
!
osborne1 at optonline.net
--- 16,20 ----
Osborne
!
osborne1 at optonline.net
***************
*** 57,61 ****
to be essential for the proper transcriptional regulation of a
gene, or a particular amino acid sequence may bind a particular
! ion. This simple idea turns out to be a bit more complicated
in the bioinformatics world where there's a need to represent the actual
data in all its varied forms. The promoter region may not be precisely
--- 57,61 ----
to be essential for the proper transcriptional regulation of a
gene, or a particular amino acid sequence may bind a particular
! ion, for example. This simple idea turns out to be a bit more complicated
in the bioinformatics world where there's a need to represent the actual
data in all its varied forms. The promoter region may not be precisely
***************
*** 77,81 ****
The HOWTO will discuss these objects and the differences
between them. There's also discussion of how to get useful data from these
! objects and discuss the basics of how to annotate sequence
using the objects.
--- 77,81 ----
The HOWTO will discuss these objects and the differences
between them. There's also discussion of how to get useful data from these
! objects and the basics of how to create your own sequence annotations
using the objects.
***************
*** 84,88 ****
The Basics
!
Some Bioperl neophytes may also be new to object-oriented
programming (OOP) and this notion of an object. OOP is not the
--- 84,88 ----
The Basics
!
Some Bioperl neophytes may also be new to object-oriented
programming (OOP) and this notion of an object. OOP is not the
***************
*** 96,100 ****
together to create an "annotated sequence object". You could then tell
this object to make a version of itself as a file, or pass this
! object to a "database object" for entry. This is a very flexible and
logical way to design a complex piece of software like Bioperl,
since each part of the system can be created and evaluated separately.
--- 96,101 ----
together to create an "annotated sequence object". You could then tell
this object to make a version of itself as a file, or pass this
! object to a "database object" in order to enter some data into the
! database. This is a very flexible and
logical way to design a complex piece of software like Bioperl,
since each part of the system can be created and evaluated separately.
From amackey at pub.open-bio.org Tue Dec 6 21:18:59 2005
From: amackey at pub.open-bio.org (Aaron J Mackey)
Date: Tue Dec 6 21:13:15 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Graphics/Glyph protein.pm, NONE,
1.1
Message-ID: <200512070219.jB72IxVL026400@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Graphics/Glyph
In directory pub.open-bio.org:/tmp/cvs-serv26391
Added Files:
protein.pm
Log Message:
initial Kyte-Doolittle hydropathy plot glyph
--- NEW FILE: protein.pm ---
package Bio::Graphics::Glyph::protein;
use strict;
use Bio::Graphics::Glyph::generic;
use vars '@ISA';
@ISA = qw(Bio::Graphics::Glyph::generic);
# turn off description
sub description { 0 }
# turn off label
# sub label { 1 }
sub height {
my $self = shift;
my $font = $self->font;
return $self->dna_fits ? 2 * $font->height
: $self->do_kd ? $self->SUPER::height
: 0;
}
sub do_kd {
my $self = shift;
my $do_kd = $self->option('do_kd');
return if defined($do_kd) && !$do_kd;
return 1;
}
sub draw_component {
my $self = shift;
my $gd = shift;
my ($x1,$y1,$x2,$y2) = $self->bounds(@_);
my $protein = eval { $self->feature->seq };
$protein = $protein->seq
if ref($protein) and $protein->can('seq'); # to catch Bio::PrimarySeqI objects
$protein or return;
# workaround for my misreading of interface -- LS
$protein = $protein->seq if ref($protein) && $protein->can('seq');
if ($self->dna_fits) {
$self->draw_protein($gd,$protein,$x1,$y1,$x2,$y2);
} elsif ($self->do_kd) {
$self->draw_kd_plot($gd,$protein,$x1,$y1,$x2,$y2);
}
}
sub draw_protein {
my $self = shift;
my ($gd,$protein,$x1,$y1,$x2,$y2) = @_;
my $pixels_per_base = $self->scale;
my $feature = $self->feature;
my @bases = split '', $protein;
my $color = $self->fgcolor;
my $font = $self->font;
my $lineheight = $font->height;
$y1 -= $lineheight/2 - 3;
my $start = $self->panel->left + $self->map_pt($feature->start);
my $end = $self->panel->left + $self->map_pt($feature->end);
my $offset = int(($x1-$start-1)/$pixels_per_base);
for (my $i=$offset;$i<@bases;$i++) {
my $x = $start + $i * $pixels_per_base;
next if $x+1 < $x1;
last if $x > $x2;
$gd->char($font,$x+2,$y1,$bases[$i],$color);
}
}
sub draw_kd_plot {
my $self = shift;
my $gd = shift;
my $protein = shift;
my ($x1,$y1,$x2,$y2) = @_;
my $kd_window = $self->option('kd_window') || 9;
# Calculate the KD plot ...
my %scores = ( I => 4.5,
V => 4.2,
L => 3.8,
F => 2.8,
C => 2.5,
M => 1.9,
A => 1.8,
G => -0.4,
T => -0.7,
W => -0.9,
S => -0.8,
Y => -1.3,
P => -1.6,
H => -3.2,
E => -3.5,
Q => -3.5,
D => -3.5,
N => -3.5,
K => -3.9,
R => -4.5,
);
my @datapoints;
my $maxkd;
my $minkd;
my @seq = split('', uc($protein));
$kd_window = $kd_window < scalar(@seq) ? $kd_window : scalar(@seq);
my $kd = 0;
for (my $i = 0 ; $i < @seq && $i < $kd_window ; $i++) {
$kd += $scores{$seq[$i]} || 0;
}
my $content = $kd / $kd_window;
push @datapoints, $content;
$maxkd = $minkd = $content;
for (my $i = $kd_window; $i < @seq; $i++) {
$kd -= $scores{$seq[$i-1]} || 0;
$kd += $scores{$seq[$i]} || 0;
$content = $kd / $kd_window;
push @datapoints, $content;
$maxkd = $content if ($content > $maxkd);
$minkd = $content if ($content < $minkd);
}
#my $scale = $maxkd - $minkd;
#foreach (my $i; $i < @datapoints; $i++) {
# $datapoints[$i] = ($datapoints[$i] - $minkd) / $scale;
#}
#$maxkd = int($maxkd * 100);
#$minkd = int($minkd * 100);
# Calculate values that will be used in the layout
my $bin_height = $y2-$y1;
my $fgcolor = $self->fgcolor;
my $bgcolor = $self->factory->translate_color($self->panel->gridcolor);
my $axiscolor = $self->color('axis_color') || $fgcolor;
# Draw the axes
$gd->line($x1, $y1, $x1, $y2, $axiscolor);
$gd->line($x2-2,$y1, $x2-2,$y2, $axiscolor);
$gd->line($x1, $y1, $x1+3,$y1, $axiscolor);
$gd->line($x1, $y2, $x1+3,$y2, $axiscolor);
$gd->line($x1, ($y2+$y1)/2,$x1+3,($y2+$y1)/2,$axiscolor);
$gd->line($x2-4,$y1, $x2-1, $y1, $axiscolor);
$gd->line($x2-4,$y2, $x2-1, $y2, $axiscolor);
$gd->line($x2-4,($y2+$y1)/2,$x2-1,($y2+$y1)/2,$axiscolor);
$gd->line($x1+5,$y2, $x2-5,$y2, $bgcolor);
$gd->line($x1+5,($y2+$y1)/2,$x2-5,($y2+$y1)/2,$bgcolor);
$gd->line($x1+5,$y1, $x2-5,$y1, $bgcolor);
$gd->string($self->font,$x1+5,$y1,'KD hydropathy',$axiscolor) if $bin_height > $self->font->height*2;
$gd->string($self->font,$x2-20,$y1,$maxkd,$axiscolor)
if $bin_height > $self->font->height*2.5;
$gd->string($self->font,$x2-20,$y2-$self->font->height,$minkd,$axiscolor)
if $bin_height > $self->font->height*2.5;
my $graphwidth = $x2 - $x1;
my $scale = $graphwidth / @datapoints;
for (my $i = 1; $i < @datapoints; $i++) {
my $x = $i + $kd_window / 2;
my $xlo = $x1 + ($x - 1) * $scale;
my $xhi = $x1 + $x * $scale;
my $y = $y2 - ($bin_height*$datapoints[$i]);
$gd->line($xlo, $y2 - ($bin_height*$datapoints[$i-1]),
$xhi, $y,
$fgcolor);
}
}
sub make_key_feature {
my $self = shift;
my @gatc = qw(A C D E F G H I K L M N P Q R S T V W Y);
my $offset = $self->panel->offset;
my $scale = 1/$self->scale; # base pairs/pixel
my $start = $offset+1;
my $stop = $offset+100*$scale;
my $feature =
Bio::Graphics::Feature->new(-start=> $start,
-stop => $stop,
-seq => join('',map{$gatc[rand 4]} (1..500)),
-name => $self->option('key'),
-strand => '+1',
);
$feature;
}
1;
__END__
=head1 NAME
Bio::Graphics::Glyph::protein - The "protein" glyph
=head1 SYNOPSIS
See L and L.
=head1 DESCRIPTION
This glyph draws protein sequences. At high magnifications, this
glyph will draw the actual amino acids of the sequence. At low
magnifications, the glyph will plot the Kyte-Doolite hydropathy. By
default, the KD plot will use a window size of 9 residues, but this
can be changed by specifying the kd_window option.
For this glyph to work, the feature must return a protein sequence
string in response to the seq() method.
=head2 OPTIONS
The following options are standard among all Glyphs. See
L for a full explanation.
Option Description Default
------ ----------- -------
-fgcolor Foreground color black
-outlinecolor Synonym for -fgcolor
-bgcolor Background color turquoise
-fillcolor Synonym for -bgcolor
-linewidth Line width 1
-height Height of glyph 10
-font Glyph font gdSmallFont
-connector Connector type 0 (false)
-connector_color
Connector color black
-label Whether to draw a label 0 (false)
-description Whether to draw a description 0 (false)
-hilite Highlight color undef (no color)
In addition to the common options, the following glyph-specific
options are recognized:
Option Description Default
------ ----------- -------
-do_kd Whether to draw the Kyte- true
Doolittle hydropathy plot
at low mags
-kd_window Size of the sliding window 9
to use in the KD hydropathy
calculation.
-axis_color Color of the vertical axes fgcolor
in the KD hydropathy plot
=head1 BUGS
Please report them.
=head1 SEE ALSO
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L,
L
=head1 AUTHOR
Aaron J. Mackey, based on the "dna" glyphy by Lincoln Stein
Elstein@cshl.orgE and Peter Ashton Epda@sanger.ac.ukE.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself. See DISCLAIMER.txt for
disclaimers of warranty.
=cut
From amackey at pub.open-bio.org Tue Dec 6 23:05:40 2005
From: amackey at pub.open-bio.org (Aaron J Mackey)
Date: Tue Dec 6 23:00:37 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Graphics/Glyph protein.pm, 1.1,
1.2
Message-ID: <200512070405.jB745eVL026657@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Graphics/Glyph
In directory pub.open-bio.org:/tmp/cvs-serv26648
Modified Files:
protein.pm
Log Message:
now it works, enjoy
Index: protein.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Graphics/Glyph/protein.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** protein.pm 7 Dec 2005 02:18:57 -0000 1.1
--- protein.pm 7 Dec 2005 04:05:38 -0000 1.2
***************
*** 108,141 ****
my @datapoints;
- my $maxkd;
- my $minkd;
-
my @seq = split('', uc($protein));
$kd_window = $kd_window < scalar(@seq) ? $kd_window : scalar(@seq);
my $kd = 0;
for (my $i = 0 ; $i < @seq && $i < $kd_window ; $i++) {
$kd += $scores{$seq[$i]} || 0;
}
my $content = $kd / $kd_window;
push @datapoints, $content;
- $maxkd = $minkd = $content;
for (my $i = $kd_window; $i < @seq; $i++) {
! $kd -= $scores{$seq[$i-1]} || 0;
$kd += $scores{$seq[$i]} || 0;
$content = $kd / $kd_window;
push @datapoints, $content;
- $maxkd = $content if ($content > $maxkd);
- $minkd = $content if ($content < $minkd);
}
! #my $scale = $maxkd - $minkd;
! #foreach (my $i; $i < @datapoints; $i++) {
! # $datapoints[$i] = ($datapoints[$i] - $minkd) / $scale;
! #}
! #$maxkd = int($maxkd * 100);
! #$minkd = int($minkd * 100);
# Calculate values that will be used in the layout
--- 108,137 ----
my @datapoints;
my @seq = split('', uc($protein));
$kd_window = $kd_window < scalar(@seq) ? $kd_window : scalar(@seq);
+ my $maxkd = 4.5;
+ my $minkd = -4.5;
+
my $kd = 0;
for (my $i = 0 ; $i < @seq && $i < $kd_window ; $i++) {
$kd += $scores{$seq[$i]} || 0;
}
+
my $content = $kd / $kd_window;
push @datapoints, $content;
for (my $i = $kd_window; $i < @seq; $i++) {
! $kd -= $scores{$seq[$i-$kd_window]} || 0;
$kd += $scores{$seq[$i]} || 0;
$content = $kd / $kd_window;
push @datapoints, $content;
}
! my $scale = $maxkd - $minkd;
! foreach (my $i = 0; $i < @datapoints; $i++) {
! $datapoints[$i] = ($datapoints[$i] - $minkd) / $scale;
! }
# Calculate values that will be used in the layout
***************
*** 159,163 ****
$gd->line($x1+5,($y2+$y1)/2,$x2-5,($y2+$y1)/2,$bgcolor);
$gd->line($x1+5,$y1, $x2-5,$y1, $bgcolor);
! $gd->string($self->font,$x1+5,$y1,'KD hydropathy',$axiscolor) if $bin_height > $self->font->height*2;
$gd->string($self->font,$x2-20,$y1,$maxkd,$axiscolor)
--- 155,160 ----
$gd->line($x1+5,($y2+$y1)/2,$x2-5,($y2+$y1)/2,$bgcolor);
$gd->line($x1+5,$y1, $x2-5,$y1, $bgcolor);
! $gd->string($self->font,$x1+5,$y1,'Kyte-Doolittle hydropathy plot',$axiscolor)
! if $bin_height > $self->font->height*2;
$gd->string($self->font,$x2-20,$y1,$maxkd,$axiscolor)
***************
*** 167,171 ****
my $graphwidth = $x2 - $x1;
! my $scale = $graphwidth / @datapoints;
for (my $i = 1; $i < @datapoints; $i++) {
my $x = $i + $kd_window / 2;
--- 164,168 ----
my $graphwidth = $x2 - $x1;
! my $scale = $graphwidth / (@datapoints + $kd_window - 1);
for (my $i = 1; $i < @datapoints; $i++) {
my $x = $i + $kd_window / 2;
From bugzilla-daemon at portal.open-bio.org Wed Dec 7 12:45:03 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Wed Dec 7 12:58:19 2005
Subject: [Bioperl-guts-l] [Bug 1915] Tranditional bootstrap in newick format
tree not accesible
Message-ID: <200512071745.jB7Hj3sP019514@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1915
------- Comment #1 from valentin_ruano@yahoo.es 2005-12-07 12:45 -------
Created an attachment (id=257)
--> (http://bugzilla.open-bio.org/attachment.cgi?id=257&action=view)
Contains small script to reproduce the bug
bug.pl - program file
tree.in - first test input tree
tree2.in - second test input tree
run
$ perl bug.pl
and notice the output for the branch/node with branch length 0.33. You need to
take a look to the input tree files (*.in) to see what is going on.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Wed Dec 7 12:41:12 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Wed Dec 7 12:58:21 2005
Subject: [Bioperl-guts-l] [Bug 1915] New: Tranditional bootstrap in newick
format tree not accesible
Message-ID: <200512071741.jB7HfC8a019446@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1915
Summary: Tranditional bootstrap in newick format tree not
accesible
Product: Bioperl
Version: 1.5 branch
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Core Components
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: valentin_ruano@yahoo.es
In the default bootstrap-style for newick format trees, internal node bootstrap
are indicated as the id of the node:
((A:0.11,B:0.22)100:0.33,C:0.44,D:0.55)
In here the node leading to A and B has bootstrap 100. Notice that the
branch-length is optional (:0.33 can be left out).
Trying to obtain the bootstrap value on that node through the NodeI api will
return and undefined value. In fact the bootstrap value is interpreted as the
node's id. Moreover, if the molphy style ..):0.33[100]... is used even
explicitly indicating traditional style. the bootstrap value is properly
recovered. This seem to indicate that the bootstrap-style property of newick
TreeIO object is actually disregarded.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bosborne at pub.open-bio.org Tue Dec 6 17:46:56 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Wed Dec 7 13:07:41 2005
Subject: [Bioperl-guts-l] bioperl-live/doc/howto/html Beginners.html, 1.7,
1.8 Feature-Annotation.html, 1.17, 1.18
Message-ID: <200512062246.jB6MkuVL025760@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/doc/howto/html
In directory pub.open-bio.org:/tmp/cvs-serv25723/html
Modified Files:
Beginners.html Feature-Annotation.html
Log Message:
Typo
Index: Beginners.html
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/doc/howto/html/Beginners.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Beginners.html 27 Oct 2005 02:21:32 -0000 1.7
--- Beginners.html 6 Dec 2005 22:46:53 -0000 1.8
***************
*** 317,321 ****
use Bio::Seq;
! $seq_obj = Bio::Seq->new(-seq => "aaaatgggggggggggccccgtt"
-alphabet => 'dna' );
--- 317,321 ----
use Bio::Seq;
! $seq_obj = Bio::Seq->new(-seq => "aaaatgggggggggggccccgtt",
-alphabet => 'dna' );
***************
*** 714,718 ****
!
Name Returns Example Note new Sequence object $so = Bio::Seq->new(-seq => "MPQRAS") create a new one, see Bio::Seq
for more seq sequence string $seq = $so->seq get or set the sequence display_id identifier $so->display_id("NP_123456") get or set an identifier primary_id identifier $so->primary_id(12345) get or set an identifier desc description $so->desc("Example 1") get or set a description accession identifier $acc = $so->accession get or set an identifier length length, a number $len = $so->length get the length alphabet alphabet $so->alphabet('dna') get or set the alphabet ('dna','rna','protein') subseq sequence string $string = $seq_obj->subseq(10,40) Arguments are start and end trunc Sequence object !
$so2 = $so1->trunc(10,40) Arguments are start and end revcom Sequence object $so2 = $so1->revcom Reverse complement translate protein Sequence object $prot_obj = $dna_obj->translate See
Bio::PrimarySeqI
--- 714,718 ----
!
Name Returns Example Note new Sequence object $so = Bio::Seq->new(-seq => "MPQRAS") create a new one, see Bio::Seq
for more seq sequence string $seq = $so->seq get or set the sequence display_id identifier $so->display_id("NP_123456") get or set an identifier primary_id identifier $so->primary_id(12345) get or set an identifier desc description $so->desc("Example 1") get or set a description accession identifier $acc = $so->accession get or set an identifier length length, a number $len = $so->length get the length alphabet alphabet $so->alphabet('dna') get or set the alphabet ('dna','rna','protein') subseq sequence string $string = $seq_obj->subseq(10,40) Arguments are start and end trunc Sequence object !
$so2 = $so1->trunc(10,40) Arguments are start and end revcom Sequence object $so2 = $so1->revcom Reverse complement translate protein Sequence object $prot_obj = $dna_obj->translate See
Bio::PrimarySeqI
***************
*** 735,739 ****
The methods related to this topic are shown below.
!
Name Returns Note get_SeqFeatures array of SeqFeature objects get_all_SeqFeatures array of SeqFeature objects array includes sub-features remove_SeqFeatures array of SeqFeatures removed feature_count number of SeqFeature objects add_SeqFeature annotation array of Annotation objects get or set
Table 2. Feature and Annotation Methods
11. Example Sequence objects
Let's use some of the methods above and see what they return
--- 735,739 ----
The methods related to this topic are shown below.
!
Name Returns Note get_SeqFeatures array of SeqFeature objects get_all_SeqFeatures array of SeqFeature objects array includes sub-features remove_SeqFeatures array of SeqFeatures removed feature_count number of SeqFeature objects add_SeqFeature annotation array of Annotation objects get or set
Table 2. Feature and Annotation Methods
11. Example Sequence objects
Let's use some of the methods above and see what they return
***************
*** 833,837 ****
Either way, the values returned by various methods are shown below.
!
Method Returns display_id ECORHO desc E.coli rho gene coding for transcription termination factor. display_name ECORHO accession J01673 primary_id 147605 seq_version 1 keywords attenuator; leader peptide; rho gene; transcription terminator is_circular namespace authority length 1880 seq AACCCT...ACAGGAC division BCT molecule DNA get_dates 26-APR-1993 get_secondary_accessions J01674
Table 3. Values from the Sequence object (Genbank)
There's a few comments that need to be made. First,
--- 833,837 ----
Either way, the values returned by various methods are shown below.
!
Method Returns display_id ECORHO desc E.coli rho gene coding for transcription termination factor. display_name ECORHO accession J01673 primary_id 147605 seq_version 1 keywords attenuator; leader peptide; rho gene; transcription terminator is_circular namespace authority length 1880 seq AACCCT...ACAGGAC division BCT molecule DNA get_dates 26-APR-1993 get_secondary_accessions J01674
Table 3. Values from the Sequence object (Genbank)
There's a few comments that need to be made. First,
***************
*** 873,877 ****
And here are the values:
!
Method Returns display_id gi|147605|gb|J01673.1|ECORHO desc E.coli rho gene coding for transcription termination factor display_name gi|147605|gb|J01673.1|ECORHO accession unknown primary_id gi|147605|gb|J01673.1|ECORHO is_circular namespace authority length 1880 seq AACCCT...ACAGGAC
Table 4. Values from the Sequence object (FASTA)
If you compare these values to the values taken from the Genbank
--- 873,877 ----
And here are the values:
!
Method Returns display_id gi|147605|gb|J01673.1|ECORHO desc E.coli rho gene coding for transcription termination factor display_name gi|147605|gb|J01673.1|ECORHO accession unknown primary_id gi|147605|gb|J01673.1|ECORHO is_circular namespace authority length 1880 seq AACCCT...ACAGGAC
Table 4. Values from the Sequence object (FASTA)
If you compare these values to the values taken from the Genbank
***************
*** 985,989 ****
The corresponding set of values is shown below.
!
Method Returns display_id A2S3_RAT desc Amyotrophic lateral ... protein of 98 kDa). display_name A2S3_RAT accession Q8R2H7 is_circular namespace authority length 913 seq MSLSQ...ILKED division RAT get_dates 28-FEB-2003 (Rel. 41, Created) 15-MAR-2004 (Rel. 43, Last sequence update) 15-MAR-2004 (Rel. 43, Last annotation update) get_secondary_accessions Q8R2H6 Q8R4G3
Table 5. Values from the Sequence object (Swissprot )
As in the Genbank example there's information that the Sequence
--- 985,989 ----
The corresponding set of values is shown below.
!
Method Returns display_id A2S3_RAT desc Amyotrophic lateral ... protein of 98 kDa). display_name A2S3_RAT accession Q8R2H7 is_circular namespace authority length 913 seq MSLSQ...ILKED division RAT get_dates 28-FEB-2003 (Rel. 41, Created) 15-MAR-2004 (Rel. 43, Last sequence update) 15-MAR-2004 (Rel. 43, Last annotation update) get_secondary_accessions Q8R2H6 Q8R4G3
Table 5. Values from the Sequence object (Swissprot )
As in the Genbank example there's information that the Sequence
***************
*** 1361,1364 ****
--- 1361,1368 ----
Bioperl design documentation , for anyone who'd like
to write their own modules.
+
+ The
+ ENSEMBL Perl API , a way of accessing
+ ENSEMBL's genomics data, in a manner very much like Bioperl.
(.+)
!$1!gs;
my @platforms = ();
my @records = split m!
\s+!, $doc;
foreach my $record ( @records ) {
my ($platform_acc,$name,$tax_acc,$contact_acc) =
$record =~ m!acc\.cgi\?acc=(.+?)".+?(.+?)<.+?.+?<.+?.+?href=".+?id=(.+?)".+?new(
-accession => $platform_acc,
-name => $name,
# -taxon => $self->taxdb->get_Taxonomy_Node( $tax_acc ),
-contact => Bio::Expression::Contact->new( -source => 'geo', -accession => $contact_acc, -db => $self ),
-db => $self,
);
push @platforms, $platform;
}
return @platforms;
}
=head2 get_samples()
Usage :
Function:
Example :
Returns : a list of Bio::Expression::Sample objects
Args :
=cut
sub get_samples {
my ($self,@args) = @_;
$self->throw_not_implemented();
}
=head2 get_contacts()
Usage :
Function:
Example :
Returns : a list of Bio::Expression::Contact objects
Args :
=cut
sub get_contacts {
my ($self,@args) = @_;
$self->throw_not_implemented();
}
=head2 get_datasets()
Usage : $db->get_datasets('accession');
Function:
Example :
Returns : a list of Bio::Expression::DataSet objects
Args :
=cut
sub get_datasets {
my ($self,$platform) = @_;
my @lines = split /\n/, $self->_get_url( URL_PLATFORM . $platform->accession );
my @datasets = ();
foreach my $line ( @lines ) {
my ($dataset_acc) = $line =~ /^\!Platform_series_id = (\S+)/;
next unless $dataset_acc;
my $dataset = Bio::Expression::DataSet->new(
-accession => $dataset_acc,
-platform => $platform,
-db => $self,
);
push @datasets, $dataset;
}
return @datasets;
}
sub fill_sample {
my ( $self, $sample ) = @_;
my @lines = split /\n/, $self->_get_url( URL_SAMPLE. $sample->accession );
foreach my $line ( @lines ) {
if ( my ($name) = $line =~ /^\!Sample_title = (\S+)/ ) {
$sample->name( $name );
}
elsif ( my ($desc) = $line =~ /^\!Sample_characteristics.*? = (\S+)/ ) {
$sample->description( $desc );
}
elsif ( my ($source_name) = $line =~ /^\!Sample_source_name.*? = (\S+)/ ) {
$sample->source_name( $source_name );
}
elsif ( my ($treatment_desc) = $line =~ /^\!Sample_treatment_protocol.*? = (\S+)/ ) {
$sample->treatment_description( $treatment_desc );
}
}
return 1;
}
sub fill_dataset {
my ( $self, $dataset ) = @_;
my @lines = split /\n/, $self->_get_url( URL_DATASET . $dataset->accession );
my @samples = ();
foreach my $line ( @lines ) {
if ( my ($sample_acc) = $line =~ /^\!Series_sample_id = (\S+)/ ) {
my $sample = Bio::Expression::Sample->new(
-accession => $sample_acc,
-dataset => $dataset,
-db => $self,
);
push @samples, $sample;
}
elsif ( my ($pubmed_acc) = $line =~ /^\!Series_pubmed_id = (\S+)/ ) {
$dataset->pubmed_id( $pubmed_acc );
}
elsif ( my ($web_link) = $line =~ /^\!Series_web_link = (\S+)/ ) {
$dataset->web_link( $web_link );
}
elsif ( my ($contact) = $line =~ /^\!Series_contact_name = (\S+)/ ) {
$dataset->contact( $contact );
}
elsif ( my ($name) = $line =~ /^\!Series_title = (.+)$/ ) {
$dataset->name( $name );
}
elsif ( my ($desc) = $line =~ /^\!Series_summary = (.+)$/ ) {
$dataset->description( $desc );
}
elsif ( my ($design) = $line =~ /^\!Series_type = (.+)$/ ) {
$dataset->design( $design );
}
elsif ( my ($design_desc) = $line =~ /^\!Series_overall_design = (.+)$/ ) {
$dataset->design_description( $design_desc );
}
}
$dataset->samples(\@samples);
}
#################################################
=head2 taxdb()
Usage : $obj->taxdb($newval)
Function:
Example :
Returns : a Bio::DB::Taxonomy object
Args : on set, new value (a scalar or undef, optional)
=cut
sub taxdb {
my($self,$val) = @_;
$self->{'taxdb'} = $val if defined($val);
return $self->{'taxdb'};
}
=head2 _platforms_doc()
Usage :
Function:
Example :
Returns : an HTML document containing a table of all platforms
Args :
=cut
sub _get_url {
my ($self,$url) = @_;
my $response;
eval {
$response = $self->get( $url );
};
if( $@ ) {
$self->warn("Can't query website: $@");
return;
}
$self->debug( "resp is $response\n") if( $self->verbose > 0);
return $response;
}
1;
From ymc at pub.open-bio.org Thu Dec 8 13:36:01 2005
From: ymc at pub.open-bio.org (Yee Man Chan)
Date: Thu Dec 8 13:29:54 2005
Subject: [Bioperl-guts-l] bioperl-ext/Bio/Ext/HMM hmmlib.c,1.2,1.3
Message-ID: <200512081836.jB8Ia1VL032222@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-ext/Bio/Ext/HMM
In directory pub.open-bio.org:/tmp/cvs-serv32207
Modified Files:
hmmlib.c
Log Message:
also included to get rid of warnings when I am calling strlen
Index: hmmlib.c
===================================================================
RCS file: /home/repository/bioperl/bioperl-ext/Bio/Ext/HMM/hmmlib.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** hmmlib.c 22 Jul 2005 22:33:44 -0000 1.2
--- hmmlib.c 8 Dec 2005 18:35:58 -0000 1.3
***************
*** 3,6 ****
--- 3,7 ----
#include
#include
+ #include
#include
#include "hmm.h"
From tseemann at pub.open-bio.org Thu Dec 8 17:10:45 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Thu Dec 8 17:04:39 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools OddCodes.pm,1.14,1.15
Message-ID: <200512082210.jB8MAjVL032661@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv32631/Bio/Tools
Modified Files:
OddCodes.pm
Log Message:
Cleaned up documentation and improved method examples
Index: OddCodes.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/OddCodes.pm,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** OddCodes.pm 27 Sep 2005 14:10:59 -0000 1.14
--- OddCodes.pm 8 Dec 2005 22:10:43 -0000 1.15
***************
*** 68,72 ****
Bio::Tools::Oddcodes is a welterweight object for rewriting a protein
! sequence in an alternative alphabet. 8 of these are provided, ranging
from the the 2-letter hydrophobic alphabet, to the 8-letter chemical
alphabet. These are useful for the statistical analysis of protein
--- 68,72 ----
Bio::Tools::Oddcodes is a welterweight object for rewriting a protein
! sequence in an alternative alphabet. Eight of these are provided, ranging
from the the 2-letter hydrophobic alphabet, to the 8-letter chemical
alphabet. These are useful for the statistical analysis of protein
***************
*** 77,83 ****
The objects will print out a warning if the input sequence is not a
protein. If you know what you are doing, you can silence the warning
! by setting verbose() to a negetive value.
! See Synopsis above for object creation code.
=head1 FEEDBACK
--- 77,92 ----
The objects will print out a warning if the input sequence is not a
protein. If you know what you are doing, you can silence the warning
! by setting verbose() to a negative value.
! See SYNOPSIS above for object creation code.
!
! =head1 REFERENCES
!
! Stanfel LE (1996) A new approach to clustering the amino acids. J. theor.
! Biol. 183, 195-205.
!
! Karlin S, Ost F and Blaisdell BE (1989) Patterns in DNA and amino acid
! sequences and their statistical significance. Chapter 6 of: Mathematical
! Methods for DNA Sequences. Waterman MS (ed.) CRC Press, Boca Raton , FL.
=head1 FEEDBACK
***************
*** 112,117 ****
=cut
- #'
-
package Bio::Tools::OddCodes;
use vars qw(@ISA);
--- 121,124 ----
***************
*** 122,126 ****
@ISA = qw(Bio::Root::Root);
-
sub new
{
--- 129,132 ----
***************
*** 134,141 ****
$seqobj = $args[0];
}
! unless ($seqobj->isa("Bio::PrimarySeqI"))
{
! die("die in _init, OddCodes works only on PrimarySeqI
! objects\n");
}
--- 140,146 ----
$seqobj = $args[0];
}
! unless ($seqobj->isa("Bio::PrimarySeqI"))
{
! $self->throw("Bio::Tools::OddCodes only works on PrimarySeqI objects");
}
***************
*** 244,247 ****
--- 249,254 ----
Function: turns amino acid sequence into 6-letter Dayhoff alphabet
Example : a sequence ACDEFGH will become CADDGCE
+ : A (=C), C (=AGPST), D (=DENQ),
+ : E (=HKR), F (=ILMV), G (=FWY)
Returns : Reference to the new sequence string
Args : none
***************
*** 280,283 ****
--- 287,292 ----
Function: turns amino acid sequence into 7-letter Sneath alphabet
Example : a sequence ACDEFGH will become CEFFHCF
+ : A (=ILV), C (=AGP), D (=MNQ), E (=CST),
+ : F (=DE), G (=KR), H (=FHWY)
Returns : Reference to the new sequence string
Args : none
***************
*** 318,321 ****
--- 327,331 ----
Function: turns amino acid sequence into 4-letter Stanfel alphabet
Example : a sequence ACDEFGH will become AACCDAE
+ : A (=ACGILMPSTV), C (=DENQ), D (=FWY), E (=HKR)
Returns : Reference to the new sequence string
Args : none
***************
*** 344,348 ****
}
! =head2 chemical()
Title : chemical
--- 354,358 ----
}
! =head2 chemical
Title : chemical
***************
*** 350,354 ****
Function: turns amino acid sequence into 8-letter chemical alphabet
: A (acidic), L (aliphatic), M (amide), R (aromatic)
! : C (basic), H (hydroxyl), I (imino), S (sulphur)
Example : a sequence ACDEFGH will become LSAARAC
Returns : Reference to the new sequence string
--- 360,364 ----
Function: turns amino acid sequence into 8-letter chemical alphabet
: A (acidic), L (aliphatic), M (amide), R (aromatic)
! : C (basic), H (hydroxyl), I (imino), S (sulphur)
Example : a sequence ACDEFGH will become LSAARAC
Returns : Reference to the new sequence string
***************
*** 392,395 ****
--- 402,406 ----
Function: turns amino acid sequence into 3-letter charge alphabet
Example : a sequence ACDEFGH will become NNAANNC
+ : A (negative; NOT anode), C (positive; NOT cathode), N (neutral)
Returns : Reference to the new sequence string
Args : none
From bosborne at pub.open-bio.org Thu Dec 8 17:28:25 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Thu Dec 8 17:22:17 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/SeqIO embl.pm,1.86,1.87
Message-ID: <200512082228.jB8MSPVL032723@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/SeqIO
In directory pub.open-bio.org:/tmp/cvs-serv32714/Bio/SeqIO
Modified Files:
embl.pm
Log Message:
throw, not die
Index: embl.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/embl.pm,v
retrieving revision 1.86
retrieving revision 1.87
diff -C2 -d -r1.86 -r1.87
*** embl.pm 10 Aug 2005 19:00:11 -0000 1.86
--- embl.pm 8 Dec 2005 22:28:23 -0000 1.87
***************
*** 1091,1095 ****
my ($self,$pre1,$pre2,$line,$length) = @_;
! $length || die "Miscalled write_line_EMBL without length. Programming error!";
my $subl = $length - length $pre2;
my $linel = length $line;
--- 1091,1095 ----
my ($self,$pre1,$pre2,$line,$length) = @_;
! $length || $self->throw("Miscalled write_line_EMBL without length. Programming error!");
my $subl = $length - length $pre2;
my $linel = length $line;
***************
*** 1129,1133 ****
#print STDOUT "Going to print with $line!\n";
! $length || die "Programming error - called write_line_EMBL_regex without length.";
my $subl = $length - (length $pre1) -1 ;
--- 1129,1133 ----
#print STDOUT "Going to print with $line!\n";
! $length || $self->throw("Programming error - called write_line_EMBL_regex without length.");
my $subl = $length - (length $pre1) -1 ;
From allenday at pub.open-bio.org Thu Dec 8 17:30:29 2005
From: allenday at pub.open-bio.org (Allen Day)
Date: Thu Dec 8 17:24:22 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Expression Contact.pm, 1.1,
1.2 Platform.pm, 1.1, 1.2
Message-ID: <200512082230.jB8MUTVL032759@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Expression
In directory pub.open-bio.org:/tmp/cvs-serv32736/Bio/Expression
Modified Files:
Contact.pm Platform.pm
Log Message:
updates to parsing code and lazy loading of object attributes
Index: Platform.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Expression/Platform.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Platform.pm 8 Dec 2005 02:30:35 -0000 1.1
--- Platform.pm 8 Dec 2005 22:30:27 -0000 1.2
***************
*** 66,69 ****
--- 66,70 ----
use strict;
use base qw(Bio::Root::Root);
+ use Bio::DB::Taxonomy;
=head2 new()
***************
*** 118,121 ****
--- 119,123 ----
}
+ $self->taxdb( Bio::DB::Taxonomy->new(-source => 'entrez') );
return 1;
}
***************
*** 123,128 ****
-
-
=head2 get_datasets()
--- 125,128 ----
***************
*** 194,202 ****
=head2 taxon()
! Usage : $obj->taxon($newval)
Function:
Example :
! Returns : value of taxon (a scalar)
! Args : on set, new value (a scalar or undef, optional)
--- 194,202 ----
=head2 taxon()
! Usage : $obj->taxon()
Function:
Example :
! Returns : A Bio::Taxonomy::Node object
! Args : none
***************
*** 204,209 ****
sub taxon {
! my($self,$val) = @_;
! $self->{'taxon'} = $val if defined($val);
return $self->{'taxon'};
}
--- 204,211 ----
sub taxon {
! my($self) = @_;
! if ( ! $self->{'taxon'} ) {
! $self->{'taxon'} = $self->taxdb->get_Taxonomy_Node( $self->_taxon_id() );
! }
return $self->{'taxon'};
}
***************
*** 242,245 ****
--- 244,282 ----
return $self->{'db'};
}
+
+ =head2 _taxon_id()
+
+ Usage : $obj->_taxon_id($newval)
+ Function:
+ Example :
+ Returns : value of _taxon_id (a scalar)
+ Args : on set, new value (a scalar or undef, optional)
+
+
+ =cut
+
+ sub _taxon_id {
+ my($self,$val) = @_;
+ $self->{'_taxon_id'} = $val if defined($val);
+ return $self->{'_taxon_id'};
+ }
+
+ =head2 taxdb()
+
+ Usage : $obj->taxdb($newval)
+ Function:
+ Example :
+ Returns : a Bio::DB::Taxonomy object
+ Args : on set, new value (a scalar or undef, optional)
+
+
+ =cut
+
+ sub taxdb {
+ my($self,$val) = @_;
+ $self->{'taxdb'} = $val if defined($val);
+ return $self->{'taxdb'};
+ }
+
Index: Contact.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Expression/Contact.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Contact.pm 8 Dec 2005 02:30:35 -0000 1.1
--- Contact.pm 8 Dec 2005 22:30:27 -0000 1.2
***************
*** 81,84 ****
--- 81,85 ----
my $self = $class->SUPER::new(@args);
+ $self->_initialize(@args);
return $self;
}
***************
*** 152,155 ****
--- 153,173 ----
$self->{'accession'} = $val if defined($val);
return $self->{'accession'};
+ }
+
+ =head2 name()
+
+ Usage : $obj->name($newval)
+ Function:
+ Example :
+ Returns : value of name (a scalar)
+ Args : on set, new value (a scalar or undef, optional)
+
+
+ =cut
+
+ sub name {
+ my($self,$val) = @_;
+ $self->{'name'} = $val if defined($val);
+ return $self->{'name'};
}
From allenday at pub.open-bio.org Thu Dec 8 17:30:29 2005
From: allenday at pub.open-bio.org (Allen Day)
Date: Thu Dec 8 17:24:23 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/DB/Expression geo.pm,1.1,1.2
Message-ID: <200512082230.jB8MUTVL032764@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/DB/Expression
In directory pub.open-bio.org:/tmp/cvs-serv32736/Bio/DB/Expression
Modified Files:
geo.pm
Log Message:
updates to parsing code and lazy loading of object attributes
Index: geo.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/Expression/geo.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** geo.pm 8 Dec 2005 02:30:35 -0000 1.1
--- geo.pm 8 Dec 2005 22:30:27 -0000 1.2
***************
*** 44,48 ****
our $VERSION = '0.01';
- use Bio::DB::Taxonomy;
use Bio::Expression::Contact;
use Bio::Expression::DataSet;
--- 44,47 ----
***************
*** 88,93 ****
}
- $self->taxdb( Bio::DB::Taxonomy->new(-source => 'entrez') );
-
return 1;
}
--- 87,90 ----
***************
*** 113,118 ****
foreach my $record ( @records ) {
! my ($platform_acc,$name,$tax_acc,$contact_acc) =
! $record =~ m!acc\.cgi\?acc=(.+?)".+?(.+?)<.+?.+?<.+?.+?href=".+?id=(.+?)".+?(.+?)<.+?.+?<.+?.+?href=".+?id=(.+?)".+?(.+?) $platform_acc,
-name => $name,
! # -taxon => $self->taxdb->get_Taxonomy_Node( $tax_acc ),
! -contact => Bio::Expression::Contact->new( -source => 'geo', -accession => $contact_acc, -db => $self ),
-db => $self,
);
--- 117,127 ----
-accession => $platform_acc,
-name => $name,
! -_taxon_id => $tax_acc,
! -contact => Bio::Expression::Contact->new(
! -source => 'geo',
! -accession => $contact_acc,
! -name => $contact_name,
! -db => $self
! ),
-db => $self,
);
***************
*** 178,182 ****
foreach my $line ( @lines ) {
! my ($dataset_acc) = $line =~ /^\!Platform_series_id = (\S+)/;
next unless $dataset_acc;
--- 180,184 ----
foreach my $line ( @lines ) {
! my ($dataset_acc) = $line =~ /^\!Platform_series_id = (\S+?)\s*$/;
next unless $dataset_acc;
***************
*** 199,212 ****
foreach my $line ( @lines ) {
! if ( my ($name) = $line =~ /^\!Sample_title = (\S+)/ ) {
$sample->name( $name );
}
! elsif ( my ($desc) = $line =~ /^\!Sample_characteristics.*? = (\S+)/ ) {
$sample->description( $desc );
}
! elsif ( my ($source_name) = $line =~ /^\!Sample_source_name.*? = (\S+)/ ) {
$sample->source_name( $source_name );
}
! elsif ( my ($treatment_desc) = $line =~ /^\!Sample_treatment_protocol.*? = (\S+)/ ) {
$sample->treatment_description( $treatment_desc );
}
--- 201,214 ----
foreach my $line ( @lines ) {
! if ( my ($name) = $line =~ /^\!Sample_title = (.+?)\s*$/ ) {
$sample->name( $name );
}
! elsif ( my ($desc) = $line =~ /^\!Sample_characteristics.*? = (.+?)\s*$/ ) {
$sample->description( $desc );
}
! elsif ( my ($source_name) = $line =~ /^\!Sample_source_name.*? = (.+?)\s*$/ ) {
$sample->source_name( $source_name );
}
! elsif ( my ($treatment_desc) = $line =~ /^\!Sample_treatment_protocol.*? = (.+?)\s*$/ ) {
$sample->treatment_description( $treatment_desc );
}
***************
*** 223,227 ****
foreach my $line ( @lines ) {
! if ( my ($sample_acc) = $line =~ /^\!Series_sample_id = (\S+)/ ) {
my $sample = Bio::Expression::Sample->new(
-accession => $sample_acc,
--- 225,229 ----
foreach my $line ( @lines ) {
! if ( my ($sample_acc) = $line =~ /^\!Series_sample_id = (\S+?)\s*$/ ) {
my $sample = Bio::Expression::Sample->new(
-accession => $sample_acc,
***************
*** 231,253 ****
push @samples, $sample;
}
! elsif ( my ($pubmed_acc) = $line =~ /^\!Series_pubmed_id = (\S+)/ ) {
$dataset->pubmed_id( $pubmed_acc );
}
! elsif ( my ($web_link) = $line =~ /^\!Series_web_link = (\S+)/ ) {
$dataset->web_link( $web_link );
}
! elsif ( my ($contact) = $line =~ /^\!Series_contact_name = (\S+)/ ) {
$dataset->contact( $contact );
}
! elsif ( my ($name) = $line =~ /^\!Series_title = (.+)$/ ) {
$dataset->name( $name );
}
! elsif ( my ($desc) = $line =~ /^\!Series_summary = (.+)$/ ) {
$dataset->description( $desc );
}
! elsif ( my ($design) = $line =~ /^\!Series_type = (.+)$/ ) {
$dataset->design( $design );
}
! elsif ( my ($design_desc) = $line =~ /^\!Series_overall_design = (.+)$/ ) {
$dataset->design_description( $design_desc );
}
--- 233,255 ----
push @samples, $sample;
}
! elsif ( my ($pubmed_acc) = $line =~ /^\!Series_pubmed_id = (.+?)\s*$/ ) {
$dataset->pubmed_id( $pubmed_acc );
}
! elsif ( my ($web_link) = $line =~ /^\!Series_web_link = (.+?)\s*$/ ) {
$dataset->web_link( $web_link );
}
! elsif ( my ($contact) = $line =~ /^\!Series_contact_name = (.+?)\s*$/ ) {
$dataset->contact( $contact );
}
! elsif ( my ($name) = $line =~ /^\!Series_title = (.+?)\s*$/ ) {
$dataset->name( $name );
}
! elsif ( my ($desc) = $line =~ /^\!Series_summary = (.+?)\s*$/ ) {
$dataset->description( $desc );
}
! elsif ( my ($design) = $line =~ /^\!Series_type = (.+?)\s*$/ ) {
$dataset->design( $design );
}
! elsif ( my ($design_desc) = $line =~ /^\!Series_overall_design = (.+?)\s*$/ ) {
$dataset->design_description( $design_desc );
}
***************
*** 264,286 ****
#################################################
-
- =head2 taxdb()
-
- Usage : $obj->taxdb($newval)
- Function:
- Example :
- Returns : a Bio::DB::Taxonomy object
- Args : on set, new value (a scalar or undef, optional)
-
-
- =cut
-
- sub taxdb {
- my($self,$val) = @_;
- $self->{'taxdb'} = $val if defined($val);
- return $self->{'taxdb'};
- }
-
-
=head2 _platforms_doc()
--- 266,269 ----
From bosborne at pub.open-bio.org Thu Dec 8 17:38:08 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Thu Dec 8 17:32:06 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio SeqIO.pm,1.84,1.85
Message-ID: <200512082238.jB8Mc8VL000330@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio
In directory pub.open-bio.org:/tmp/cvs-serv321/Bio
Modified Files:
SeqIO.pm
Log Message:
Minor edits
Index: SeqIO.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO.pm,v
retrieving revision 1.84
retrieving revision 1.85
diff -C2 -d -r1.84 -r1.85
*** SeqIO.pm 15 Oct 2005 18:57:06 -0000 1.84
--- SeqIO.pm 8 Dec 2005 22:38:06 -0000 1.85
***************
*** 1,3 ****
-
# $Id$
#
--- 1,2 ----
***************
*** 48,53 ****
# The SeqIO system does have a filehandle binding. Most people find this
! # a little confusing, but it does mean you write the world's smallest
! # reformatter
use Bio::SeqIO;
--- 47,52 ----
# The SeqIO system does have a filehandle binding. Most people find this
! # a little confusing, but it does mean you can write the world's
! # smallest reformatter
use Bio::SeqIO;
***************
*** 90,95 ****
As an added bonus, you can recover a filehandle that is tied to the
! SeqIO object, allowing you to use the standard EE and print operations
! to read and write sequence objects:
use Bio::SeqIO;
--- 89,94 ----
As an added bonus, you can recover a filehandle that is tied to the
! SeqIO object, allowing you to use the standard EE and print
! operations to read and write sequence objects:
use Bio::SeqIO;
***************
*** 112,116 ****
$format1 = shift;
! $format2 = shift || die "Usage: reformat format1 format2 < input > output";
use Bio::SeqIO;
--- 111,116 ----
$format1 = shift;
! $format2 = shift || die
! "Usage: reformat format1 format2 < input > output";
use Bio::SeqIO;
***************
*** 216,220 ****
By default, all files (or filehandles) opened for writing sequences
will be flushed after each write_seq() (making the file immediately
! usable). If you don't need this facility and would like to marginally
improve the efficiency of writing multiple sequences to the same file
(or filehandle), pass the -flush option '0' or any other value that
--- 216,220 ----
By default, all files (or filehandles) opened for writing sequences
will be flushed after each write_seq() (making the file immediately
! usable). If you do not need this facility and would like to marginally
improve the efficiency of writing multiple sequences to the same file
(or filehandle), pass the -flush option '0' or any other value that
***************
*** 245,250 ****
@sequences = <$fh>;
! Other operations, such as read(), sysread(), write(), close(), and printf()
! are not supported.
=head1 OBJECT METHODS
--- 245,250 ----
@sequences = <$fh>;
! Other operations, such as read(), sysread(), write(), close(), and
! printf() are not supported.
=head1 OBJECT METHODS
***************
*** 357,361 ****
my %param = @args;
! @param{ map { lc $_ } keys %param } = values %param; # lowercase keys
if (!defined($param{-file}) && !defined($param{-fh})) {
--- 357,361 ----
my %param = @args;
! @param{ map { lc $_ } keys %param } = values %param; # lowercase keys
if (!defined($param{-file}) && !defined($param{-fh})) {
From bosborne at pub.open-bio.org Thu Dec 8 17:45:05 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Thu Dec 8 17:39:00 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools GuessSeqFormat.pm, 1.11,
1.12
Message-ID: <200512082245.jB8Mj5VL000379@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv370/Bio/Tools
Modified Files:
GuessSeqFormat.pm
Log Message:
throw, not die
Index: GuessSeqFormat.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/GuessSeqFormat.pm,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** GuessSeqFormat.pm 17 Nov 2005 09:54:50 -0000 1.11
--- GuessSeqFormat.pm 8 Dec 2005 22:45:03 -0000 1.12
***************
*** 444,448 ****
# If given a filename, open the file.
open($fh, $self->{-file}) or
! die "Can not open '$self->{-file}' for reading: $!";
} elsif (defined $self->{-fh}) {
# If given a filehandle, figure out if it's a plain GLOB
--- 444,448 ----
# If given a filename, open the file.
open($fh, $self->{-file}) or
! $self->throw("Can not open '$self->{-file}' for reading: $!");
} elsif (defined $self->{-fh}) {
# If given a filehandle, figure out if it's a plain GLOB
***************
*** 511,521 ****
A zero return value does not mean that the line is not part
! of a certain type of file, just that the test didn't find any
characteristics of that type of file in the line.
=head2 _possibly_ace
! From bioperl test data, and
! from
"http://www.isrec.isb-sib.ch/DEA/module8/B_Stevenson/Practicals/transcriptome_recon/transcriptome_recon.html".
--- 511,520 ----
A zero return value does not mean that the line is not part
! of a certain type of file, just that the test did not find any
characteristics of that type of file in the line.
=head2 _possibly_ace
! From bioperl test data, and from
"http://www.isrec.isb-sib.ch/DEA/module8/B_Stevenson/Practicals/transcriptome_recon/transcriptome_recon.html".
From bosborne at pub.open-bio.org Thu Dec 8 17:50:15 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Thu Dec 8 17:44:06 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools pICalculator.pm,1.4,1.5
Message-ID: <200512082250.jB8MoFVL000439@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv428/Bio/Tools
Modified Files:
pICalculator.pm
Log Message:
throw, not die
Index: pICalculator.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/pICalculator.pm,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** pICalculator.pm 18 May 2005 11:47:38 -0000 1.4
--- pICalculator.pm 8 Dec 2005 22:50:13 -0000 1.5
***************
*** 76,81 ****
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.bioperl.org/
--- 76,81 ----
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.bioperl.org/
***************
*** 202,206 ****
my( $this, $seq ) = @_;
unless( defined $seq && UNIVERSAL::isa($seq,'Bio::Seq') ){
! die $seq . " is not a valid Bio::Seq object\n";
}
$this->{-seq} = $seq;
--- 202,206 ----
my( $this, $seq ) = @_;
unless( defined $seq && UNIVERSAL::isa($seq,'Bio::Seq') ){
! $this->throw("$seq is not a valid Bio::Seq object");
}
$this->{-seq} = $seq;
From bosborne at pub.open-bio.org Thu Dec 8 17:57:07 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Thu Dec 8 17:51:01 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools SeqStats.pm,1.24,1.25
Message-ID: <200512082257.jB8Mv7VL000487@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv478/Bio/Tools
Modified Files:
SeqStats.pm
Log Message:
throw, not die
Index: SeqStats.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/SeqStats.pm,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** SeqStats.pm 28 Sep 2005 15:55:04 -0000 1.24
--- SeqStats.pm 8 Dec 2005 22:57:05 -0000 1.25
***************
*** 357,361 ****
my ($seqobj) = $self->_rearrange([qw(SEQ)],@args);
unless ($seqobj->isa("Bio::PrimarySeqI")) {
! $self->throw(" SeqStats works only on PrimarySeqI objects \n");
}
if ( !defined $seqobj->alphabet ||
--- 357,361 ----
my ($seqobj) = $self->_rearrange([qw(SEQ)],@args);
unless ($seqobj->isa("Bio::PrimarySeqI")) {
! $self->throw("SeqStats works only on PrimarySeqI objects");
}
if ( !defined $seqobj->alphabet ||
***************
*** 418,422 ****
# Following two lines lead to error in "throw" routine
$seqobj->isa("Bio::PrimarySeqI") ||
! $self->throw(" SeqStats works only on PrimarySeqI objects \n");
# is alphabet OK? Is it strict?
$_is_strict = _is_alphabet_strict($seqobj);
--- 418,422 ----
# Following two lines lead to error in "throw" routine
$seqobj->isa("Bio::PrimarySeqI") ||
! $self->throw("SeqStats works only on PrimarySeqI objects");
# is alphabet OK? Is it strict?
$_is_strict = _is_alphabet_strict($seqobj);
***************
*** 492,496 ****
$seqobj = $object_argument;
$seqobj->isa("Bio::PrimarySeqI") ||
! die("Error: SeqStats works only on PrimarySeqI objects \n");
$_is_strict = _is_alphabet_strict($seqobj); # is alphabet OK?
$rcount = $self->count_monomers($seqobj);
--- 492,496 ----
$seqobj = $object_argument;
$seqobj->isa("Bio::PrimarySeqI") ||
! $self->throw("Error: SeqStats works only on PrimarySeqI objects");
$_is_strict = _is_alphabet_strict($seqobj); # is alphabet OK?
$rcount = $self->count_monomers($seqobj);
***************
*** 584,588 ****
$seqobj = $object_argument;
$seqobj->isa("Bio::PrimarySeqI") ||
! die(" Error: SeqStats works only on PrimarySeqI objects \n");
$_is_strict = _is_alphabet_strict($seqobj);
}
--- 584,588 ----
$seqobj = $object_argument;
$seqobj->isa("Bio::PrimarySeqI") ||
! $self->throw("Error: SeqStats works only on PrimarySeqI objects");
$_is_strict = _is_alphabet_strict($seqobj);
}
***************
*** 592,597 ****
unless ($alphabet =~ /[dr]na/i) {
! $seqobj->throw(" Codon counts only meaningful for dna or rna, ".
! "not for $alphabet sequences. \n");
}
--- 592,597 ----
unless ($alphabet =~ /[dr]na/i) {
! $seqobj->throw("Codon counts only meaningful for dna or rna, ".
! "not for $alphabet sequences.");
}
***************
*** 600,605 ****
if (!$_is_strict ) {
! $seqobj->warn(" Sequence $seqobj contains ambiguous bases.\n".
! " All codons with ambiguous bases will be added together in count.\n")
if $self->verbose >= 0 ;
}
--- 600,605 ----
if (!$_is_strict ) {
! $seqobj->warn("Sequence $seqobj contains ambiguous bases.".
! " All codons with ambiguous bases will be added together in count.")
if $self->verbose >= 0 ;
}
***************
*** 683,687 ****
# If we got here there is an illegal letter in the sequence
! $seqobj->throw(" Alphabet not OK for $seqobj \n");
}
--- 683,687 ----
# If we got here there is an illegal letter in the sequence
! $seqobj->throw("Alphabet not OK for $seqobj");
}
From bosborne at pub.open-bio.org Thu Dec 8 18:04:50 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Thu Dec 8 17:58:42 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools QRNA.pm,1.2,1.3
Message-ID: <200512082304.jB8N4nVL000526@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv517/Bio/Tools
Modified Files:
QRNA.pm
Log Message:
throw, not die
Index: QRNA.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/QRNA.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** QRNA.pm 8 Sep 2003 12:17:14 -0000 1.2
--- QRNA.pm 8 Dec 2005 23:04:47 -0000 1.3
***************
*** 20,24 ****
my $parser = new Bio::Tools::QRNA(-file => $qrnaoutput);
while( my $feature = $parser->next_feature ) {
!
}
--- 20,24 ----
my $parser = new Bio::Tools::QRNA(-file => $qrnaoutput);
while( my $feature = $parser->next_feature ) {
! # do something here
}
***************
*** 398,403 ****
$self->debug( $data->{'entry'} );
}
! die "no location parsed for $model in ",
! (map { @$_ } @{$data->{'seqs'}}), " ", $f->start, " ", $f->end, "\n";
} else {
$f->add_tag_value("$model\_positions",
--- 398,403 ----
$self->debug( $data->{'entry'} );
}
! $self->throw("no location parsed for $model in ",
! (map { @$_ } @{$data->{'seqs'}}), " ", $f->start, " ", $f->end);
} else {
$f->add_tag_value("$model\_positions",
From bosborne at pub.open-bio.org Thu Dec 8 18:12:23 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Thu Dec 8 18:06:16 2005
Subject: [Bioperl-guts-l]
bioperl-live/Bio/Tools RandomDistFunctions.pm, 1.4, 1.5
Message-ID: <200512082312.jB8NCNVL000576@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv567/Bio/Tools
Modified Files:
RandomDistFunctions.pm
Log Message:
throw, not die
Index: RandomDistFunctions.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/RandomDistFunctions.pm,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** RandomDistFunctions.pm 27 Sep 2005 14:10:59 -0000 1.4
--- RandomDistFunctions.pm 8 Dec 2005 23:12:21 -0000 1.5
***************
*** 107,111 ****
}
unless( $lambda ) {
! die("Cannot call birth_distribution without a valid lambda value (>0)");
}
return 1 - (log(rand(1) * (exp($lambda) - 1)+1)/ $lambda);
--- 107,111 ----
}
unless( $lambda ) {
! $self->throw("Cannot call birth_distribution without a valid lambda value (>0)");
}
return 1 - (log(rand(1) * (exp($lambda) - 1)+1)/ $lambda);
***************
*** 133,137 ****
}
unless( $param ) {
! die("Cannot call rand_geometric_distribution without a valid param value (>0)");
}
--- 133,137 ----
}
unless( $param ) {
! $self->throw("Cannot call rand_geometric_distribution without a valid param value (>0)");
}
***************
*** 172,176 ****
}
unless( $param ) {
! die("Cannot call rand_exponentional_distribution without a valid param value (>0)");
}
return log( 1- rand(1)) / $param;
--- 172,176 ----
}
unless( $param ) {
! $self->throw("Cannot call rand_exponentional_distribution without a valid param value (>0)");
}
return log( 1- rand(1)) / $param;
From bugzilla-daemon at portal.open-bio.org Thu Dec 8 21:15:21 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Thu Dec 8 21:58:14 2005
Subject: [Bioperl-guts-l] [Bug 1916] New: script bp_pairwise_kaks.pl error
Message-ID: <200512090215.jB92FLXg022206@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1916
Summary: script bp_pairwise_kaks.pl error
Product: Bioperl
Version: main-trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Unclassified
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: chenn@cshl.edu
I have the up-to-date bioperl-live via "cvs update -d". When I ran the script
"bp_pairwise_kaks.pl -i t/data/worm_fam_2785.cdna", I got the following error:
Use of uninitialized value in pattern match (m//) at
/usr/lib/perl5/site_perl/5.8.6/Bio/Tools/Phylo/PAML.pm line 711, line
105.
Can't call method "get_MLmatrix" on an undefined value at
/usr/bin/bp_pairwise_kaks.pl line 182, line 105.
I have bioperl-run up-to-date either.
Thanks,
Jack
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From heikki at pub.open-bio.org Fri Dec 9 05:29:29 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 05:23:20 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/SeqIO kegg.pm,1.15,1.16
Message-ID: <200512091029.jB9ATTVL002280@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/SeqIO
In directory pub.open-bio.org:/tmp/cvs-serv2271
Modified Files:
kegg.pm
Log Message:
fix to return the value rather than a boolean
Index: kegg.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/kegg.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** kegg.pm 18 Nov 2005 20:34:38 -0000 1.15
--- kegg.pm 9 Dec 2005 10:29:27 -0000 1.16
***************
*** 207,211 ****
if(( exists $FIELDS{DEFINITION} ) and ( $FIELDS{DEFINITION} =~ /^DEFINITION/ )) {
! $definition = $FIELDS{DEFINITION} =~ /^DEFINITION\s+(.+)$/s;
$definition =~ s/\s+/ /gs;
}
--- 207,211 ----
if(( exists $FIELDS{DEFINITION} ) and ( $FIELDS{DEFINITION} =~ /^DEFINITION/ )) {
! ($definition) = $FIELDS{DEFINITION} =~ /^DEFINITION\s+(.+)$/s;
$definition =~ s/\s+/ /gs;
}
From heikki at pub.open-bio.org Fri Dec 9 06:13:24 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 06:07:13 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio PrimarySeqI.pm, 1.61,
1.62 SeqFeatureI.pm, 1.61, 1.62 SimpleAlign.pm, 1.97, 1.98
Message-ID: <200512091113.jB9BDOVL002451@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio
In directory pub.open-bio.org:/tmp/cvs-serv2435
Modified Files:
PrimarySeqI.pm SeqFeatureI.pm SimpleAlign.pm
Log Message:
POD fixes
Index: PrimarySeqI.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/PrimarySeqI.pm,v
retrieving revision 1.61
retrieving revision 1.62
diff -C2 -d -r1.61 -r1.62
*** PrimarySeqI.pm 19 Oct 2005 00:47:16 -0000 1.61
--- PrimarySeqI.pm 9 Dec 2005 11:13:21 -0000 1.62
***************
*** 464,468 ****
Title : translate
Usage : $protein_seq_obj = $dna_seq_obj->translate
!
Or if you expect a complete coding sequence (CDS) translation,
with inititator at the beginning and terminator at the end:
--- 464,468 ----
Title : translate
Usage : $protein_seq_obj = $dna_seq_obj->translate
!
Or if you expect a complete coding sequence (CDS) translation,
with inititator at the beginning and terminator at the end:
Index: SeqFeatureI.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqFeatureI.pm,v
retrieving revision 1.61
retrieving revision 1.62
diff -C2 -d -r1.61 -r1.62
*** SeqFeatureI.pm 5 Nov 2005 22:15:37 -0000 1.61
--- SeqFeatureI.pm 9 Dec 2005 11:13:21 -0000 1.62
***************
*** 29,33 ****
print "Feature on strand ", $feat->strand,"\n"; # -1,1
}
!
print "feature location is ",$feat->start, "..",
$feat->end, " on strand ", $feat->strand, "\n";
--- 29,33 ----
print "Feature on strand ", $feat->strand,"\n"; # -1,1
}
!
print "feature location is ",$feat->start, "..",
$feat->end, " on strand ", $feat->strand, "\n";
Index: SimpleAlign.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SimpleAlign.pm,v
retrieving revision 1.97
retrieving revision 1.98
diff -C2 -d -r1.97 -r1.98
*** SimpleAlign.pm 17 Nov 2005 09:54:43 -0000 1.97
--- SimpleAlign.pm 9 Dec 2005 11:13:22 -0000 1.98
***************
*** 57,61 ****
$str = $aln->cigar_line()
$id = $aln->percentage_identity;
!
See the module documentation for details and more methods.
--- 57,61 ----
$str = $aln->cigar_line()
$id = $aln->percentage_identity;
!
See the module documentation for details and more methods.
From heikki at pub.open-bio.org Fri Dec 9 06:13:24 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 06:07:14 2005
Subject: [Bioperl-guts-l]
bioperl-live/Bio/Ontology DocumentRegistry.pm, 1.7, 1.8
Message-ID: <200512091113.jB9BDOVL002457@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Ontology
In directory pub.open-bio.org:/tmp/cvs-serv2435/Ontology
Modified Files:
DocumentRegistry.pm
Log Message:
POD fixes
Index: DocumentRegistry.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Ontology/DocumentRegistry.pm,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** DocumentRegistry.pm 13 Oct 2005 16:17:31 -0000 1.7
--- DocumentRegistry.pm 9 Dec 2005 11:13:22 -0000 1.8
***************
*** 121,125 ****
=item Usage
! my $singleton = Bio::Ontology::DocumentRegistry->get_instance();
=item Function
--- 121,125 ----
=item Usage
! my $singleton = Bio::Ontology::DocumentRegistry->get_instance();
=item Function
***************
*** 149,153 ****
=item Usage
! my($ontology_url, $definitions_url, $format) = $obj->documents('Sequence Ontology');
=item Function
--- 149,153 ----
=item Usage
! my($ontology_url, $definitions_url, $format) = $obj->documents('Sequence Ontology');
=item Function
From heikki at pub.open-bio.org Fri Dec 9 07:18:01 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:12:32 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/PopGen/Simulation Coalescent.pm,
1.8, 1.9
Message-ID: <200512091218.jB9CI1VL002903@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/PopGen/Simulation
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/PopGen/Simulation
Modified Files:
Coalescent.pm
Log Message:
throw, not die
Index: Coalescent.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/PopGen/Simulation/Coalescent.pm,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** Coalescent.pm 7 Dec 2004 13:03:44 -0000 1.8
--- Coalescent.pm 9 Dec 2005 12:17:59 -0000 1.9
***************
*** 286,290 ****
}
# sanity check
! die("branch len is $branchlen arraylen is $last")
unless ( $branchlen == $last );
my @mutations;
--- 286,290 ----
}
# sanity check
! $self->throw("branch len is $branchlen arraylen is $last")
unless ( $branchlen == $last );
my @mutations;
From heikki at pub.open-bio.org Fri Dec 9 07:18:02 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:13:47 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/SeqFeature Generic.pm,1.93,1.94
Message-ID: <200512091218.jB9CI2VL002911@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/SeqFeature
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/SeqFeature
Modified Files:
Generic.pm
Log Message:
throw, not die
Index: Generic.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqFeature/Generic.pm,v
retrieving revision 1.93
retrieving revision 1.94
diff -C2 -d -r1.93 -r1.94
*** Generic.pm 5 Nov 2005 18:29:27 -0000 1.93
--- Generic.pm 9 Dec 2005 12:17:59 -0000 1.94
***************
*** 783,787 ****
my @out;
if ( !defined $f ) {
! die "Must have a filehandle";
}
--- 783,787 ----
my @out;
if ( !defined $f ) {
! Bio::Root::Root->throw("Must have a filehandle");
}
From heikki at pub.open-bio.org Fri Dec 9 07:18:03 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:14:03 2005
Subject: [Bioperl-guts-l] bioperl-live/maintenance modules.pl,1.17,1.18
Message-ID: <200512091218.jB9CI3VL002928@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/maintenance
In directory pub.open-bio.org:/tmp/cvs-serv2793/maintenance
Modified Files:
modules.pl
Log Message:
throw, not die
Index: modules.pl
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/maintenance/modules.pl,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** modules.pl 17 Nov 2005 09:54:54 -0000 1.17
--- modules.pl 9 Dec 2005 12:18:01 -0000 1.18
***************
*** 112,116 ****
my $value = shift;
$self->{'tested'} = 1 if defined $value && $value;
! return $self->{'tested'};
}
--- 112,116 ----
my $value = shift;
$self->{'tested'} = 1 if defined $value && $value;
! return $self->{'tested'} || 0;
}
***************
*** 343,347 ****
Prints a list of instance modules which are I explicitly used by
! test files in t directory. Superclasess or any classes used by others
are not reported, either, since their methods are assumed to be tested
by subclass tests.
--- 343,347 ----
Prints a list of instance modules which are I explicitly used by
! test files in the directory. Superclasess or any classes used by others
are not reported, either, since their methods are assumed to be tested
by subclass tests.
***************
*** 351,354 ****
--- 351,373 ----
=cut
+ sub _used_and_super {
+ my $classname = $shift;
+ unless ( ref $classname eq 'HASH') {
+ my $tmp = $classname;
+ $classname->{$tmp}=1
+ }
+ foreach ($MODULES{$_}->each_superclass) {
+ $MODULES{$_}->tested(1)
+ unless defined $MODULES{$_} or $MODULES{$_}->tested;
+ _used_and_super()
+ }
+ foreach ($MODULES{$_}->each_used_class) {
+ $MODULES{$_}->tested(1)
+ unless defined $MODULES{$_} and $MODULES{$_}->tested;
+ }
+
+ return $classname;
+ }
+
sub untested {
foreach (`find ../t -name "*.t" -print | xargs grep -hs "use "`) {
***************
*** 359,363 ****
--- 378,391 ----
$MODULES{$_}->tested(1)
unless defined $MODULES{$_} and $MODULES{$_}->tested;
+
+ next if $MODULES{$_}->name eq "Bio::SeqIO::abi"; # exception: requires bioperl ext package
+ next if $MODULES{$_}->name eq "Bio::SeqIO::ctf"; # exception: requires bioperl ext package
+ next if $MODULES{$_}->name eq "Bio::SeqIO::exp"; # exception: requires bioperl ext package
+ next if $MODULES{$_}->name eq "Bio::SeqIO::pln"; # exception: requires bioperl ext package
+ next if $MODULES{$_}->name eq "Bio::SeqIO::ztr"; # exception: requires bioperl ext package
+ # print $MODULES{$_}->name, "\n";
+ # print Dumper $MODULES{$_};
foreach ($MODULES{$_}->each_superclass) {
+ # print $MODULES{$_}->name, "\n";
$MODULES{$_}->tested(1)
unless defined $MODULES{$_} or $MODULES{$_}->tested;
From heikki at pub.open-bio.org Fri Dec 9 07:18:02 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:14:05 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools/Run RemoteBlast.pm, 1.27,
1.28
Message-ID: <200512091218.jB9CI2VL002924@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools/Run
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/Tools/Run
Modified Files:
RemoteBlast.pm
Log Message:
throw, not die
Index: RemoteBlast.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Run/RemoteBlast.pm,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** RemoteBlast.pm 27 Sep 2005 14:11:00 -0000 1.27
--- RemoteBlast.pm 9 Dec 2005 12:18:00 -0000 1.28
***************
*** 598,602 ****
# pre-process
my ($fh2,$tempfile2) = $self->tempfile();
! open(TMP,$tempfile) || die $!;
my $s = 0;
while() {
--- 598,602 ----
# pre-process
my ($fh2,$tempfile2) = $self->tempfile();
! open(TMP,$tempfile) || $self->throw($!);
my $s = 0;
while() {
From heikki at pub.open-bio.org Fri Dec 9 07:18:03 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:14:06 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools/Spidey Results.pm,1.6,1.7
Message-ID: <200512091218.jB9CI3VL002926@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools/Spidey
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/Tools/Spidey
Modified Files:
Results.pm
Log Message:
throw, not die
Index: Results.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Spidey/Results.pm,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Results.pm 27 Sep 2005 13:08:48 -0000 1.6
--- Results.pm 9 Dec 2005 12:18:01 -0000 1.7
***************
*** 193,197 ****
$version = $1;
if ($version != 1.40) {
! die "Spidey parser only designed to work with Spidey v1.40\n";
}
$started = 1;
--- 193,197 ----
$version = $1;
if ($version != 1.40) {
! $self->throw("Spidey parser only designed to work with Spidey v1.40\n");
}
$started = 1;
***************
*** 244,248 ****
$uncertain = $10;
} else {
! die "Failed to match anything:\n$_\n";
}
--- 244,248 ----
$uncertain = $10;
} else {
! $self->throw( "Failed to match anything:\n$_\n");
}
***************
*** 280,284 ****
push(@exons, $exon);
} else {
! die "Unexpected end of file reached\n";
}
}
--- 280,284 ----
push(@exons, $exon);
} else {
! $self->throw("Unexpected end of file reached\n");
}
}
From heikki at pub.open-bio.org Fri Dec 9 07:18:02 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:14:08 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools/Alignment Consed.pm, 1.36,
1.37
Message-ID: <200512091218.jB9CI2VL002921@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools/Alignment
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/Tools/Alignment
Modified Files:
Consed.pm
Log Message:
throw, not die
Index: Consed.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Alignment/Consed.pm,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -d -r1.36 -r1.37
*** Consed.pm 27 Sep 2005 13:08:46 -0000 1.36
--- Consed.pm 9 Dec 2005 12:18:00 -0000 1.37
***************
*** 1640,1645 ****
my $fh = new Bio::Root::IO
(-file=>"$self->{path}/../phd_dir/$sequence_name.phd.1");
- # open(PHD,"<$self->{path}/../phd_dir/$sequence_name.phd.1") or
- # die "Couldn't open the phred for $sequence_name\n";
while ($fh->_readline()) {
# print("Reading a line from a phredfile!\n");
--- 1640,1643 ----
From heikki at pub.open-bio.org Fri Dec 9 07:18:00 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:15:00 2005
Subject: [Bioperl-guts-l]
bioperl-live/Bio/DB/GFF/Adaptor/dbi mysql.pm, 1.62,
1.63 oracle.pm, 1.6, 1.7 pg.pm, 1.15, 1.16
Message-ID: <200512091218.jB9CI0VL002882@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/DB/GFF/Adaptor/dbi
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/DB/GFF/Adaptor/dbi
Modified Files:
mysql.pm oracle.pm pg.pm
Log Message:
throw, not die
Index: oracle.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/GFF/Adaptor/dbi/oracle.pm,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** oracle.pm 24 Oct 2003 19:28:47 -0000 1.6
--- oracle.pm 9 Dec 2005 12:17:58 -0000 1.7
***************
*** 843,847 ****
my $sth = $self->{_insert_sequence}
||= $self->dbh->prepare_delayed('insert into fdna values (?,?,?)');
! $sth->execute($id,$offset,$seq) or die $sth->errstr;
}
--- 843,847 ----
my $sth = $self->{_insert_sequence}
||= $self->dbh->prepare_delayed('insert into fdna values (?,?,?)');
! $sth->execute($id,$offset,$seq) or $self->throw($sth->errstr);
}
Index: pg.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/GFF/Adaptor/dbi/pg.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** pg.pm 11 Apr 2005 20:54:55 -0000 1.15
--- pg.pm 9 Dec 2005 12:17:58 -0000 1.16
***************
*** 704,708 ****
my $sth = $self->{_insert_sequence}
||= $self->dbh->prepare_delayed('insert into fdna values (?,?,?)');
! $sth->execute($id,$offset,$seq) or die $sth->errstr;
}
--- 704,708 ----
my $sth = $self->{_insert_sequence}
||= $self->dbh->prepare_delayed('insert into fdna values (?,?,?)');
! $sth->execute($id,$offset,$seq) or $self->throw($sth->errstr);
}
Index: mysql.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/GFF/Adaptor/dbi/mysql.pm,v
retrieving revision 1.62
retrieving revision 1.63
diff -C2 -d -r1.62 -r1.63
*** mysql.pm 1 Dec 2005 00:11:38 -0000 1.62
--- mysql.pm 9 Dec 2005 12:17:58 -0000 1.63
***************
*** 721,725 ****
my $sth = $self->{_insert_sequence}
||= $self->dbh->prepare_delayed('replace into fdna values (?,?,?)');
! $sth->execute($id,$offset,$seq) or die $sth->errstr;
}
--- 721,725 ----
my $sth = $self->{_insert_sequence}
||= $self->dbh->prepare_delayed('replace into fdna values (?,?,?)');
! $sth->execute($id,$offset,$seq) or $self->throw($sth->errstr);
}
From heikki at pub.open-bio.org Fri Dec 9 07:18:01 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:15:02 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Matrix/PSM ProtMatrix.pm, 1.11,
1.12 SiteMatrix.pm, 1.26, 1.27
Message-ID: <200512091218.jB9CI1VL002900@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Matrix/PSM
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/Matrix/PSM
Modified Files:
ProtMatrix.pm SiteMatrix.pm
Log Message:
throw, not die
Index: SiteMatrix.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Matrix/PSM/SiteMatrix.pm,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** SiteMatrix.pm 9 Oct 2005 14:53:14 -0000 1.26
--- SiteMatrix.pm 9 Dec 2005 12:17:59 -0000 1.27
***************
*** 334,338 ****
sub next_pos {
my $self = shift;
! die "instance method called on class" unless ref $self;
my $len=@{$self->{seq}};
my $pos=$self->{_position};
--- 334,338 ----
sub next_pos {
my $self = shift;
! $self->throw("instance method called on class") unless ref $self;
my $len=@{$self->{seq}};
my $pos=$self->{_position};
Index: ProtMatrix.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Matrix/PSM/ProtMatrix.pm,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** ProtMatrix.pm 9 Oct 2005 14:53:14 -0000 1.11
--- ProtMatrix.pm 9 Dec 2005 12:17:59 -0000 1.12
***************
*** 332,336 ****
sub next_pos {
my $self = shift;
! die "instance method called on class" unless ref $self;
my $len = @{$self->{seq}};
--- 332,336 ----
sub next_pos {
my $self = shift;
! $self->throw("instance method called on class") unless ref $self;
my $len = @{$self->{seq}};
From heikki at pub.open-bio.org Fri Dec 9 07:18:01 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:15:03 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Index Blast.pm, 1.18,
1.19 Hmmer.pm, 1.6, 1.7
Message-ID: <200512091218.jB9CI1VL002891@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Index
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/Index
Modified Files:
Blast.pm Hmmer.pm
Log Message:
throw, not die
Index: Blast.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Index/Blast.pm,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** Blast.pm 9 Oct 2005 14:53:13 -0000 1.18
--- Blast.pm 9 Dec 2005 12:17:58 -0000 1.19
***************
*** 247,251 ****
);
! open(BLAST, "<$file") or die("cannot open file $file\n");
my (@data, @records);
--- 247,251 ----
);
! open(BLAST, "<$file") or $self->throw("cannot open file $file\n");
my (@data, @records);
Index: Hmmer.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Index/Hmmer.pm,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Hmmer.pm 9 Oct 2005 14:53:13 -0000 1.6
--- Hmmer.pm 9 Dec 2005 12:17:58 -0000 1.7
***************
*** 270,274 ****
my($begin);
! open(HMMER, "<$file") or die("cannot open file $file\n");
my $id;
--- 270,274 ----
my($begin);
! open(HMMER, "<$file") or $self->throw("cannot open file $file\n");
my $id;
From heikki at pub.open-bio.org Fri Dec 9 07:18:02 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:15:05 2005
Subject: [Bioperl-guts-l]
bioperl-live/Bio/SeqIO agave.pm, 1.10, 1.11 bsml.pm,
1.21, 1.22 chadoxml.pm, 1.17, 1.18 chaos.pm, 1.8, 1.9
Message-ID: <200512091218.jB9CI2VL002915@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/SeqIO
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/SeqIO
Modified Files:
agave.pm bsml.pm chadoxml.pm chaos.pm
Log Message:
throw, not die
Index: chadoxml.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/chadoxml.pm,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** chadoxml.pm 18 Oct 2005 15:05:24 -0000 1.17
--- chadoxml.pm 9 Dec 2005 12:18:00 -0000 1.18
***************
*** 390,398 ****
chomp($srcfeature);
} else {
- # this is really weird - we don't typically
- # have any die code in the library
- # but use throw instead
- # jason -- 2003-12-10
- # die($usage)
$self->throw( $usage );
}
--- 390,393 ----
***************
*** 401,409 ****
if (! defined $srcfeattype)
{
- # this is really weird - we don't typically
- # have any die code in the library
- # but use throw instead
- # jason -- 2003-12-10
- # die($usage)
$self->throw( $usage );
#$srcfeattype must be a string of non-whitespace characters
--- 396,399 ----
***************
*** 412,420 ****
chomp($srcfeattype);
} else {
- # this is really weird - we don't typically
- # have any die code in the library
- # but use throw instead
- # jason -- 2003-12-10
- # die($usage)
$self->throw( $usage );
}
--- 402,405 ----
Index: agave.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/agave.pm,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** agave.pm 1 Oct 2005 00:26:29 -0000 1.10
--- agave.pm 9 Dec 2005 12:18:00 -0000 1.11
***************
*** 725,729 ****
} else {
! die "Error. Missing tag. Got this: $$line\n";
}
--- 725,729 ----
} else {
! $self->throw("Error. Missing tag. Got this: $$line\n");
}
***************
*** 886,890 ****
if ($element_id_count == 0) {
! die "Error. Missing tag. Got: $$line";
}
--- 886,890 ----
if ($element_id_count == 0) {
! $self->throw("Error. Missing tag. Got: $$line");
}
***************
*** 898,902 ****
unless ($$line =~ /<\/related_annot>/){
! die "Error. Missing . Got: $$line\n";
}
--- 898,902 ----
unless ($$line =~ /<\/related_annot>/){
! $self->throw("Error. Missing . Got: $$line\n");
}
***************
*** 924,928 ****
}
! die "Error. No tag! Got this: $$line"
if $count == 0;
--- 924,928 ----
}
! $self->throw("Error. No tag! Got this: $$line")
if $count == 0;
***************
*** 932,936 ****
$$line = $self->_readline;
} else {
! die "Error. No ! Got this: $$line";
}
--- 932,936 ----
$$line = $self->_readline;
} else {
! $self->throw("Error. No ! Got this: $$line");
}
***************
*** 967,971 ****
return;
} else {
! die "No closing tag ! Got this: $$line\n";
}
--- 967,971 ----
return;
} else {
! $self->throw("No closing tag ! Got this: $$line\n");
}
***************
*** 990,994 ****
return;
} else {
! die "No closing tag . Got this: $$line\n";
}
--- 990,994 ----
return;
} else {
! $self->throw("No closing tag . Got this: $$line\n");
}
Index: bsml.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/bsml.pm,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** bsml.pm 1 Oct 2005 00:26:29 -0000 1.21
--- bsml.pm 9 Dec 2005 12:18:00 -0000 1.22
***************
*** 540,544 ****
$xml = $args->{XMLDOC};
unless ($xml->isa("XML::DOM::Document")) {
! die ('SeqIO::bsml.pm error:\n'.
'When calling ->to_bsml( { xmldoc => $myDoc }), $myDoc \n' .
'should be an XML::DOM::Document object, or an object that\n'.
--- 540,544 ----
$xml = $args->{XMLDOC};
unless ($xml->isa("XML::DOM::Document")) {
! $self->throw('SeqIO::bsml.pm error:\n'.
'When calling ->to_bsml( { xmldoc => $myDoc }), $myDoc \n' .
'should be an XML::DOM::Document object, or an object that\n'.
Index: chaos.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/chaos.pm,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** chaos.pm 3 Oct 2005 16:01:49 -0000 1.8
--- chaos.pm 9 Dec 2005 12:18:00 -0000 1.9
***************
*** 510,517 ****
my ($beg, $end, $strand) = $self->bp2ib($loc);
if (!$strand) {
- print "($beg, $end, $strand) - no strand\n";
use Data::Dumper;
! print Dumper $sf;
! die Dumper $loc;
}
@locnodes = (
--- 510,516 ----
my ($beg, $end, $strand) = $self->bp2ib($loc);
if (!$strand) {
use Data::Dumper;
! print Dumper $sf $loc;
! $self->throw("($beg, $end, $strand) - no strand\n");
}
@locnodes = (
From heikki at pub.open-bio.org Fri Dec 9 07:18:02 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:15:06 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools OddCodes.pm,1.15,1.16
Message-ID: <200512091218.jB9CI2VL002919@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/Tools
Modified Files:
OddCodes.pm
Log Message:
throw, not die
Index: OddCodes.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/OddCodes.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** OddCodes.pm 8 Dec 2005 22:10:43 -0000 1.15
--- OddCodes.pm 9 Dec 2005 12:18:00 -0000 1.16
***************
*** 438,442 ****
unless ($seqobj->isa("Bio::PrimarySeqI"))
{
! die("die, OddCodes works only on PrimarySeqI objects\n");
}
$self->warn("\tAll OddCode alphabets need a protein sequence,\n".
--- 438,442 ----
unless ($seqobj->isa("Bio::PrimarySeqI"))
{
! $self->throw("die, OddCodes works only on PrimarySeqI objects\n");
}
$self->warn("\tAll OddCode alphabets need a protein sequence,\n".
***************
*** 448,452 ****
if(length($seqstring)<1)
{
! die("$seqstring: die, sequence has zero length\n");
}
return $seqstring;
--- 448,452 ----
if(length($seqstring)<1)
{
! $self->throw("$seqstring: die, sequence has zero length\n");
}
return $seqstring;
From heikki at pub.open-bio.org Fri Dec 9 07:18:00 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:15:07 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/DB GDB.pm,1.14,1.15
Message-ID: <200512091218.jB9CI0VL002864@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/DB
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/DB
Modified Files:
GDB.pm
Log Message:
throw, not die
Index: GDB.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/GDB.pm,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** GDB.pm 9 Oct 2005 14:53:08 -0000 1.14
--- GDB.pm 9 Dec 2005 12:17:58 -0000 1.15
***************
*** 213,217 ****
}, "text" ],
marked_sections =>1);
! $p->parse($content) or die "Can't open: $!";
if( ! defined $markerurl ) {
@primers = ('notfound','notfound', '?');
--- 213,217 ----
}, "text" ],
marked_sections =>1);
! $p->parse($content) or $self->throw("Can't open: $!");
if( ! defined $markerurl ) {
@primers = ('notfound','notfound', '?');
***************
*** 264,268 ****
marked_sections =>1,
);
! $p->parse($content) || die "Can't open: $!";
return { 'gdbid' => $realname, 'length' => $length, 'primers' => \@primers };
--- 264,268 ----
marked_sections =>1,
);
! $p->parse($content) || $self->throw("Can't open: $!");
return { 'gdbid' => $realname, 'length' => $length, 'primers' => \@primers };
From heikki at pub.open-bio.org Fri Dec 9 07:18:00 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:15:16 2005
Subject: [Bioperl-guts-l]
bioperl-live/Bio/DB/GFF/Adaptor berkeleydb.pm, 1.20, 1.21
Message-ID: <200512091218.jB9CI0VL002873@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/DB/GFF/Adaptor
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/DB/GFF/Adaptor
Modified Files:
berkeleydb.pm
Log Message:
throw, not die
Index: berkeleydb.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/GFF/Adaptor/berkeleydb.pm,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** berkeleydb.pm 18 Oct 2005 13:10:00 -0000 1.20
--- berkeleydb.pm 9 Dec 2005 12:17:58 -0000 1.21
***************
*** 223,227 ****
unless (-d $dsn) { # directory does not exist
$create or $self->throw("Directory $dsn does not exist and you did not specify the -create flag");
! mkpath($dsn) or die "Couldn't create database directory $dsn: $!";
}
--- 223,227 ----
unless (-d $dsn) { # directory does not exist
$create or $self->throw("Directory $dsn does not exist and you did not specify the -create flag");
! mkpath($dsn) or $self->throw("Couldn't create database directory $dsn: $!");
}
From heikki at pub.open-bio.org Fri Dec 9 07:18:01 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Fri Dec 9 07:16:50 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Root Storable.pm,1.5,1.6
Message-ID: <200512091218.jB9CI1VL002907@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Root
In directory pub.open-bio.org:/tmp/cvs-serv2793/Bio/Root
Modified Files:
Storable.pm
Log Message:
throw, not die
Index: Storable.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Root/Storable.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Storable.pm 9 Oct 2005 14:53:17 -0000 1.5
--- Storable.pm 9 Dec 2005 12:17:59 -0000 1.6
***************
*** 599,603 ****
$code = eval( $data ) ;
if($@) {
! die( "eval: $@" );
}
ref( $code ) eq 'REF' ||
--- 599,603 ----
$code = eval( $data ) ;
if($@) {
! $self->throw( "eval: $@" );
}
ref( $code ) eq 'REF' ||
From bugzilla-daemon at portal.open-bio.org Fri Dec 9 12:31:03 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Fri Dec 9 12:58:09 2005
Subject: [Bioperl-guts-l] [Bug 1916] script bp_pairwise_kaks.pl error
Message-ID: <200512091731.jB9HV3tk008736@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1916
------- Comment #1 from osborne1@optonline.net 2005-12-09 12:31 -------
Jack, I also have the latest in bioperl-run and bioperl-live and the exact
command you used works for me. I wonder if this isn't some problem with the
applications run by script. What do you see when you add "-v" to the command?
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Fri Dec 9 13:50:17 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Fri Dec 9 13:58:10 2005
Subject: [Bioperl-guts-l] [Bug 1916] script bp_pairwise_kaks.pl error
Message-ID: <200512091850.jB9IoHaU010465@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1916
osborne1@optonline.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |WORKSFORME
------- Comment #2 from osborne1@optonline.net 2005-12-09 13:50 -------
Jack, since I'm not seeing your error you're going to have to do the detective
work yourself. Open up PAML.pm yourself, you can see that line 711 is referring
to a specific line in a file, and I suspect that the file in question is an
*.mlc file (do "grep Gojobori t/data/*" to see what I mean). If I were you I'd
play with codeml all by itself to see what it is, or is not doing. Also, I'd
comment out that line and see what happens. Strictly speaking this is not a
Bioperl bug, so I'm changing this item to "WORKSFORME".
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Fri Dec 9 14:18:02 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Fri Dec 9 14:58:14 2005
Subject: [Bioperl-guts-l] [Bug 1917] New: Incorrect record size in
Bio::DB::Flat::BinarySearch index creation
Message-ID: <200512091918.jB9JI2DM011000@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1917
Summary: Incorrect record size in Bio::DB::Flat::BinarySearch
index creation
Product: Bioperl
Version: main-trunk
Platform: Macintosh
OS/Version: Mac OS
Status: NEW
Severity: blocker
Priority: P2
Component: bioperl-db
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: jeffrey.barrick@yale.edu
This block in Bio::DB::Flat::BinarySearch.pm 1.18; sub _add_id_position has a
typo:
$self->{_maxfileidlength} = length($fileid)
if !exists $self->{_maxfileidlength} or length($fileid) >=
$self->{_maxidlength};
It should be changed to:
$self->{_maxfileidlength} = length($fileid)
if !exists $self->{_maxfileidlength} or length($fileid) >=
$self->{_maxfileidlength};
Otherwise it creates index files with improper record sizes when the number of
files is large. This totally corrupts these indexes.
Thanks.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bosborne at pub.open-bio.org Fri Dec 9 15:16:48 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 9 15:10:35 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/DB/Flat BinarySearch.pm, 1.18,
1.19
Message-ID: <200512092016.jB9KGmVL008071@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/DB/Flat
In directory pub.open-bio.org:/tmp/cvs-serv8062/Bio/DB/Flat
Modified Files:
BinarySearch.pm
Log Message:
Bug 1917
Index: BinarySearch.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/Flat/BinarySearch.pm,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** BinarySearch.pm 18 Oct 2005 18:37:18 -0000 1.18
--- BinarySearch.pm 9 Dec 2005 20:16:46 -0000 1.19
***************
*** 1083,1125 ****
sub _add_id_position {
! my ($self,$id,$pos,$fileid,$length,$secondary_id) = @_;
!
! if (!defined($id)) {
! $self->throw("No id defined. Can't add id position");
! }
! if (!defined($pos)) {
! $self->throw("No position defined. Can't add id position");
! }
! if ( ! defined($fileid)) {
! $self->throw("No fileid defined. Can't add id position");
! }
! if (! defined($length) || $length <= 0) {
! $self->throw("No length defined or <= 0 [$length]. Can't add id position");
! }
!
! $self->{_id}{$id}{_pos} = $pos;
! $self->{_id}{$id}{_length} = $length;
! $self->{_id}{$id}{_fileid} = $fileid;
! # Now the secondary ids
! foreach my $sec (keys (%$secondary_id)) {
! my $value = $secondary_id->{$sec};
! $self->{_secondary_id}{$sec}{$value}{$id} = 1;
! }
! $self->{_maxidlength} = length($id)
! if !exists $self->{_maxidlength} or length($id) >= $self->{_maxidlength};
! $self->{_maxfileidlength} = length($fileid)
! if !exists $self->{_maxfileidlength} or length($fileid) >= $self->{_maxidlength};
! $self->{_maxposlength} = length($pos)
! if !exists $self->{_maxposlength} or length($pos) >= $self->{_maxposlength};
! $self->{_maxlengthlength} = length($length)
! if !exists $self->{_maxlengthlength} or length($length) >= $self->{_maxlengthlength};
}
--- 1083,1127 ----
sub _add_id_position {
! my ($self,$id,$pos,$fileid,$length,$secondary_id) = @_;
! if (!defined($id)) {
! $self->throw("No id defined. Can't add id position");
! }
! if (!defined($pos)) {
! $self->throw("No position defined. Can't add id position");
! }
! if ( ! defined($fileid)) {
! $self->throw("No fileid defined. Can't add id position");
! }
! if (! defined($length) || $length <= 0) {
! $self->throw("No length defined or <= 0 [$length]. Can't add id position");
! }
! $self->{_id}{$id}{_pos} = $pos;
! $self->{_id}{$id}{_length} = $length;
! $self->{_id}{$id}{_fileid} = $fileid;
! # Now the secondary ids
! foreach my $sec (keys (%$secondary_id)) {
! my $value = $secondary_id->{$sec};
! $self->{_secondary_id}{$sec}{$value}{$id} = 1;
! }
! $self->{_maxidlength} = length($id)
! if !exists $self->{_maxidlength} or
! length($id) >= $self->{_maxidlength};
! $self->{_maxfileidlength} = length($fileid)
! if !exists $self->{_maxfileidlength} or
! length($fileid) >= $self->{_maxfileidlength};
! $self->{_maxposlength} = length($pos)
! if !exists $self->{_maxposlength} or
! length($pos) >= $self->{_maxposlength};
+ $self->{_maxlengthlength} = length($length)
+ if !exists $self->{_maxlengthlength} or
+ length($length) >= $self->{_maxlengthlength};
}
From bugzilla-daemon at portal.open-bio.org Fri Dec 9 15:11:15 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Fri Dec 9 15:58:10 2005
Subject: [Bioperl-guts-l] [Bug 1917] Incorrect record size in
Bio::DB::Flat::BinarySearch index creation
Message-ID: <200512092011.jB9KBFxB012094@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1917
osborne1@optonline.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Comment #1 from osborne1@optonline.net 2005-12-09 15:11 -------
Done, thank you.
------- 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 Dec 11 13:05:54 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Sun Dec 11 13:58:14 2005
Subject: [Bioperl-guts-l] [Bug 1916] script bp_pairwise_kaks.pl error
Message-ID: <200512111805.jBBI5sTV003306@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1916
------- Comment #3 from jason@open-bio.org 2005-12-11 13:05 -------
Also works for me, make sure clustalw/tcoffee and codeml and/or yn00 are
installed properly and really run as this depends on all those application.
Running PAML 3.14.
------- 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 Dec 11 15:11:36 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Sun Dec 11 15:58:11 2005
Subject: [Bioperl-guts-l] [Bug 1916] script bp_pairwise_kaks.pl error
Message-ID: <200512112011.jBBKBaXa005850@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1916
------- Comment #4 from jason@open-bio.org 2005-12-11 15:11 -------
According to Jack -- "I was trying to run PAML 3.15. Apparently the output
format has been modified. You are right that it worked with PAML 3.14."
Jack - if you would submit a file which represents the 3.15 and 3.14 formats
for the same input file (at least for the pairwise) so we can figure out what
needs to change in the regexp, we can fix this in CVS.
------- 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 Dec 12 03:21:05 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Mon Dec 12 03:58:15 2005
Subject: [Bioperl-guts-l] [Bug 1918] New: Missing parameters in
Bio::Tools::Run::Primer3
Message-ID: <200512120821.jBC8L5Cv019329@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1918
Summary: Missing parameters in Bio::Tools::Run::Primer3
Product: Bioperl
Version: main-trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P2
Component: bioperl-run
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: ron@ron.dk
I wish to use the Bio::Tools::Run::Primer3 module. I found that the
PRIMER_LIB_AMBIGUITY_CODES_CONSENSUS parameter is missing from the module. This
is the warning I get:
MSG: Parameter PRIMER_LIB_AMBIGUITY_CODES_CONSENSUS is not a valid Primer3
parameter
I then searched the module for more missing parameters. Below is a list of what
I found.
PRIMER_DEFAULT_PRODUCT
PRIMER_DEFAULT_SIZE
PRIMER_INSIDE_PENALTY
PRIMER_INTERNAL_OLIGO_MAX_TEMPLATE_MISHYB
PRIMER_LIB_AMBIGUITY_CODES_CONSENSUS
PRIMER_MAX_TEMPLATE_MISPRIMING
PRIMER_OUTSIDE_PENALTY
PRIMER_PAIR_MAX_TEMPLATE_MISPRIMING
PRIMER_PAIR_WT_TEMPLATE_MISPRIMING
PRIMER_WT_TEMPLATE_MISPRIMING
------- 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 Dec 12 09:30:12 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Mon Dec 12 09:58:21 2005
Subject: [Bioperl-guts-l] [Bug 1918] Missing parameters in
Bio::Tools::Run::Primer3
Message-ID: <200512121430.jBCEUBqb028367@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1918
------- Comment #1 from osborne1@optonline.net 2005-12-12 09:30 -------
Rasmus, thanks for the submission. Could you attach a primer3 output file
containing these values? It looks like most or all of these strings are missing
from the output files we have in t/data, without a file we can't write any
tests.
------- 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 Dec 12 19:30:17 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Mon Dec 12 19:58:12 2005
Subject: [Bioperl-guts-l] [Bug 1918] Missing parameters in
Bio::Tools::Run::Primer3
Message-ID: <200512130030.jBD0UH7Y006835@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1918
------- Comment #2 from osborne1@optonline.net 2005-12-12 19:30 -------
Rasmus, please disregard my previous request. First, what version of primer3
are you using?
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bosborne at pub.open-bio.org Mon Dec 12 22:13:03 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Mon Dec 12 22:07:16 2005
Subject: [Bioperl-guts-l] bioperl-run/Bio/Tools/Run Primer3.pm,1.10,1.11
Message-ID: <200512130313.jBD3D3VL032013@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-run/Bio/Tools/Run
In directory pub.open-bio.org:/tmp/cvs-serv32004/Bio/Tools/Run
Modified Files:
Primer3.pm
Log Message:
Let's try this
Index: Primer3.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-run/Bio/Tools/Run/Primer3.pm,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** Primer3.pm 27 Sep 2005 14:15:59 -0000 1.10
--- Primer3.pm 13 Dec 2005 03:13:01 -0000 1.11
***************
*** 80,84 ****
(bioinformatics1@dieselwurks.com)
! I have ripped some of his code, and added a lot of my own. I hope he's
not mad at me!
--- 80,84 ----
(bioinformatics1@dieselwurks.com)
! I have ripped some of his code, and added a lot of my own. I hope he is
not mad at me!
***************
*** 113,119 ****
redwards@utmem.edu
! Based heavily on work of
!
! Chad Matsalla
bioinformatics1@dieselwurks.com
--- 113,117 ----
redwards@utmem.edu
! Based heavily on work of Chad Matsalla
bioinformatics1@dieselwurks.com
***************
*** 123,126 ****
--- 121,125 ----
Shawn Hoon shawnh-at-stanford.edu
Jason Stajich jason-at-bioperl.org
+ Brian Osborne osborne1 - optonline.net
=head1 APPENDIX
***************
*** 189,193 ****
PRIMER_WT_GC_PERCENT_LT PRIMER_WT_NUM_NS PRIMER_WT_POS_PENALTY
PRIMER_WT_REP_SIM PRIMER_WT_SEQ_QUAL PRIMER_WT_SIZE_GT
! PRIMER_WT_SIZE_LT PRIMER_WT_TM_GT PRIMER_WT_TM_LT SEQUENCE TARGET );
foreach my $attr (@PRIMER3_PARAMS) {$OK_FIELD{$attr}++}
--- 188,203 ----
PRIMER_WT_GC_PERCENT_LT PRIMER_WT_NUM_NS PRIMER_WT_POS_PENALTY
PRIMER_WT_REP_SIM PRIMER_WT_SEQ_QUAL PRIMER_WT_SIZE_GT
! PRIMER_WT_SIZE_LT PRIMER_WT_TM_GT PRIMER_WT_TM_LT SEQUENCE TARGET
! PRIMER_DEFAULT_PRODUCT
! PRIMER_DEFAULT_SIZE
! PRIMER_INSIDE_PENALTY
! PRIMER_INTERNAL_OLIGO_MAX_TEMPLATE_MISHYB
! PRIMER_OUTSIDE_PENALTY
! PRIMER_LIB_AMBIGUITY_CODES_CONSENSUS
! PRIMER_MAX_TEMPLATE_MISPRIMING
! PRIMER_PAIR_MAX_TEMPLATE_MISPRIMING
! PRIMER_PAIR_WT_TEMPLATE_MISPRIMING
! PRIMER_WT_TEMPLATE_MISPRIMING
! );
foreach my $attr (@PRIMER3_PARAMS) {$OK_FIELD{$attr}++}
***************
*** 214,227 ****
Function: Start primer3 working and adds a sequence. At the moment it
will not clear out the old sequence, but I suppose it should.
! Returns : Doesn't return anything. If called with a filename will allow
you to retrieve the results
Args : -seq (optional) Bio::Seq object of sequence. This is required
to run primer3 but can be added later with add_targets()
! -outfile file name to output results to (can also be added
with $primer3->outfile_name
! -path path to primer3 executable, including program name, e.g.
"/usr/bin/primer3_core". This can also be set with program_name
and program_dir
! -verbose (optional) set verbose output
Notes :
--- 224,237 ----
Function: Start primer3 working and adds a sequence. At the moment it
will not clear out the old sequence, but I suppose it should.
! Returns : Does not return anything. If called with a filename will allow
you to retrieve the results
Args : -seq (optional) Bio::Seq object of sequence. This is required
to run primer3 but can be added later with add_targets()
! -outfile file name to output results to (can also be added
with $primer3->outfile_name
! -path path to primer3 executable, including program name, e.g.
"/usr/bin/primer3_core". This can also be set with program_name
and program_dir
! -verbose (optional) set verbose output
Notes :
***************
*** 522,528 ****
--- 532,541 ----
'PRIMER_EXPLAIN_FLAG'=>'(boolean, default 0) If set it will print a bunch of information out.',
'PRIMER_PRODUCT_SIZE_RANGE'=>'(size range list, default 100-300) space separated list of product sizes eg - -',
+
+ 'PRIMER_DEFAULT_PRODUCT' => '(size range list, default 100-300)',
'PRIMER_PICK_INTERNAL_OLIGO'=>'(boolean, default 0) if set, a hybridization probe will be selected',
'PRIMER_GC_CLAMP'=>'(int, default 0) Number of Gs and Cs at the 3 prime end.',
'PRIMER_OPT_SIZE'=>'(int, default 20) Optimal primer size. Primers will be close to this value in length',
+ 'PRIMER_DEFAULT_SIZE' => '(int, default 20)',
'PRIMER_MIN_SIZE'=>'(int, default 18) Minimum size. Must be 0 < PRIMER_MIN_SIZE < PRIMER_MAX_SIZE ',
'PRIMER_MAX_SIZE'=>'(int, default 27) Maximum size. Must be < 35.',
***************
*** 606,684 ****
'PRIMER_IO_WT_REP_SIM'=>'(float, default 0.0)',
'PRIMER_IO_WT_SEQ_QUAL'=>'(float, default 0.0)',
! 'PRIMER_IO_WT_END_QUAL'=>'(float, default 0.0)');
$self->{'input_options'}=\%hash;
return \%hash;
}
- ##############################################################################
- # COMMENTS #
- # #
- # These comments are taken from the primer3 README file. They have an #
- # abbreviated explanation of what's #
- # what. You should read the readme file for more information #
- # #
- # I have used this list to generate defaults, and handle output from primer.#
- # #
- # Note that I have ignored some experimental and/or deprecated things. #
- # #
- # Rob Edwards 3/15/03 #
- # #
- ##############################################################################
-
- # OUTPUT TAGS
- # each tage has PRIMER_{LEFT,RIGHT,INTERNAL_OLIGO,PAIR}__
- # PRIMER_ERROR (string) describes user-correctible errors detected in the input.
- # Absent if no errors.
- # PRIMER_LEFT (start, length) The selected left primer. Start is the 0-based
- # index of the FIRST base, length its length.
- # PRIMER_RIGHT (start, length) The selected right primer. Start is the 0-based
- # index of the LAST base, length its length.
- # PRIMER_INTERNAL_OLIGO (start, length) The selected internal oligo.
- # Start is the 0-based index of start base of the primer.
- # PRIMER_PRODUCT_SIZE (integer) The product size of the PCR product.
- # PRIMER_{LEFT,RIGHT,INTERNAL_OLIGO}_EXPLAIN (string) String containing
- # statistics on the possiblities that primer3 considered in selecting a single oligo.
- # PRIMER_PAIR_EXPLAIN (string) String containing statistics on picking a
- # primer pair (plus internal oligo if requested).
- # PRIMER_PAIR_PENALTY (float) The score for this pair (lower is better).
- # PRIMER_{LEFT,RIGHT,INTERNAL_OLIGO}_PENALTY (float) The score for the primer
- # selected (lower is better).
- # PRIMER_{LEFT,RIGHT,INTERNAL_OLIGO}_SEQUENCE (string) The sequence of the
- # oligo. All seqs are 5'->3'
- # PRIMER_{LEFT,RIGHT,INTERNAL_OLIGO}_TM (float) The Tm for the selected oligo.
- # PRIMER_{LEFT,RIGHT,INTERNAL_OLIGO}_GC_PERCENT (float) The percent GC for
- # the selected oligo
- # PRIMER_{LEFT,RIGHT,INTERNAL_OLIGO}_SELF_ANY (float) Score of complimentarity
- # for the oligo
- # PRIMER_{LEFT,RIGHT,INTERNAL_OLIGO}_SELF_END (float) Score of complimentarity
- # for the oligo
- # PRIMER_PAIR_COMPL_ANY (float) Score of complimentarity for the pair
- # PRIMER_PAIR_COMPL_END (float) Score of complimentarity for the pair
- # PRIMER_WARNING (string) Warnings generated by primer (separated by semicolons);
- # PRIMER_{LEFT,RIGHT,PAIR}_MISPRIMING_SCORE (float, string) Maximum mispriming
- # score for the primer, string is the id of corresponding library sequence.
- # PRIMER_PRODUCT_TM (float) Tm of the product
- # PRIMER_PRODUCT_TM_OLIGO_TM_DIFF (float) Tm difference
- # PRIMER_PAIR_T_OPT_A (float)
- # PRIMER_INTERNAL_OLIGO_MISHYB_SCORE (float, string) Maximum mishybridization
- # score and id of the sequence in MISHYB_LIBRARY
- # PRIMER_{LEFT,RIGHT,INTERNAL_OLIGO}_MIN_SEQ_QUALITY (int) Minimum SEQUENCE
- # quality from (e.g. phred scores)
- # PRIMER_{LEFT,RIGHT}_END_STABILITY (float) Delta G of disruption of the five
- # 3' bases of the oligo.
- # PRIMER_STOP_CODON_POSITION (int) Position of the first base of the stop
- # codon, if Primer3 found one, or -1 if Primer3 did not.
-
-
- # PRIMER3 EXIT STATUS CODES
- # 0 on normal operation
- # -1 under the following conditions:
- # illegal command-line arguments.
- # unable to fflush stdout.
- # unable to open (for writing and creating) a .for, .rev
- # or .int file (probably due to a protection problem).
- # -2 on out-of-memory
- # -3 empty input
- # -4 error in a "Global" input tag (message in PRIMER_ERROR).
1;
--- 619,636 ----
'PRIMER_IO_WT_REP_SIM'=>'(float, default 0.0)',
'PRIMER_IO_WT_SEQ_QUAL'=>'(float, default 0.0)',
! 'PRIMER_IO_WT_END_QUAL'=>'(float, default 0.0)',
! 'PRIMER_INSIDE_PENALTY' => '(float, default -1.0)',
! 'PRIMER_INTERNAL_OLIGO_MAX_TEMPLATE_MISHYB' => '(decimal 9999.99, default 12.00)',
! 'PRIMER_OUTSIDE_PENALTY' => '(float, default 0.0)',
! 'PRIMER_LIB_AMBIGUITY_CODES_CONSENSUS' => '(boolean, default 1)',
! 'PRIMER_MAX_TEMPLATE_MISPRIMING' => '(decimal,9999.99, default -1.00)',
! 'PRIMER_PAIR_MAX_TEMPLATE_MISPRIMING' => '(decimal,9999.99, default -1.00)',
! 'PRIMER_PAIR_WT_TEMPLATE_MISPRIMING' => '(float, default 0.0)',
! 'PRIMER_WT_TEMPLATE_MISPRIMING' => '(float, default 0.0)'
! );
$self->{'input_options'}=\%hash;
return \%hash;
}
1;
From bugzilla-daemon at portal.open-bio.org Mon Dec 12 22:08:28 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Mon Dec 12 22:58:34 2005
Subject: [Bioperl-guts-l] [Bug 1918] Missing parameters in
Bio::Tools::Run::Primer3
Message-ID: <200512130308.jBD38SHL009417@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1918
------- Comment #3 from osborne1@optonline.net 2005-12-12 22:08 -------
Rasmus, please check the latest version in bioperl-live, it may work for you.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From tseemann at pub.open-bio.org Tue Dec 13 00:52:28 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Tue Dec 13 00:45:54 2005
Subject: [Bioperl-guts-l] bioperl-live/maintenance check_URLs.pl,NONE,1.1
Message-ID: <200512130552.jBD5qSVL032338@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/maintenance
In directory pub.open-bio.org:/tmp/cvs-serv32323
Added Files:
check_URLs.pl
Log Message:
Script to identify invalid and non-existent URLs embedded in module code and
POD. Useful for maintainers only.
--- NEW FILE: check_URLs.pl ---
#!/usr/bin/perl -w
=head1 NAME
check_URLs.pl - validate URLs located in module code and POD
=head1 SYNOPSIS
B [B<-d|--dir> path] [B<-v|--verbose>] [B<-?|-h|--help>]
=head1 DESCRIPTION
Checks code and POD of all bioperl-live modules for URLs, and validates them.
Output is a series of lines containing two fields, tab separated.
The first field is the file with the bad URL, the second is the URL itself.
The whole URL is not retrieved, only a HTTP "HEAD" request is done
to see if the URL exists on the server. The request is done using
B so the B environmental variable will be
honoured.
The URL parsing may not be perfect - although I use the B
module, I have to manually clean up some URLs which are embedded in Perl
strings to convert the matched URL to a more probable real world URL,
e.g. most URLs don't end in "'," or ")" :-)
=cut
use strict;
use Data::Dumper;
use File::Find;
use Getopt::Long;
use Regexp::Common qw(URI);
use LWP::Simple;
#
# command line options
#
my ($verbose, $dir, $help) = (0, '../Bio/', undef);
GetOptions(
'v|verbose' => \$verbose,
'd|dir:s' => \$dir,
'h|help|?' => sub{ exec('perldoc',$0); exit(0) }
);
#
# globals
#
my %URL;
#
# find all modules
#
find( \&find_modules, $dir );
#
# validate unique URLs and print fail cases to stdout
#
for my $url (keys %URL) {
print STDERR "Checking $url ... ";
my $ok = head($url);
print STDERR ($ok ? 'ok' : 'FAIL!'), "\n";
if (not $ok) {
for my $file (@{ $URL{$url} }) {
print "$file\t$url\n";
}
}
}
print STDERR Dumper(\%URL) if $verbose;
#
# this is where the action is
#
sub find_modules {
# only want files with .pm
return unless m/\.pm$/;
return unless -f $_;
my $fname = $_;
print STDERR "$fname\n" if $verbose;
# slurp in the file
my $text = do { local( @ARGV, $/ ) = $fname ; <> } ;
# keep track of URLs
while ($text =~ m/$RE{URI}{HTTP}{-keep}/g) {
my $url = $1 or next;
# remove Perl code if URL was embedded in string and other stuff
$url =~ s/(['"]\s*[,;]?|\))$//;
print STDERR "$url\n" if $verbose;
push @{ $URL{$url} } , $File::Find::name;
}
}
=head1 OPTIONS
=over 3
=item B<-d | --dir> path
Overides the default directory to recursively look for .pm file
(Default is '../Bio')
=item B<-v | --verbose>
Show the progress through files during the POD checking.
=item B<-? | -h | --help>
This help text.
=back
=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
the Bioperl mailing list. Your participation is much appreciated.
bioperl-l@bioperl.org - General discussion
http://bioperl.org/MailList.shtml - About the mailing lists
=head2 Reporting Bugs
Report bugs to the Bioperl bug tracking system to help us keep track
of the bugs and their resolution. Bug reports can be submitted via the
web:
http://bugzilla.bioperl.org/
=head1 AUTHOR - Torsten Seemann
Email tseemann-at-bioperl-dot-org
=cut
From tseemann at pub.open-bio.org Tue Dec 13 01:08:17 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Tue Dec 13 01:01:42 2005
Subject: [Bioperl-guts-l] bioperl-live/maintenance check_URLs.pl,1.1,1.2
Message-ID: <200512130608.jBD68HVL032393@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/maintenance
In directory pub.open-bio.org:/tmp/cvs-serv32376
Modified Files:
check_URLs.pl
Log Message:
Fix regexp to also clean URLs ending with ")."
Index: check_URLs.pl
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/maintenance/check_URLs.pl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** check_URLs.pl 13 Dec 2005 05:52:26 -0000 1.1
--- check_URLs.pl 13 Dec 2005 06:08:15 -0000 1.2
***************
*** 94,98 ****
my $url = $1 or next;
# remove Perl code if URL was embedded in string and other stuff
! $url =~ s/(['"]\s*[,;]?|\))$//;
print STDERR "$url\n" if $verbose;
push @{ $URL{$url} } , $File::Find::name;
--- 94,98 ----
my $url = $1 or next;
# remove Perl code if URL was embedded in string and other stuff
! $url =~ s/(['"]\s*[,;]?|\)\.?)$//;
print STDERR "$url\n" if $verbose;
push @{ $URL{$url} } , $File::Find::name;
From tseemann at pub.open-bio.org Tue Dec 13 01:35:41 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Tue Dec 13 01:29:05 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools RestrictionEnzyme.pm, 1.29,
1.30
Message-ID: <200512130635.jBD6ZfVL032456@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv32441/Bio/Tools
Modified Files:
RestrictionEnzyme.pm
Log Message:
Fixed ReBASE URL in POD.
Index: RestrictionEnzyme.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/RestrictionEnzyme.pm,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -d -r1.29 -r1.30
*** RestrictionEnzyme.pm 27 Sep 2005 16:06:03 -0000 1.29
--- RestrictionEnzyme.pm 13 Dec 2005 06:35:38 -0000 1.30
***************
*** 67,73 ****
This module is a precursor for a more full featured version that may do such
! things as download data from online databases such as REBase http://www.neb.com/rebase/.
! Thus, there is currently no functionality for obtaining data about commercial
! availability for a restriction enzyme.
At some point in the future, it may make sense to derive RestrictionEnzymes
--- 67,73 ----
This module is a precursor for a more full featured version that may do such
! things as download data from online databases such as REBase http://rebase.neb.com/ .
! Thus, there is currently no functionality for obtaining data regarding commercial
! availability of a restriction enzyme.
At some point in the future, it may make sense to derive RestrictionEnzymes
From tseemann at pub.open-bio.org Tue Dec 13 02:46:12 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Tue Dec 13 02:39:37 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools/Alignment Consed.pm, 1.37,
1.38
Message-ID: <200512130746.jBD7kCVL032581@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools/Alignment
In directory pub.open-bio.org:/tmp/cvs-serv32566/Bio/Tools/Alignment
Modified Files:
Consed.pm
Log Message:
Corrected comment URL reference to 'tcgrep'
Index: Consed.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Alignment/Consed.pm,v
retrieving revision 1.37
retrieving revision 1.38
diff -C2 -d -r1.37 -r1.38
*** Consed.pm 9 Dec 2005 12:18:00 -0000 1.37
--- Consed.pm 13 Dec 2005 07:46:10 -0000 1.38
***************
*** 223,227 ****
# this should be migrated to a pure perl implementation ala
# Tom Christiansen's 'tcgrep'
! # http://www.perl.com/language/ppt/src/grep/tcgrep
open(FILE, $self->{'filename'}) or do { $self->warn("cannot open file ".$self->{'filename'}. " for grepping"); return};
--- 223,227 ----
# this should be migrated to a pure perl implementation ala
# Tom Christiansen's 'tcgrep'
! # http://www.cpan.org/modules/by-authors/id/TOMC/scripts/tcgrep.gz
open(FILE, $self->{'filename'}) or do { $self->warn("cannot open file ".$self->{'filename'}. " for grepping"); return};
From tseemann at pub.open-bio.org Tue Dec 13 02:48:56 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Tue Dec 13 02:42:21 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools/Analysis/Protein
Scansite.pm, 1.10, 1.11
Message-ID: <200512130748.jBD7muVL032624@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools/Analysis/Protein
In directory pub.open-bio.org:/tmp/cvs-serv32609/Bio/Tools/Analysis/Protein
Modified Files:
Scansite.pm
Log Message:
Corrected URL for MIT's ScanSite web site
Index: Scansite.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Analysis/Protein/Scansite.pm,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** Scansite.pm 27 Sep 2005 13:08:47 -0000 1.10
--- Scansite.pm 13 Dec 2005 07:48:54 -0000 1.11
***************
*** 100,104 ****
=back
! See L .
This inherits Bio::SimpleAnalysisI which hopefully makes it easier to
--- 100,104 ----
=back
! See L .
This inherits Bio::SimpleAnalysisI which hopefully makes it easier to
From tseemann at pub.open-bio.org Tue Dec 13 02:54:24 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Tue Dec 13 02:47:48 2005
Subject: [Bioperl-guts-l] bioperl-live AUTHORS,1.43,1.44
Message-ID: <200512130754.jBD7sNVL032653@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live
In directory pub.open-bio.org:/tmp/cvs-serv32636
Modified Files:
AUTHORS
Log Message:
Added "Torsten Seemann" to contributing author list
Index: AUTHORS
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/AUTHORS,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** AUTHORS 19 Aug 2005 14:02:22 -0000 1.43
--- AUTHORS 13 Dec 2005 07:54:21 -0000 1.44
***************
*** 178,181 ****
--- 178,183 ----
=item * Peter Schattner
+ =item * Torsten Seemann -- Bio::Tools::Run::StandaloneBlast
+
=item * Martin Senger -- Bio::Biblio
From tseemann at pub.open-bio.org Tue Dec 13 03:00:10 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Tue Dec 13 02:53:37 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools pICalculator.pm,1.5,1.6
Message-ID: <200512130800.jBD80AVL032692@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv32672/Bio/Tools
Modified Files:
pICalculator.pm
Log Message:
Correct URL for description of EMBOSS "iep" program
Index: pICalculator.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/pICalculator.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** pICalculator.pm 8 Dec 2005 22:50:13 -0000 1.5
--- pICalculator.pm 13 Dec 2005 08:00:08 -0000 1.6
***************
*** 49,53 ****
http://fields.scripps.edu/DTASelect/20010710-pI-Algorithm.pdf
! http://www.hgmp.mrc.ac.uk/Software/EMBOSS/Apps/iep.html
http://us.expasy.org/tools/pi_tool.html
--- 49,53 ----
http://fields.scripps.edu/DTASelect/20010710-pI-Algorithm.pdf
! http://emboss.sourceforge.net/apps/iep.html
http://us.expasy.org/tools/pi_tool.html
***************
*** 124,128 ****
# pK values from the iep program from EMBOSS
! # http://www.hgmp.mrc.ac.uk/Software/EMBOSS/
my $Emboss_pK = { N_term => 8.6,
K => 10.8, # Lys
--- 124,128 ----
# pK values from the iep program from EMBOSS
! # http://emboss.sourceforge.net/apps/iep.html
my $Emboss_pK = { N_term => 8.6,
K => 10.8, # Lys
From tseemann at pub.open-bio.org Tue Dec 13 03:02:28 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Tue Dec 13 02:55:52 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools OddCodes.pm,1.16,1.17
Message-ID: <200512130802.jBD82SVL032716@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv32701/Bio/Tools
Modified Files:
OddCodes.pm
Log Message:
Corrected URL for bugzilla (removed "www." prefix)
Index: OddCodes.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/OddCodes.pm,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** OddCodes.pm 9 Dec 2005 12:18:00 -0000 1.16
--- OddCodes.pm 13 Dec 2005 08:02:26 -0000 1.17
***************
*** 108,112 ****
web:
! http://www.bugzilla.bioperl.org/
=head1 AUTHOR
--- 108,112 ----
web:
! http://bugzilla.bioperl.org/
=head1 AUTHOR
From tseemann at pub.open-bio.org Tue Dec 13 03:10:39 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Tue Dec 13 03:04:03 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools/Blast Sbjct.pm,1.21,1.22
Message-ID: <200512130810.jBD8AdVL032756@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools/Blast
In directory pub.open-bio.org:/tmp/cvs-serv32741/Bio/Tools/Blast
Modified Files:
Sbjct.pm
Log Message:
Removed dead links and cleaned up "SEE ALSO" section.
Index: Sbjct.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Blast/Sbjct.pm,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** Sbjct.pm 27 Sep 2005 13:08:47 -0000 1.21
--- Sbjct.pm 13 Dec 2005 08:10:37 -0000 1.22
***************
*** 186,201 ****
=head1 SEE ALSO
! Bio::Tools::Blast::HSP.pm - Blast HSP object.
! Bio::Tools::Blast.pm - Blast object.
! Bio::Root::Object.pm - Proposed base class for all Bioperl objects.
!
! Links:
!
! http://bio.perl.org/Core/POD/Tools/Blast/HSP.pm.html
!
! http://bio.perl.org/Projects/modules.html - Online module documentation
! http://bio.perl.org/Projects/Blast/ - Bioperl Blast Project
! http://bio.perl.org/ - Bioperl Project Homepage
!
=head1 FEEDBACK
--- 186,192 ----
=head1 SEE ALSO
! L - Blast HSP object.
! L - Blast object.
! L - Proposed base class for all Bioperl objects.
=head1 FEEDBACK
From bugzilla-daemon at portal.open-bio.org Tue Dec 13 07:15:39 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Tue Dec 13 07:58:16 2005
Subject: [Bioperl-guts-l] [Bug 1918] Missing parameters in
Bio::Tools::Run::Primer3
Message-ID: <200512131215.jBDCFdfF016843@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1918
------- Comment #4 from ron@ron.dk 2005-12-13 07:15 -------
Brian, thanks a lot. It works now (btw, I am using primer3 release 1.0). I am
really impressed of how quick this got fixed.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Tue Dec 13 08:55:29 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Tue Dec 13 08:58:25 2005
Subject: [Bioperl-guts-l] [Bug 1918] Missing parameters in
Bio::Tools::Run::Primer3
Message-ID: <200512131355.jBDDtTIv019026@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1918
osborne1@optonline.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Comment #5 from osborne1@optonline.net 2005-12-13 08:55 -------
You're welcome.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bosborne at pub.open-bio.org Tue Dec 13 09:15:15 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Tue Dec 13 09:08:43 2005
Subject: [Bioperl-guts-l] bioperl-run/Bio/Tools/Run Primer3.pm,1.11,1.12
Message-ID: <200512131415.jBDEFFVL001282@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-run/Bio/Tools/Run
In directory pub.open-bio.org:/tmp/cvs-serv1273/Bio/Tools/Run
Modified Files:
Primer3.pm
Log Message:
Mention release 1 compatibility
Index: Primer3.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-run/Bio/Tools/Run/Primer3.pm,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** Primer3.pm 13 Dec 2005 03:13:01 -0000 1.11
--- Primer3.pm 13 Dec 2005 14:15:12 -0000 1.12
***************
*** 31,34 ****
--- 31,43 ----
=head1 SYNOPSIS
+ Bio::Tools::Primer3 creates the input files needed to design primers
+ using primer3 and provides mechanisms to access data in the primer3
+ output files.
+
+ This module provides a bioperl interface to the program primer3. See
+ http://frodo.wi.mit.edu/primer3/primer3_code.html for
+ details and to download the software. This module should work for
+ primer3 release 1 but is not guaranteed to work with earlier versions.
+
# design some primers.
# the output will be put into temp.out
***************
*** 69,85 ****
print "There were ", $results->number_of_results, " primers\n";
- Bio::Tools::Primer3 creates the input files needed to design primers
- using primer3 and provides mechanisms to access data in the primer3
- output files.
-
- This module provides a bioperl interface to the program primer3. See
- http://www-genome.wi.mit.edu/genome_software/other/primer3.html for
- details and to download the software.
-
This module is based on one written by Chad Matsalla
! (bioinformatics1@dieselwurks.com)
!
! I have ripped some of his code, and added a lot of my own. I hope he is
! not mad at me!
The original version was designed to work with PrimedSeq and
--- 78,84 ----
print "There were ", $results->number_of_results, " primers\n";
This module is based on one written by Chad Matsalla
! (bioinformatics1@dieselwurks.com). I have ripped some of his code, and
! added a lot of my own. I hope he is not mad at me!
The original version was designed to work with PrimedSeq and
***************
*** 121,125 ****
Shawn Hoon shawnh-at-stanford.edu
Jason Stajich jason-at-bioperl.org
! Brian Osborne osborne1 - optonline.net
=head1 APPENDIX
--- 120,130 ----
Shawn Hoon shawnh-at-stanford.edu
Jason Stajich jason-at-bioperl.org
! Brian Osborne osborne1-at-optonline.net
!
!
! =head1 SEE ALSO
!
! L
!
=head1 APPENDIX
***************
*** 295,299 ****
}
! # we need to stop here if we know what the answer is, otherwise we can never set it and then call it later
return $self->{'program_dir'} if $self->{'program_dir'};
--- 300,305 ----
}
! # we need to stop here if we know what the answer is, otherwise we can
! # never set it and then call it later
return $self->{'program_dir'} if $self->{'program_dir'};
From bosborne at pub.open-bio.org Tue Dec 13 21:35:05 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Tue Dec 13 21:28:36 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Seq PrimedSeq.pm,1.17,1.18
Message-ID: <200512140235.jBE2Z5VL003285@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Seq
In directory pub.open-bio.org:/tmp/cvs-serv3276/Bio/Seq
Modified Files:
PrimedSeq.pm
Log Message:
POD corrections, formatting
Index: PrimedSeq.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Seq/PrimedSeq.pm,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** PrimedSeq.pm 21 Oct 2005 16:27:57 -0000 1.17
--- PrimedSeq.pm 14 Dec 2005 02:35:02 -0000 1.18
***************
*** 32,37 ****
=head1 SYNOPSIS
! The easiest way to use this is probably either, (i), get the output from
! Bio::Tools::Run::Primer3, Bio::Tools::Primer3, or Bio::Tools::PCRSimulation:
# For example, start with a fasta file
--- 32,38 ----
=head1 SYNOPSIS
! The easiest way to use this is probably either, (i), get the output
! from Bio::Tools::Run::Primer3, Bio::Tools::Primer3, or
! Bio::Tools::PCRSimulation:
# For example, start with a fasta file
***************
*** 43,49 ****
my $seqin = Bio::SeqIO->new(-file => $file);
my $seq = $seqin->next_seq;
# use primer3 to design some primers
my $primer3run = Bio::Tools::Run::Primer3->new(-seq => $seq);
! $primer3run -> run; # we'll just run it with the default parameters
# create a file to write the results to
--- 44,51 ----
my $seqin = Bio::SeqIO->new(-file => $file);
my $seq = $seqin->next_seq;
+
# use primer3 to design some primers
my $primer3run = Bio::Tools::Run::Primer3->new(-seq => $seq);
! $primer3run -> run; # run it with the default parameters
# create a file to write the results to
***************
*** 76,80 ****
# open a file for output
my $seqout = Bio::SeqIO->new(-file => ">primed_sequence.gbk",
! -format => 'genbank');
# print the sequence out
$seqout->write_seq($primedseq->annotated_sequence);
--- 78,82 ----
# open a file for output
my $seqout = Bio::SeqIO->new(-file => ">primed_sequence.gbk",
! -format => 'genbank');
# print the sequence out
$seqout->write_seq($primedseq->annotated_sequence);
***************
*** 84,96 ****
=head1 DESCRIPTION
! This module is a slightly glorified capsule containg a primed sequence. It was
! created to address the fact that a primer is more the a seqfeature and there
! need to be ways to represent the primer-sequence complex and the behaviors and
! attributes that are associated with the complex.
The primers are represented as Bio::SeqFeature::Primer objects, and should
! be instatiated first.
! The simplest way to initiate a PrimedSeq object is as follows:
my $primedseq = Bio::Seq::PrimedSeq->new(
--- 86,98 ----
=head1 DESCRIPTION
! This module is a slightly glorified capsule containing a primed sequence.
! It was created to address the fact that a primer is more than a seqfeature
! and there need to be ways to represent the primer-sequence complex and
! the behaviors and attributes that are associated with the complex.
The primers are represented as Bio::SeqFeature::Primer objects, and should
! be instantiated first.
! The simplest way to create a PrimedSeq object is as follows:
my $primedseq = Bio::Seq::PrimedSeq->new(
***************
*** 114,118 ****
bioperl-l@bioperl.org - General discussion
! http://bio.perl.org/MailList.html - About the mailing lists
=head2 Reporting Bugs
--- 116,120 ----
bioperl-l@bioperl.org - General discussion
! http://bio.perl.org/MailList.html - About the mailing lists
=head2 Reporting Bugs
***************
*** 178,188 ****
Function: A constructor for an object representing a primed sequence
Returns : A Bio::Seq::PrimedSeq object
! Args : -target_sequence => a Bio::Seq object (required)
-left_primer => a Bio::SeqFeature::Primer object (required)
-right_primer => a Bio::SeqFeature::Primer object (required)
Many other parameters can be included including all of the output
! parameters from the primer3 program. At the moment some of these
! parameters (most...) will not do anything.
=cut
--- 180,190 ----
Function: A constructor for an object representing a primed sequence
Returns : A Bio::Seq::PrimedSeq object
! Args : -seq => a Bio::Seq object (required)
-left_primer => a Bio::SeqFeature::Primer object (required)
-right_primer => a Bio::SeqFeature::Primer object (required)
Many other parameters can be included including all of the output
! parameters from the primer3 program. At the moment most of these
! parameters will not do anything.
=cut
***************
*** 190,241 ****
sub new {
! # note, I have cleaned up a lot of the script that Chad had written here,
! # and I have removed the part where he removed the - before the tags.
! # Very confusing.
! my($class,%args) = @_;
! my $self = $class->SUPER::new(%args);
# these are the absolute minimum components required to make
# a primedseq
! foreach my $key (keys %args) {
! if ($key eq "-seq" || $key eq "-SEQ") {
! $self->{target_sequence} = $args{$key};
! next;
! } else {
! my $okey;
! ($okey=$key)=~s/^-//;;
! if (($okey eq "left_primer" || $okey eq "right_primer") &&
! ref($args{$key}) && $args{$key}->isa('Bio::SeqI') ) {
! # we have been parsed a bio seq object.
! # Make it a Bio::SeqFeature::Primer object
! $self->{$okey} = Bio::SeqFeature::Primer->new(-seq=>$args{$key});
! push @{$self->{'arguments'}},$okey;
! next;
! }
! $self->{$okey} = $args{$key};
! push @{$self->{'arguments'}},$okey;
! }
! }
! # and now the insurance- make sure that things are ok
! if (!$self->{target_sequence} || !$self->{left_primer} || !$self->{right_primer} ) {
! $self->throw("You must provide a -target_sequence, -left_primer, and -right_primer to create this object.");
! }
! if (! ref($self->{target_sequence}) ||
! ! $self->{target_sequence}->isa('Bio::SeqI') ) {
! $self->throw("The target_sequence must be a Bio::Seq to create this object.");
! }
! if (! ref($self->{left_primer}) ||
! ! $self->{left_primer}->isa("Bio::SeqFeature::Primer") ||
! ! ref($self->{right_primer}) ||
! ! $self->{right_primer}->isa("Bio::SeqFeature::Primer")) {
! $self->throw("You must provide a left_primer and right_primer, both as Bio::SeqFeature::Primer to create this object.");
}
! # now we have the sequences, lets find out where they are
! $self->_place_seqs();
! return $self;
}
--- 192,244 ----
sub new {
! # note, I have cleaned up a lot of the script that Chad had written here,
! # and I have removed the part where he removed the - before the tags.
! # Very confusing.
! my($class,%args) = @_;
! my $self = $class->SUPER::new(%args);
# these are the absolute minimum components required to make
# a primedseq
! foreach my $key (keys %args) {
! if ($key =~ /^-seq/i) {
! $self->{target_sequence} = $args{$key};
! next;
! } else {
! my $okey;
! ($okey = $key) =~ s/^-//;
! if (($okey eq "left_primer" || $okey eq "right_primer") &&
! ref($args{$key}) && $args{$key}->isa('Bio::SeqI') ) {
! # We have been given a Bio::Seq object,
! # make it a Bio::SeqFeature::Primer object
! $self->{$okey} = Bio::SeqFeature::Primer->new(-seq => $args{$key});
! push @{$self->{'arguments'}},$okey;
! next;
! }
! $self->{$okey} = $args{$key};
! push @{$self->{'arguments'}},$okey;
! }
! }
! # and now the insurance - make sure that things are ok
! if (!$self->{target_sequence} || !$self->{left_primer} ||
! !$self->{right_primer} ) {
! $self->throw("You must provide a -seq, -left_primer, and -right_primer to create this object.");
! }
! if (! ref($self->{target_sequence}) ||
! ! $self->{target_sequence}->isa('Bio::SeqI') ) {
! $self->throw("The target_sequence must be a Bio::Seq to create this object.");
}
+ if (! ref($self->{left_primer}) ||
+ ! $self->{left_primer}->isa("Bio::SeqFeature::Primer") ||
+ ! ref($self->{right_primer}) ||
+ ! $self->{right_primer}->isa("Bio::SeqFeature::Primer")) {
+ $self->throw("You must provide a left_primer and right_primer, both as Bio::SeqFeature::Primer to create this object.");
+ }
! # now we have the sequences, lets find out where they are
! $self->_place_seqs();
! return $self;
}
***************
*** 244,258 ****
Title : get_primer();
! Usage : $primer = $primedseq->get_primer(l, left, left_primer, -left_primer)
! to return the left primer or
! $primer = $primedseq->get_primer(r, right, right_primer, -right_primer)
! to return the right primer or
! $primer = $primedseq->get_primer(b, both, both_primers, -both_primers)
to return the left primer, right primer array
Function: A getter for the left primer in thie PrimedSeq object.
Returns : A Bio::SeqFeature::Primer object
! Args : Either of (l, left, left_primer, -left_primer) to get left primer.
! Either of (r, right, right_primer, -right_primer) to get right primer
! Either of (b, both, both_primers, -both_primers) to get both primers.
Note that this is plural. [default]
--- 247,265 ----
Title : get_primer();
! Usage : $primer = $primedseq->get_primer(l, left, left_primer,
! -left_primer) to return the left primer or
! $primer = $primedseq->get_primer(r, right, right_primer,
! -right_primer) to return the right primer or
! $primer = $primedseq->get_primer(b, both, both_primers,
! -both_primers)
to return the left primer, right primer array
Function: A getter for the left primer in thie PrimedSeq object.
Returns : A Bio::SeqFeature::Primer object
! Args : Either of (l, left, left_primer, -left_primer) to get left
! primer.
! Either of (r, right, right_primer, -right_primer) to get
! right primer
! Either of (b, both, both_primers, -both_primers) to get
! both primers.
Note that this is plural. [default]
***************
*** 278,286 ****
Title : annotated_sequence
Usage : $annotated_sequence_object = $primedseq->annotated_sequence()
! Function: Get an annotated sequence object containg the left and right primers
Returns : An annotated sequence object or 0 if not defined.
Args :
! Note : Use this method to return a sequence object that you can write out
! (e.g. in GenBank format). See the example above.
=cut
--- 285,294 ----
Title : annotated_sequence
Usage : $annotated_sequence_object = $primedseq->annotated_sequence()
! Function: Get an annotated sequence object containg the left and right
! primers
Returns : An annotated sequence object or 0 if not defined.
Args :
! Note : Use this method to return a sequence object that you can write
! out (e.g. in GenBank format). See the example above.
=cut
***************
*** 315,319 ****
-
=head2 seq
--- 323,326 ----
***************
*** 336,341 ****
Title : _place_seqs
Usage : $self->_place_seqs()
! Function: An internal method to place the primers on the sequence and set up
! the ranges of the sequences
Returns : Nothing
Args : None
--- 343,348 ----
Title : _place_seqs
Usage : $self->_place_seqs()
! Function: An internal method to place the primers on the sequence and
! set up the ranges of the sequences
Returns : Nothing
Args : None
***************
*** 419,429 ****
Title : _set_seqfeature
Usage : $self->_set_seqfeature()
! Function: An internal method to create Bio::SeqFeature::Generic objects for
! the primed seq
Returns : Nothing
Args : None
! Note : Internal use only. Should only call this once left and right primers
! have been placed on the sequence. This will then set them as sequence
! features so hopefully we can get a nice output with write_seq.
=cut
--- 426,437 ----
Title : _set_seqfeature
Usage : $self->_set_seqfeature()
! Function: An internal method to create Bio::SeqFeature::Generic objects
! for the primed seq
Returns : Nothing
Args : None
! Note : Internal use only. Should only call this once left and right
! primers have been placed on the sequence. This will then set
! them as sequence features so hopefully we can get a nice output
! with write_seq.
=cut
***************
*** 432,438 ****
sub _set_seqfeature {
my $self = shift;
! unless ($self->{'left_primer'}->{'PRIMER_LEFT'} && $self->{'right_primer'}->{'PRIMER_RIGHT'}) {
! $self->warn("hmmm. Haven't placed primers, but trying to make annotated sequence");
! return 0;
}
my ($start, $length) = split /,/, $self->{'left_primer'}->{'PRIMER_LEFT'};
--- 440,447 ----
sub _set_seqfeature {
my $self = shift;
! unless ($self->{'left_primer'}->{'PRIMER_LEFT'} &&
! $self->{'right_primer'}->{'PRIMER_RIGHT'}) {
! $self->warn("hmmm. Haven't placed primers, but trying to make annotated sequence");
! return 0;
}
my ($start, $length) = split /,/, $self->{'left_primer'}->{'PRIMER_LEFT'};
From bugzilla-daemon at portal.open-bio.org Tue Dec 13 22:46:38 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Tue Dec 13 22:58:43 2005
Subject: [Bioperl-guts-l] [Bug 1916] script bp_pairwise_kaks.pl error
Message-ID: <200512140346.jBE3kcwd002243@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1916
------- Comment #5 from jason@open-bio.org 2005-12-13 22:46 -------
Created an attachment (id=258)
--> (http://bugzilla.open-bio.org/attachment.cgi?id=258&action=view)
yn00 3.15 result
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Tue Dec 13 22:47:12 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Tue Dec 13 22:58:47 2005
Subject: [Bioperl-guts-l] [Bug 1916] script bp_pairwise_kaks.pl error
Message-ID: <200512140347.jBE3lC9F002257@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1916
------- Comment #6 from jason@open-bio.org 2005-12-13 22:47 -------
Created an attachment (id=259)
--> (http://bugzilla.open-bio.org/attachment.cgi?id=259&action=view)
yn00 3.14 result
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Tue Dec 13 22:54:09 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Tue Dec 13 22:58:48 2005
Subject: [Bioperl-guts-l] [Bug 1911] Deep recursion when reading newick tree
Message-ID: <200512140354.jBE3s92Q002388@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1911
jason@open-bio.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |WORKSFORME
------- Comment #5 from jason@open-bio.org 2005-12-13 22:54 -------
Tis a perl warning only when you have a very deep tree, we will close this as a
bug. I'll leave it as WORKSFORME since it isn't really a bug in the code.
Although we could perhaps implements this as a non-recursive structure to avoid
the warnings, this leads to less maintainable code.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Wed Dec 14 08:24:57 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Wed Dec 14 08:58:49 2005
Subject: [Bioperl-guts-l] [Bug 1911] Deep recursion when reading newick tree
Message-ID: <200512141324.jBEDOvqC014903@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1911
------- Comment #6 from heikki@ebi.ac.uk 2005-12-14 08:24 -------
I believe one can turn of the deep recursion warning like all other ones by
setting 'no warnings' on that section of the code. Worth doing?
(According to one page, that warning is printed if recursion happens over 100
times).
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Wed Dec 14 12:28:06 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Wed Dec 14 12:58:13 2005
Subject: [Bioperl-guts-l] [Bug 1911] Deep recursion when reading newick tree
Message-ID: <200512141728.jBEHS6uR020615@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1911
------- Comment #7 from jason@open-bio.org 2005-12-14 12:28 -------
You can make the warnings go away by adding this to your script:
no warnings 'recursion';
But I think this has to be in the script not in the module...
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bosborne at pub.open-bio.org Wed Dec 14 13:53:41 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Wed Dec 14 13:46:55 2005
Subject: [Bioperl-guts-l] bioperl-run/Bio/Tools/Run Primer3.pm,1.12,1.13
Message-ID: <200512141853.jBEIrfVL006860@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-run/Bio/Tools/Run
In directory pub.open-bio.org:/tmp/cvs-serv6851/Bio/Tools/Run
Modified Files:
Primer3.pm
Log Message:
_set_variable() was in Bio/Tools/Primer3.pm but was unused by that module, actually used only by Bio/Tools/Run/Primer3.pm so move it there
Index: Primer3.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-run/Bio/Tools/Run/Primer3.pm,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** Primer3.pm 13 Dec 2005 14:15:12 -0000 1.12
--- Primer3.pm 14 Dec 2005 18:53:39 -0000 1.13
***************
*** 42,46 ****
# design some primers.
# the output will be put into temp.out
-
use Bio::Tools::Run::Primer3;
use Bio::SeqIO;
--- 42,45 ----
***************
*** 82,90 ****
added a lot of my own. I hope he is not mad at me!
- The original version was designed to work with PrimedSeq and
- Bio::SeqFeature::Primer. I will try and include those compatibilities
- too, but as of this writing neither are fully developed, so we'll see
- how far we get.
-
=head1 FEEDBACK
--- 81,84 ----
***************
*** 639,642 ****
--- 633,652 ----
}
+ =head2 _set_variable
+
+ Title : _set_variable()
+ Usage : $self->_set_variable('variable name', 'value');
+ Function: An internal function that sets a variable
+ Returns : Nothing.
+ Args : None
+ Notes : Used to set $self->{results} and $self->seqobject
+
+ =cut
+
+ sub _set_variable {
+ my ($self, $name, $value)=@_;
+ next unless ($name);
+ $self->{$name} = $value;
+ }
1;
From bosborne at pub.open-bio.org Wed Dec 14 15:09:40 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Wed Dec 14 15:02:54 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Seq PrimedSeq.pm,1.18,1.19
Message-ID: <200512142009.jBEK9eVL007037@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Seq
In directory pub.open-bio.org:/tmp/cvs-serv7028/Bio/Seq
Modified Files:
PrimedSeq.pm
Log Message:
Minor edits
Index: PrimedSeq.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Seq/PrimedSeq.pm,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** PrimedSeq.pm 14 Dec 2005 02:35:02 -0000 1.18
--- PrimedSeq.pm 14 Dec 2005 20:09:38 -0000 1.19
***************
*** 37,41 ****
# For example, start with a fasta file
-
use Bio::SeqIO;
use Bio::Tools::Run::Primer3;
--- 37,40 ----
***************
*** 145,149 ****
use strict;
- use Bio::RangeI;
use Bio::SeqFeature::Generic;
use Bio::SeqFeature::Primer;
--- 144,147 ----
***************
*** 154,159 ****
BEGIN {
! @RES=qw(); # nothing here yet, not sure what we want!
!
foreach my $attr (@RES) {$OK_FIELD{$attr}++}
}
--- 152,156 ----
BEGIN {
! @RES = qw(); # nothing here yet, not sure what we want!
foreach my $attr (@RES) {$OK_FIELD{$attr}++}
}
From bosborne at pub.open-bio.org Wed Dec 14 15:12:13 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Wed Dec 14 15:05:30 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools Primer3.pm,1.14,1.15
Message-ID: <200512142012.jBEKCDVL007084@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv7075/Bio/Tools
Modified Files:
Primer3.pm
Log Message:
Some hashes were used for temporary storage in next_primer(), removed them for simplicity
Index: Primer3.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Primer3.pm,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** Primer3.pm 21 Oct 2005 16:27:57 -0000 1.14
--- Primer3.pm 14 Dec 2005 20:12:11 -0000 1.15
***************
*** 100,103 ****
--- 100,107 ----
bioinformatics1@dieselwurks.com
+ =head1 CONTRIBUTORS
+
+ Brian Osborne osborne1 at optonline.net
+
=head1 APPENDIX
***************
*** 111,115 ****
package Bio::Tools::Primer3;
-
use vars qw(@ISA);
use strict;
--- 115,118 ----
***************
*** 117,121 ****
use Bio::Seq::PrimedSeq;
use Bio::SeqFeature::Primer;
- use Bio::Seq::SeqFactory;
use Bio::Root::Root;
use Bio::Root::IO;
--- 120,123 ----
***************
*** 202,219 ****
sub all_results {
! my ($self, @results) = @_;
! my %hash;
! if (@results) {
! # we only want a few things
! foreach my $result (@results) {$hash{$result}=$self->{'results'}->$result}
! }
! else {
! foreach my $result (keys %{$self->{'results'}}) {
! $hash{$result}=$self->{'results'}->{$result};
! }
! }
! return \%hash;
! }
--- 204,220 ----
sub all_results {
! my ($self, @results) = @_;
! my %hash;
! if (@results) {
! # we only want a few things
! foreach my $result (@results) {$hash{$result}=$self->{'results'}->$result}
! } else {
! foreach my $result (keys %{$self->{'results'}}) {
! $hash{$result}=$self->{'results'}->{$result};
! }
! }
! return \%hash;
! }
***************
*** 230,239 ****
sub primer_results {
! my ($self, $toget) = @_;
! if ($toget > $self->{'maximum_primers_returned'}) {
! $self->warn("Didn't get any results for $toget");
! return 0;
! }
! else {return \%{$self->{'results_by_number'}->{$toget}}}
}
--- 231,242 ----
sub primer_results {
! my ($self, $toget) = @_;
! if ($toget > $self->{'maximum_primers_returned'}) {
! $self->warn("Didn't get any results for $toget");
! return 0;
! }
! else {
! return \%{$self->{'results_by_number'}->{$toget}};
! }
}
***************
*** 250,296 ****
sub _readfile {
! my ($self, $file) = @_;
! $self->_initialize_io(-file=>$file);
! my $line;
! my $id='primer 3 parsed results'; # hopefully we'll get this, but we can set a temp id in case not.
! while (defined($line=$self->_readline()) ) {
! chomp $line;
! next unless ($line);
! my ($return, $value) = split /=/, $line;
! if (uc($return) eq "SEQUENCE") {
! $self->{seqobject}=Bio::Seq->new(-seq=>$value, $id=>$id);
! next;
! }
! if (uc($return) eq "PRIMER_SEQUENCE_ID") {
! if ($self->{seqobject}) {$self->{seqobject}->id($value)} else {$id=$value}
! }
!
! $self->{'results'}->{$return} = $value;
! }
!
! # convert the results to individual results
! $self->_separate();
! }
!
! =head2 primer_stream
!
! Title : primer_stream()
! Usage : while (my $primed_seq = $primer3->primer_stream()) {
! Function: Retrieve the primer/sequences one at a time
! Returns : Returns a Bio::Seq::PrimedSeq feature, one at a time
! Args : None
! Notes : Deprecated. I should just delete this, but my test scripts will
! all break. This will be removed before it goes really live, and is
! just a link to next_primer
! =cut
! sub primer_stream {
! my $self=shift;
! my $primedseq = $self->next_primer;
! return $primedseq;
}
-
=head2 next_primer
--- 253,279 ----
sub _readfile {
! my ($self, $file) = @_;
! $self->_initialize_io(-file=>$file);
! my $line;
! my $id='primer 3 parsed results'; # hopefully we'll get this, but we can set a temp id in case not.
! while (defined($line=$self->_readline()) ) {
! chomp $line;
! next unless ($line);
! my ($return, $value) = split /=/, $line;
! if (uc($return) eq "SEQUENCE") {
! $self->{seqobject}=Bio::Seq->new(-seq=>$value, $id=>$id);
! next;
! }
! if (uc($return) eq "PRIMER_SEQUENCE_ID") {
! if ($self->{seqobject}) {$self->{seqobject}->id($value)} else {$id=$value}
! }
! $self->{'results'}->{$return} = $value;
! }
! # convert the results to individual results
! $self->_separate();
}
=head2 next_primer
***************
*** 305,309 ****
=cut
!
sub next_primer {
my $self = shift;
--- 288,292 ----
=cut
!
sub next_primer {
my $self = shift;
***************
*** 314,321 ****
# at the moment we can do this as a stream, I guess.
! if (! $self->number_of_results) {
! $self->warn("No primers were found for: ".$self->{'seqobject'}->{'primary_id'});
! #return;
! }
my $next = 0;
--- 297,302 ----
# at the moment we can do this as a stream, I guess.
! $self->warn("No primers were found for: ".$self->{'seqobject'}->{'primary_id'})
! if (! $self->number_of_results);
my $next = 0;
***************
*** 335,368 ****
-sequence => ${$results}{'PRIMER_RIGHT_SEQUENCE'});
! my %product_hash; my %primer_left_hash; my %primer_right_hash;
! # now we are going to add the remaining primer3 results to the appropriate place
! # (either primer or primed seq)
! foreach my $key (keys %$results) {
! next if ($key eq 'PRIMER_LEFT_SEQUENCE' || $key eq 'PRIMER_RIGHT_SEQUENCE');
if ($key =~ /PRIMER_LEFT/i) {
! $primer_left_hash{$key} = $$results{$key};
} elsif ($key =~ /PRIMER_RIGHT/i) {
! $primer_right_hash{$key} = $$results{$key};
! } else {
! $product_hash{$key} = $$results{$key};
! }
! }
! #$left_seq->add_tag_value(%primer_left_hash);
! #$right_seq->add_tag_value(%primer_right_hash);
! #$primed_seq->add_tag_value(%product_hash);
!
! while (my ($k, $v) = each %primer_left_hash) {
! $left_seq->add_tag_value($k, $v);
! }
! while (my ($k, $v) = each %primer_right_hash) {
! $right_seq->add_tag_value($k, $v);
}
! # wait till tags have been added to each of the primer sequences
# before creating the primed seq
my $primed_seq = Bio::Seq::PrimedSeq->new(-target_sequence => $self->{'seqobject'},
-left_primer => $left_seq,
-right_primer => $right_seq);
! while (my ($k, $v) = each %product_hash) {
! $primed_seq->add_tag_value($k, $v);
}
--- 316,339 ----
-sequence => ${$results}{'PRIMER_RIGHT_SEQUENCE'});
! for my $key (%$results) {
! # skip the data on the primed sequence
! next if ($key =~ /PRIMER_(LEFT|RIGHT)_SEQUENCE/i );
if ($key =~ /PRIMER_LEFT/i) {
! $left_seq->add_tag_value($key, $$results{$key});
} elsif ($key =~ /PRIMER_RIGHT/i) {
! $right_seq->add_tag_value($key, $$results{$key});
! }
}
!
! # wait until tags have been added to each of the primer sequences
# before creating the primed seq
my $primed_seq = Bio::Seq::PrimedSeq->new(-target_sequence => $self->{'seqobject'},
-left_primer => $left_seq,
-right_primer => $right_seq);
!
! for my $key (%$results) {
! # skip the data on primers
! next if ($key =~ /PRIMER_(LEFT|RIGHT)/i );
! $primed_seq->add_tag_value($key, $$results{$key});
}
***************
*** 371,391 ****
}
! =head2 _set_variable
! Title : _set_variable()
! Usage : $self->_set_variable('variable name', 'value');
! Function: An internal function that sets a variable
! Returns : Nothing.
Args : None
! Notes : Mainly used by Bio::Tools::Run::Primer3 to set
! $self->{results} and $self->seqobject
=cut
! sub _set_variable {
! my ($self, $name, $value)=@_;
! next unless ($name);
! $self->{$name}=$value;
! }
=head2 _separate
--- 342,361 ----
}
! =head2 primer_stream
! Title : primer_stream()
! Usage : while (my $primed_seq = $primer3->primer_stream()) {
! Function: Retrieve the primer/sequences one at a time
! Returns : Returns a Bio::Seq::PrimedSeq feature, one at a time
Args : None
! Notes : Deprecated, just a link to next_primer
=cut
! sub primer_stream {
! my $self=shift;
! my $primedseq = $self->next_primer;
! return $primedseq;
! }
=head2 _separate
***************
*** 402,433 ****
sub _separate {
! my $self=shift;
! my %results; # the results that we find
! my $maxlocation=-1; # the maximum number of primers returned
! foreach my $key (keys %{$self->{'results'}}) {
! next if (${$self->{'input_options'}}{$key}); # don't process it if it is an input key
! my $location; # the number of the primer pair
! # names will have values like
! # PRIMER_RIGHT_SEQUENCE, PRIMER_RIGHT_2_SEQUENCE, PRIMER_PRODUCT_SIZE, and PRIMER_PRODUCT_SIZE_3
! # hence we need to find and remove the number
! my $tempkey=$key;
! if ($tempkey =~ s/_(\d+)//) {
! $location=$1;
! if ($location > $maxlocation) {$maxlocation = $location}
! } elsif ( $tempkey =~ /PRIMER_(RIGHT|LEFT)/ ) { # first primers reported without a number, therefore set $location to 0
! $location = 0;
! if ($location > $maxlocation) {$maxlocation = $location}
! } else {
! $location = 0;
! }
! #print "$key\t$tempkey\n" if $location==0;
! # we will hash the results by number, and then by name
! ${$results{$location}}{$tempkey}=${$self->{'results'}}{$key};
! }
! $self->{'results_by_number'}=\%results;
! $self->{'maximum_primers_returned'}=$maxlocation;
}
-
1;
--- 372,405 ----
sub _separate {
! my $self = shift;
! my %results; # the results that we find
! my $maxlocation = -1; # the maximum number of primers returned
! foreach my $key (keys %{$self->{'results'}}) {
! next if (${$self->{'input_options'}}{$key}); # don't process it if it is an input key
! my $location; # the number of the primer pair
! # names will have values like
! # PRIMER_RIGHT_SEQUENCE, PRIMER_RIGHT_2_SEQUENCE, PRIMER_PRODUCT_SIZE, and
! # PRIMER_PRODUCT_SIZE_3 hence we need to find and remove the number
! my $tempkey=$key;
! if ($tempkey =~ s/_(\d+)//) {
! $location=$1;
! if ($location > $maxlocation) {$maxlocation = $location}
! } elsif ( $tempkey =~ /PRIMER_(RIGHT|LEFT)/ ) {
! # first primers reported without a number, therefore set $location to 0
! $location = 0;
! if ($location > $maxlocation) {$maxlocation = $location}
! } else {
! $location = 0;
! }
! # we will hash the results by number, and then by name
! ${$results{$location}}{$tempkey}=${$self->{'results'}}{$key};
! }
! $self->{'results_by_number'}=\%results;
! $self->{'maximum_primers_returned'}=$maxlocation;
}
1;
+
+ __END__
+
From bosborne at pub.open-bio.org Wed Dec 14 16:08:47 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Wed Dec 14 16:02:01 2005
Subject: [Bioperl-guts-l] bioperl-run/Bio/Tools/Run Primer3.pm,1.13,1.14
Message-ID: <200512142108.jBEL8lVL007252@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-run/Bio/Tools/Run
In directory pub.open-bio.org:/tmp/cvs-serv7243/Bio/Tools/Run
Modified Files:
Primer3.pm
Log Message:
I was wrong, better testing shows that _set_variable is better kept here
Index: Primer3.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-run/Bio/Tools/Run/Primer3.pm,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** Primer3.pm 14 Dec 2005 18:53:39 -0000 1.13
--- Primer3.pm 14 Dec 2005 21:08:45 -0000 1.14
***************
*** 633,652 ****
}
- =head2 _set_variable
-
- Title : _set_variable()
- Usage : $self->_set_variable('variable name', 'value');
- Function: An internal function that sets a variable
- Returns : Nothing.
- Args : None
- Notes : Used to set $self->{results} and $self->seqobject
-
- =cut
-
- sub _set_variable {
- my ($self, $name, $value)=@_;
- next unless ($name);
- $self->{$name} = $value;
- }
-
1;
--- 633,635 ----
From tseemann at pub.open-bio.org Wed Dec 14 17:08:43 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Wed Dec 14 17:01:57 2005
Subject: [Bioperl-guts-l] bioperl-live/t CodonTable.t,1.18,1.19
Message-ID: <200512142208.jBEM8hVL007526@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/t
In directory pub.open-bio.org:/tmp/cvs-serv7502/t
Modified Files:
CodonTable.t
Log Message:
Added Bio::Tools::CodonTable->tables() method and corresponding tests.
Index: CodonTable.t
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/t/CodonTable.t,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** CodonTable.t 2 Oct 2004 14:16:24 -0000 1.18
--- CodonTable.t 14 Dec 2005 22:08:41 -0000 1.19
***************
*** 18,22 ****
use Test;
! plan tests => 44;
}
use Bio::Tools::CodonTable;
--- 18,22 ----
use Test;
! plan tests => 48;
}
use Bio::Tools::CodonTable;
***************
*** 34,44 ****
ok $myCodonTable->id(), 1;
-
# change codon table
$myCodonTable->id(10);
ok $myCodonTable->id, 10;
-
ok $myCodonTable->name(), 'Euplotid Nuclear';
# translate codons
$myCodonTable->id(1);
--- 34,52 ----
ok $myCodonTable->id(), 1;
# change codon table
$myCodonTable->id(10);
ok $myCodonTable->id, 10;
ok $myCodonTable->name(), 'Euplotid Nuclear';
+ # enumerate tables as object method
+ my $table = $myCodonTable->tables();
+ ok (keys %{$table} >= 17); # currently 17 known tables
+ ok $table->{11}, q{"Bacterial"};
+
+ # enumerate tables as class method
+ $table = Bio::Tools::CodonTable->tables;
+ ok (values %{$table} >= 17); # currently 17 known tables
+ ok $table->{23}, 'Thraustochytrium Mitochondrial';
+
# translate codons
$myCodonTable->id(1);
***************
*** 134,138 ****
ok $myCodonTable->is_start_codon('ATG');
! ok( $myCodonTable->is_start_codon('GGH'), 0);
ok $myCodonTable->is_start_codon('HTG');
ok $myCodonTable->is_start_codon('CCC'), 0;
--- 142,146 ----
ok $myCodonTable->is_start_codon('ATG');
! ok $myCodonTable->is_start_codon('GGH'), 0;
ok $myCodonTable->is_start_codon('HTG');
ok $myCodonTable->is_start_codon('CCC'), 0;
***************
*** 147,151 ****
ok $myCodonTable->is_unknown_codon('jg');
ok $myCodonTable->is_unknown_codon('UAG'), 0;
-
ok $myCodonTable->translate_strict('ATG'), 'M';
--- 155,158 ----
From tseemann at pub.open-bio.org Wed Dec 14 17:08:43 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Wed Dec 14 17:01:58 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools CodonTable.pm,1.32,1.33
Message-ID: <200512142208.jBEM8hVL007524@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv7502/Bio/Tools
Modified Files:
CodonTable.pm
Log Message:
Added Bio::Tools::CodonTable->tables() method and corresponding tests.
Index: CodonTable.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/CodonTable.pm,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** CodonTable.pm 17 Nov 2005 09:54:49 -0000 1.32
--- CodonTable.pm 14 Dec 2005 22:08:40 -0000 1.33
***************
*** 26,30 ****
# defaults to ID 1 "Standard"
$myCodonTable = Bio::Tools::CodonTable->new();
! $myCodonTable2 = Bio::Tools::CodonTable -> new ( -id => 3 );
# change codon table
--- 26,30 ----
# defaults to ID 1 "Standard"
$myCodonTable = Bio::Tools::CodonTable->new();
! $myCodonTable2 = Bio::Tools::CodonTable->new( -id => 3 );
# change codon table
***************
*** 35,38 ****
--- 35,44 ----
"is:", $myCodonTable->name(), "\n");
+ # print possible codon tables
+ $tables = Bio::Tools::CodonTable->tables;
+ while ( ($id,$name) = each %{$tables} ) {
+ print "$id = $name\n";
+ }
+
# translate a codon
$aa = $myCodonTable->translate('ACU');
***************
*** 337,340 ****
--- 343,369 ----
}
+ =head2 tables
+
+ Title : tables
+ Usage : $obj->tables() or Bio::Tools::CodonTable->tables()
+ Function: returns a hash reference where each key is a valid codon
+ table id() number, and each value is the corresponding
+ codon table name() string
+ Example :
+ Returns : A hashref
+ Args : None
+
+
+ =cut
+
+ sub tables{
+ my %tables;
+ for my $id (1 .. @NAMES) {
+ my $name = $NAMES[$id-1];
+ $tables{$id} = $name if $name;
+ }
+ return \%tables;
+ }
+
=head2 translate
From skirov at pub.open-bio.org Wed Dec 14 19:26:00 2005
From: skirov at pub.open-bio.org (Stefan Kirov)
Date: Wed Dec 14 19:19:13 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/SeqIO entrezgene.pm,1.15,1.16
Message-ID: <200512150026.jBF0Q0VL007858@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/SeqIO
In directory pub.open-bio.org:/tmp/cvs-serv7843/Bio/SeqIO
Modified Files:
entrezgene.pm
Log Message:
capture locus synonym data
was missing annotation when not an array for gene->db
Index: entrezgene.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/entrezgene.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** entrezgene.pm 14 Sep 2005 19:45:28 -0000 1.15
--- entrezgene.pm 15 Dec 2005 00:25:58 -0000 1.16
***************
*** 216,220 ****
}
else {
! $self->_add_to_ann($xval->{gene}->{syn},'ALIAS_SYMBOL');
}
--- 216,220 ----
}
else {
! $self->_add_to_ann($xval->{gene}->{syn},'ALIAS_SYMBOL') if ($xval->{gene}->{syn});
}
***************
*** 240,245 ****
}
else {
! $self->_add_to_ann($xval->{gene}->{db}->{tag}->{id},$xval->{gene}->{db}->{db});
}
delete $xval->{gene}->{db} unless ($debug eq 'off');
}
--- 240,248 ----
}
else {
! my $id=($xval->{gene}->{db}->{tag}->{id})?
! $xval->{gene}->{db}->{tag}->{id}:$xval->{gene}->{db}->{tag}->{str};
! $self->_add_to_ann($id,$xval->{gene}->{db}->{db});
}
+ $self->_add_to_ann($xval->{gene}->{'locus-tag'},'LOCUS_SYNONYM');
delete $xval->{gene}->{db} unless ($debug eq 'off');
}
From bosborne at pub.open-bio.org Wed Dec 14 21:41:08 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Wed Dec 14 21:34:33 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tools Primer3.pm,1.15,1.16
Message-ID: <200512150241.jBF2f8VL008177@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools
In directory pub.open-bio.org:/tmp/cvs-serv8158/Bio/Tools
Modified Files:
Primer3.pm
Log Message:
Simplify, remove extra variables. Add display_id to Primer feature. POD edits.
Index: Primer3.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Primer3.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** Primer3.pm 14 Dec 2005 20:12:11 -0000 1.15
--- Primer3.pm 15 Dec 2005 02:41:05 -0000 1.16
***************
*** 280,284 ****
Title : next_primer()
Usage : while (my $primed_seq = $primer3->next_primer()) {
! Function: Retrieve the primer/sequences one at a time
Returns : Returns a Bio::Seq::PrimedSeq feature, one at a time
Args : None
--- 280,284 ----
Title : next_primer()
Usage : while (my $primed_seq = $primer3->next_primer()) {
! Function: Retrieve the primed sequence and a primer pair, one at a time
Returns : Returns a Bio::Seq::PrimedSeq feature, one at a time
Args : None
***************
*** 288,292 ****
=cut
-
sub next_primer {
my $self = shift;
--- 288,291 ----
***************
*** 300,307 ****
if (! $self->number_of_results);
! my $next = 0;
! $next = $self->{'next_to_return'} if ($self->{'next_to_return'});
! return if ($next > $self->{'maximum_primers_returned'});
! my $results = $self->primer_results($next);
$self->throw("No left primer sequence") unless (${$results}{'PRIMER_LEFT_SEQUENCE'});
--- 299,305 ----
if (! $self->number_of_results);
! $self->{'next_to_return'} = 0 unless ($self->{'next_to_return'});
! return if ($self->{'next_to_return'} >= $self->{'maximum_primers_returned'});
! my $results = $self->primer_results($self->{'next_to_return'});
$self->throw("No left primer sequence") unless (${$results}{'PRIMER_LEFT_SEQUENCE'});
***************
*** 311,321 ****
my $left_seq = Bio::SeqFeature::Primer->new(
-primer_sequence_id => "left_primer",
! -sequence => ${$results}{'PRIMER_LEFT_SEQUENCE'});
my $right_seq = Bio::SeqFeature::Primer->new(
-primer_sequence_id => "right_primer",
! -sequence => ${$results}{'PRIMER_RIGHT_SEQUENCE'});
!
for my $key (%$results) {
! # skip the data on the primed sequence
next if ($key =~ /PRIMER_(LEFT|RIGHT)_SEQUENCE/i );
if ($key =~ /PRIMER_LEFT/i) {
--- 309,322 ----
my $left_seq = Bio::SeqFeature::Primer->new(
-primer_sequence_id => "left_primer",
! -sequence => ${$results}{'PRIMER_LEFT_SEQUENCE'},
! -display_id => ($self->{'next_to_return'} + 1) );
my $right_seq = Bio::SeqFeature::Primer->new(
-primer_sequence_id => "right_primer",
! -sequence => ${$results}{'PRIMER_RIGHT_SEQUENCE'},
! -display_id => ($self->{'next_to_return'} + 1) );
!
! # add data to the Primer objects
for my $key (%$results) {
! # skip the primer sequence data, already added above
next if ($key =~ /PRIMER_(LEFT|RIGHT)_SEQUENCE/i );
if ($key =~ /PRIMER_LEFT/i) {
***************
*** 326,345 ****
}
- # wait until tags have been added to each of the primer sequences
- # before creating the primed seq
my $primed_seq = Bio::Seq::PrimedSeq->new(-target_sequence => $self->{'seqobject'},
-left_primer => $left_seq,
-right_primer => $right_seq);
for my $key (%$results) {
- # skip the data on primers
next if ($key =~ /PRIMER_(LEFT|RIGHT)/i );
$primed_seq->add_tag_value($key, $$results{$key});
}
! $self->{'next_to_return'} = $next + 1;
return $primed_seq;
}
=head2 primer_stream
--- 327,345 ----
}
my $primed_seq = Bio::Seq::PrimedSeq->new(-target_sequence => $self->{'seqobject'},
-left_primer => $left_seq,
-right_primer => $right_seq);
+ # add data to the the PrimedSeq object that's not specific to the Primers
for my $key (%$results) {
next if ($key =~ /PRIMER_(LEFT|RIGHT)/i );
$primed_seq->add_tag_value($key, $$results{$key});
}
! $self->{'next_to_return'}++;
return $primed_seq;
}
+
=head2 primer_stream
***************
*** 398,401 ****
--- 398,418 ----
$self->{'results_by_number'}=\%results;
$self->{'maximum_primers_returned'}=$maxlocation;
+ }
+
+ =head2 _set_variable
+
+ Title : _set_variable()
+ Usage : $self->_set_variable('variable name', 'value');
+ Function: An internal function that sets a variable
+ Returns : Nothing.
+ Args : None
+ Notes : Used to set $self->{results} and $self->seqobject
+
+ =cut
+
+ sub _set_variable {
+ my ($self, $name, $value)=@_;
+ next unless ($name);
+ $self->{$name} = $value;
}
From bosborne at pub.open-bio.org Wed Dec 14 22:10:10 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Wed Dec 14 22:03:28 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Seq PrimedSeq.pm,1.19,1.20
Message-ID: <200512150310.jBF3AAVL008244@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Seq
In directory pub.open-bio.org:/tmp/cvs-serv8235/Bio/Seq
Modified Files:
PrimedSeq.pm
Log Message:
POD and formatting
Index: PrimedSeq.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Seq/PrimedSeq.pm,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** PrimedSeq.pm 14 Dec 2005 20:09:38 -0000 1.19
--- PrimedSeq.pm 15 Dec 2005 03:10:07 -0000 1.20
***************
*** 28,32 ****
Bio::Seq::PrimedSeq - A representation of a sequence and two primers
! flanking a target region for amplification
=head1 SYNOPSIS
--- 28,32 ----
Bio::Seq::PrimedSeq - A representation of a sequence and two primers
! flanking a target region
=head1 SYNOPSIS
***************
*** 93,102 ****
be instantiated first.
! The simplest way to create a PrimedSeq object is as follows:
my $primedseq = Bio::Seq::PrimedSeq->new(
! -seq => Bio::Seq object,
! -left_primer => Bio::SeqFeature::Primer object,
! -right_primer => Bio::SeqFeature::Primer object,
);
--- 93,102 ----
be instantiated first.
! A simple way to create a PrimedSeq object is as follows:
my $primedseq = Bio::Seq::PrimedSeq->new(
! -seq => $seq, # Bio::Seq object,
! -left_primer => $left, # Bio::SeqFeature::Primer object,
! -right_primer => $right # Bio::SeqFeature::Primer object,
);
***************
*** 349,420 ****
sub _place_seqs {
! my $self = shift;
! # we are going to pull out the target sequence, and then the primer sequences
! my $target_sequence = $self->{'target_sequence'}->seq();
! # left primer
! my $left_seq = $self->{'left_primer'}->seq()->seq();
! my $rprc = $self->{'right_primer'}->seq()->revcom();
! my $right_seq=$rprc->seq();
!
! # now just change the case, because we keep getting screwed on this
! $target_sequence=uc($target_sequence);
! $left_seq=uc($left_seq);
! $right_seq=uc($right_seq);
! unless ($target_sequence =~ /(.*)$left_seq(.*)$right_seq(.*)/) {
! unless ($target_sequence =~ /$left_seq/) {$self->throw("Can't place left sequence on target!")}
! unless ($target_sequence =~ /$right_seq/) {$self->throw("Can't place right sequence on target!")}
}
! my ($before, $middle, $after) = ($1, $2, $3); # note didn't use $`, $', and $& because they are bad. Just use length instead.
! # cool now we can figure out lengths and what not.
! # we'll figure out the position and compare it to known positions (e.g. from primer3)
!
! my $left_location = length($before). ",". length($left_seq);
! my $right_location = (length($target_sequence)-length($after)-1).",".length($right_seq);
! my $amplicon_size = length($left_seq)+length($middle)+length($right_seq);
! if (exists $self->{'left_primer'}->{'PRIMER_LEFT'}) {
! # this is the left primer from primer3 input
! # just check to make sure it is right
! unless ($self->{'left_primer'}->{'PRIMER_LEFT'} eq $left_location) {
! $self->warn("Note got |".$self->{'left_primer'}->{'PRIMER_LEFT'}."| from primer3 and |$left_location| for the left primer. You should email redwards\@utmem.edu about this.");
! }
! }
! else {
! $self->{'left_primer'}->{'PRIMER_LEFT'}=$left_location;
! }
! if (exists $self->{'right_primer'}->{'PRIMER_RIGHT'}) {
! # this is the right primer from primer3 input
! # just check to make sure it is right
! unless ($self->{'right_primer'}->{'PRIMER_RIGHT'} eq $right_location) {
! $self->warn("Note got |".$self->{'right_primer'}->{'PRIMER_RIGHT'}."| from primer3 and |$right_location| for the right primer. You should email redwards\@utmem.edu about this.");
! }
! }
! else {
! $self->{'right_primer'}->{'PRIMER_RIGHT'}=$right_location;
! }
! if (exists $self->{'PRIMER_PRODUCT_SIZE'}) {
! # this is the product size from primer3 input
! # just check to make sure it is right
! unless ($self->{'PRIMER_PRODUCT_SIZE'} eq $amplicon_size) {
! $self->warn("Note got |".$self->{'PRIMER_PRODUCT_SIZE'}."| from primer3 and |$amplicon_size| for the size. You should email redwards\@utmem.edu about this.");
! }
! }
! else {
! $self->{'PRIMER_PRODUCT_SIZE'} = $amplicon_size;
! }
! $self->{'amplicon_sequence'}= lc($left_seq).uc($middle).lc($right_seq); # I put this in a different case, but I think the seqobj may revert this
! $self->_set_seqfeature;
}
--- 349,419 ----
sub _place_seqs {
! my $self = shift;
! # we are going to pull out the target sequence, and then the primer sequences
! my $target_sequence = $self->{'target_sequence'}->seq();
! # left primer
! my $left_seq = $self->{'left_primer'}->seq()->seq();
! my $rprc = $self->{'right_primer'}->seq()->revcom();
! my $right_seq=$rprc->seq();
! # now just change the case, because we keep getting screwed on this
! $target_sequence=uc($target_sequence);
! $left_seq=uc($left_seq);
! $right_seq=uc($right_seq);
! unless ($target_sequence =~ /(.*)$left_seq(.*)$right_seq(.*)/) {
! unless ($target_sequence =~ /$left_seq/) {$self->throw("Can't place left sequence on target!")}
! unless ($target_sequence =~ /$right_seq/) {$self->throw("Can't place right sequence on target!")}
}
! my ($before, $middle, $after) = ($1, $2, $3); # note didn't use $`, $', and $& because they are bad. Just use length instead.
! # cool now we can figure out lengths and what not.
! # we'll figure out the position and compare it to known positions (e.g. from primer3)
! my $left_location = length($before). ",". length($left_seq);
! my $right_location = (length($target_sequence)-length($after)-1).",".length($right_seq);
! my $amplicon_size = length($left_seq)+length($middle)+length($right_seq);
! if (exists $self->{'left_primer'}->{'PRIMER_LEFT'}) {
! # this is the left primer from primer3 input
! # just check to make sure it is right
! unless ($self->{'left_primer'}->{'PRIMER_LEFT'} eq $left_location) {
! $self->warn("Note got |".$self->{'left_primer'}->{'PRIMER_LEFT'}."| from primer3 and |$left_location| for the left primer. You should email redwards\@utmem.edu about this.");
! }
! }
! else {
! $self->{'left_primer'}->{'PRIMER_LEFT'}=$left_location;
! }
! if (exists $self->{'right_primer'}->{'PRIMER_RIGHT'}) {
! # this is the right primer from primer3 input
! # just check to make sure it is right
! unless ($self->{'right_primer'}->{'PRIMER_RIGHT'} eq $right_location) {
! $self->warn("Note got |".$self->{'right_primer'}->{'PRIMER_RIGHT'}."| from primer3 and |$right_location| for the right primer. You should email redwards\@utmem.edu about this.");
! }
! }
! else {
! $self->{'right_primer'}->{'PRIMER_RIGHT'}=$right_location;
! }
! if (exists $self->{'PRIMER_PRODUCT_SIZE'}) {
! # this is the product size from primer3 input
! # just check to make sure it is right
! unless ($self->{'PRIMER_PRODUCT_SIZE'} eq $amplicon_size) {
! $self->warn("Note got |".$self->{'PRIMER_PRODUCT_SIZE'}."| from primer3 and |$amplicon_size| for the size. You should email redwards\@utmem.edu about this.");
! }
! }
! else {
! $self->{'PRIMER_PRODUCT_SIZE'} = $amplicon_size;
! }
! $self->{'amplicon_sequence'}= lc($left_seq).uc($middle).lc($right_seq); # I put this in a different case, but I think the seqobj may revert this
!
! $self->_set_seqfeature;
}
***************
*** 436,467 ****
sub _set_seqfeature {
! my $self = shift;
! unless ($self->{'left_primer'}->{'PRIMER_LEFT'} &&
! $self->{'right_primer'}->{'PRIMER_RIGHT'}) {
! $self->warn("hmmm. Haven't placed primers, but trying to make annotated sequence");
! return 0;
! }
! my ($start, $length) = split /,/, $self->{'left_primer'}->{'PRIMER_LEFT'};
! my $tm=$self->{'left_primer'}->{'PRIMER_LEFT_TM'} || $self->{'left_primer'}->Tm || 0;
! my $seqfeatureL=new Bio::SeqFeature::Generic(
! -start => $start+1, -end => $start+$length, -strand => 1,
! -primary_tag => 'left_primer', -source => 'primer3',
! -tag => {new => 1, author => 'Bio::Seq::PrimedSeq', Tm => $tm}
! );
! ($start, $length) = split /,/, $self->{'right_primer'}->{'PRIMER_RIGHT'};
! $tm=$self->{'right_primer'}->{'PRIMER_RIGHT_TM'} || $self->{'right_primer'}->Tm || 0;
! my $seqfeatureR=new Bio::SeqFeature::Generic(
-start => $start-$length+2, -end => $start+1, -strand => -1,
-primary_tag => 'right_primer', -source => 'primer3',
-tag => {new => 1, author => 'Bio::Seq::PrimedSeq', Tm => $tm}
! );
! # now add the sequences to a annotated sequence
! $self->{annotated_sequence} = $self->{target_sequence};
! $self->{annotated_sequence}->add_SeqFeature($seqfeatureL);
! $self->{annotated_sequence}->add_SeqFeature($seqfeatureR);
}
--- 435,466 ----
sub _set_seqfeature {
! my $self = shift;
! unless ($self->{'left_primer'}->{'PRIMER_LEFT'} &&
! $self->{'right_primer'}->{'PRIMER_RIGHT'}) {
! $self->warn("hmmm. Haven't placed primers, but trying to make annotated sequence");
! return 0;
! }
! my ($start, $length) = split /,/, $self->{'left_primer'}->{'PRIMER_LEFT'};
! my $tm=$self->{'left_primer'}->{'PRIMER_LEFT_TM'} || $self->{'left_primer'}->Tm || 0;
! my $seqfeatureL=new Bio::SeqFeature::Generic(
! -start => $start+1, -end => $start+$length, -strand => 1,
! -primary_tag => 'left_primer', -source => 'primer3',
! -tag => {new => 1, author => 'Bio::Seq::PrimedSeq', Tm => $tm}
! );
! ($start, $length) = split /,/, $self->{'right_primer'}->{'PRIMER_RIGHT'};
! $tm=$self->{'right_primer'}->{'PRIMER_RIGHT_TM'} || $self->{'right_primer'}->Tm || 0;
! my $seqfeatureR=new Bio::SeqFeature::Generic(
-start => $start-$length+2, -end => $start+1, -strand => -1,
-primary_tag => 'right_primer', -source => 'primer3',
-tag => {new => 1, author => 'Bio::Seq::PrimedSeq', Tm => $tm}
! );
! # now add the sequences to a annotated sequence
! $self->{annotated_sequence} = $self->{target_sequence};
! $self->{annotated_sequence}->add_SeqFeature($seqfeatureL);
! $self->{annotated_sequence}->add_SeqFeature($seqfeatureR);
}
From bugzilla-daemon at portal.open-bio.org Thu Dec 15 09:38:56 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Thu Dec 15 09:58:32 2005
Subject: [Bioperl-guts-l] [Bug 1837] Bio::Ext::Align
Message-ID: <200512151438.jBFEcudg006417@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1837
osborne1@optonline.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |WORKSFORME
------- Comment #1 from osborne1@optonline.net 2005-12-15 09:38 -------
Jouni, thank you for the submission. I think that I'll close this bug as I've
been able to install bioperl-ext without the manual copy you used. Without a
bit more information it's difficult to determine what went wrong with your
install and since everything works for you now...
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Thu Dec 15 09:28:05 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Thu Dec 15 09:58:36 2005
Subject: [Bioperl-guts-l] [Bug 1833] Bio::Tools::Primer3 next_primer method
reuses same sequence object for subsequent iterations
Message-ID: <200512151428.jBFES5cF006211@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1833
------- Comment #2 from osborne1@optonline.net 2005-12-15 09:28 -------
Roy, we haven't heard from Rob Edwards, I guess we should just proceed. I've
taken a look at Primer3 and Run/Primer3 and I agree with your interpretation,
each primer pair should appear by itself on the primed sequence. Can you supply
a patch?
The Clone module is already use in Bioperl (Bio::Graph::ProteinGraph) though I
don't know if this means that this is "standard" approach.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From heikki at pub.open-bio.org Thu Dec 15 16:14:37 2005
From: heikki at pub.open-bio.org (Heikki Lehvaslaiho)
Date: Thu Dec 15 16:07:46 2005
Subject: [Bioperl-guts-l] bioperl-live/maintenance modules.pl,1.18,1.19
Message-ID: <200512152114.jBFLEbVL010910@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/maintenance
In directory pub.open-bio.org:/tmp/cvs-serv10901
Modified Files:
modules.pl
Log Message:
better "untested" functionality
Index: modules.pl
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/maintenance/modules.pl,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** modules.pl 9 Dec 2005 12:18:01 -0000 1.18
--- modules.pl 15 Dec 2005 21:14:35 -0000 1.19
***************
*** 253,257 ****
$class->path($File::Find::name);
}
! if (/^\w*use/ && /(Bio[\w:]+)\W*;/) {
next unless $class;
#print "\t$1\n" if $verbose;
--- 253,257 ----
$class->path($File::Find::name);
}
! if (/^\w*use/ && /(Bio[\w:]+)\W*;/ && not /base/) {
next unless $class;
#print "\t$1\n" if $verbose;
***************
*** 275,279 ****
}
}
-
close F;
}
--- 275,278 ----
***************
*** 347,402 ****
by subclass tests.
- This method can not be improved much without running the tests!
=cut
sub _used_and_super {
! my $classname = $shift;
! unless ( ref $classname eq 'HASH') {
! my $tmp = $classname;
! $classname->{$tmp}=1
! }
! foreach ($MODULES{$_}->each_superclass) {
! $MODULES{$_}->tested(1)
! unless defined $MODULES{$_} or $MODULES{$_}->tested;
! _used_and_super()
}
! foreach ($MODULES{$_}->each_used_class) {
! $MODULES{$_}->tested(1)
! unless defined $MODULES{$_} and $MODULES{$_}->tested;
}
!
! return $classname;
}
sub untested {
! foreach (`find ../t -name "*.t" -print | xargs grep -hs "use "`) {
! s/^ *?use +//;
next unless /^Bio/;
s/[\W;]+$//;
next unless $MODULES{$_};
$MODULES{$_}->tested(1)
unless defined $MODULES{$_} and $MODULES{$_}->tested;
! next if $MODULES{$_}->name eq "Bio::SeqIO::abi"; # exception: requires bioperl ext package
! next if $MODULES{$_}->name eq "Bio::SeqIO::ctf"; # exception: requires bioperl ext package
! next if $MODULES{$_}->name eq "Bio::SeqIO::exp"; # exception: requires bioperl ext package
! next if $MODULES{$_}->name eq "Bio::SeqIO::pln"; # exception: requires bioperl ext package
! next if $MODULES{$_}->name eq "Bio::SeqIO::ztr"; # exception: requires bioperl ext package
! # print $MODULES{$_}->name, "\n";
! # print Dumper $MODULES{$_};
! foreach ($MODULES{$_}->each_superclass) {
! # print $MODULES{$_}->name, "\n";
! $MODULES{$_}->tested(1)
! unless defined $MODULES{$_} or $MODULES{$_}->tested;
! }
! foreach ($MODULES{$_}->each_used_class) {
! $MODULES{$_}->tested(1)
! unless defined $MODULES{$_} and $MODULES{$_}->tested;
! }
}
foreach ( sort keys %MODULES) {
print "$_\n" if
$MODULES{$_}->type eq 'instance' and ($MODULES{$_}->tested == 0) ;
--- 346,420 ----
by subclass tests.
=cut
sub _used_and_super {
! my $name = shift;
! # print "-:$name\n" if /Locati/;
! foreach ($MODULES{$name}->each_superclass) {
! next unless defined $MODULES{$_};
! # print "-^$_\n" if /Locati/;
! # unless (defined $MODULES{$_} or $MODULES{$_}->tested) {
! if (not $MODULES{$_}->tested) {
! $MODULES{$_}->tested(1);
! _used_and_super($_);
! }
}
! foreach ($MODULES{$name}->each_used_class) {
! next unless defined $MODULES{$_};
! # print "--$_\n" if /Locati/;
! # unless (defined $MODULES{$_} or $MODULES{$_}->tested) {
! if (not $MODULES{$_}->tested) {
! $MODULES{$_}->tested(1);
! _used_and_super($_);
! }
! # $MODULES{$_}->tested(1) && _used_and_super($_)
! # unless defined $MODULES{$_} or $MODULES{$_}->tested;
}
! return 1;
}
sub untested {
! foreach (`find ../t -name "*.t" -print | xargs grep -hs "[ur][se][eq]"`) {
! # print "1-$_\n" if /OntologyT/;
! # s/^\s*//;
! s/.*use +//;
! s/.*require +//;
next unless /^Bio/;
s/[\W;]+$//;
+ my $name = $_;
+ # print "2-$name\n" if /OntologyT/;
next unless $MODULES{$_};
$MODULES{$_}->tested(1)
unless defined $MODULES{$_} and $MODULES{$_}->tested;
! next if $MODULES{$name}->name eq "Bio::SeqIO::abi"; # exception: requires bioperl ext package
! next if $MODULES{$name}->name eq "Bio::SeqIO::ctf"; # exception: requires bioperl ext package
! next if $MODULES{$name}->name eq "Bio::SeqIO::exp"; # exception: requires bioperl ext package
! next if $MODULES{$name}->name eq "Bio::SeqIO::pln"; # exception: requires bioperl ext package
! next if $MODULES{$name}->name eq "Bio::SeqIO::ztr"; # exception: requires bioperl ext package
! # print $MODULES{$name}->name, "\n";
! # print Dumper $MODULES{$name};
!
! _used_and_super($name);
!
! # foreach ($MODULES{$name}->each_superclass) {
! ## print $MODULES{$name}->name, "\n";
! # $MODULES{$name}->tested(1)
! # unless defined $MODULES{$name} or $MODULES{$name}->tested;
! # }
! # foreach ($MODULES{$name}->each_used_class) {
! # $MODULES{$name}->tested(1)
! # unless defined $MODULES{$name} and $MODULES{$name}->tested;
! # }
}
foreach ( sort keys %MODULES) {
+
+ # skip some name spaces
+ next if /^Bio::Search/; # Bio::Search and Bio::SearchIO are extensively tested
+ # but classes are used by attribute naming
+
print "$_\n" if
$MODULES{$_}->type eq 'instance' and ($MODULES{$_}->tested == 0) ;
From tseemann at pub.open-bio.org Thu Dec 15 16:22:18 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Thu Dec 15 16:15:24 2005
Subject: [Bioperl-guts-l] bioperl-live/maintenance check_URLs.pl,1.2,1.3
Message-ID: <200512152122.jBFLMIVL010941@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/maintenance
In directory pub.open-bio.org:/tmp/cvs-serv10926
Modified Files:
check_URLs.pl
Log Message:
Improved removal of non-URL punctuation at end of embedded URLs
Index: check_URLs.pl
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/maintenance/check_URLs.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** check_URLs.pl 13 Dec 2005 06:08:15 -0000 1.2
--- check_URLs.pl 15 Dec 2005 21:22:16 -0000 1.3
***************
*** 24,28 ****
module, I have to manually clean up some URLs which are embedded in Perl
strings to convert the matched URL to a more probable real world URL,
! e.g. most URLs don't end in "'," or ")" :-)
=cut
--- 24,28 ----
module, I have to manually clean up some URLs which are embedded in Perl
strings to convert the matched URL to a more probable real world URL,
! e.g. most URLs don\'t end in "'," or ")" :-)
=cut
***************
*** 93,98 ****
while ($text =~ m/$RE{URI}{HTTP}{-keep}/g) {
my $url = $1 or next;
! # remove Perl code if URL was embedded in string and other stuff
! $url =~ s/(['"]\s*[,;]?|\)\.?)$//;
print STDERR "$url\n" if $verbose;
push @{ $URL{$url} } , $File::Find::name;
--- 93,98 ----
while ($text =~ m/$RE{URI}{HTTP}{-keep}/g) {
my $url = $1 or next;
! # remove Perl code if URL was embedded in string and other stuff
! $url =~ s/\s*[.,;'")]*\s*$//;
print STDERR "$url\n" if $verbose;
push @{ $URL{$url} } , $File::Find::name;
***************
*** 141,147 ****
=head1 AUTHOR - Torsten Seemann
! Email tseemann-at-bioperl-dot-org
=cut
-
-
--- 141,145 ----
=head1 AUTHOR - Torsten Seemann
! Email: torsten-dot-seemann-at-infotech-dot-monash-dot-edu-dot-au
=cut
From bosborne at pub.open-bio.org Thu Dec 15 19:05:09 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Thu Dec 15 18:58:18 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/DB GenBank.pm,1.51,1.52
Message-ID: <200512160005.jBG059VL011316@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/DB
In directory pub.open-bio.org:/tmp/cvs-serv11307
Modified Files:
GenBank.pm
Log Message:
Minor edits
Index: GenBank.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/GenBank.pm,v
retrieving revision 1.51
retrieving revision 1.52
diff -C2 -d -r1.51 -r1.52
*** GenBank.pm 9 Oct 2005 14:53:08 -0000 1.51
--- GenBank.pm 16 Dec 2005 00:05:07 -0000 1.52
***************
*** 44,48 ****
(-query =>'Oryza sativa[Organism] AND EST',
-reldate => '30',
! -db => 'nucleotide');
my $seqio = $gb->get_Stream_by_query($query);
--- 44,48 ----
(-query =>'Oryza sativa[Organism] AND EST',
-reldate => '30',
! -db => 'nucleotide');
my $seqio = $gb->get_Stream_by_query($query);
***************
*** 57,61 ****
# and request Fasta sequence
$gb = new Bio::DB::GenBank(-retrievaltype => 'tempfile' ,
! -format => 'Fasta');
my $seqio = $gb->get_Stream_by_acc(['AC013798', 'AC021953'] );
while( my $clone = $seqio->next_seq ) {
--- 57,61 ----
# and request Fasta sequence
$gb = new Bio::DB::GenBank(-retrievaltype => 'tempfile' ,
! -format => 'Fasta');
my $seqio = $gb->get_Stream_by_acc(['AC013798', 'AC021953'] );
while( my $clone = $seqio->next_seq ) {
***************
*** 150,154 ****
}
! # new is in NCBIHelper
# helper method to get db specific options
--- 150,154 ----
}
! # new() is in NCBIHelper
# helper method to get db specific options
***************
*** 162,168 ****
Args : -delay number of seconds to delay between fetches (3s)
! NOTE: There are other options that are used internally. By NCBI policy, this
! module introduces a 3s delay between fetches. If you are fetching multiple genbank
! ids, it is a good idea to use get
=cut
--- 162,168 ----
Args : -delay number of seconds to delay between fetches (3s)
! NOTE: There are other options that are used internally. By NCBI policy,
! this module introduces a 3s delay between fetches. If you are fetching
! multiple genbank ids, it is a good idea to use get
=cut
***************
*** 306,308 ****
--- 306,309 ----
1;
+
__END__
From bosborne at pub.open-bio.org Fri Dec 16 17:57:42 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 16 17:50:43 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio WebAgent.pm,1.7,1.8
Message-ID: <200512162257.jBGMvgVL014729@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio
In directory pub.open-bio.org:/tmp/cvs-serv14720
Modified Files:
WebAgent.pm
Log Message:
Minor edits
Index: WebAgent.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/WebAgent.pm,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** WebAgent.pm 17 Nov 2005 09:54:44 -0000 1.7
--- WebAgent.pm 16 Dec 2005 22:57:40 -0000 1.8
***************
*** 21,34 ****
=head1 DESCRIPTION
! This abstact superclass is a subclass of L which
! allows protocol independent access of accessing remote locations over
the Net.
It takes care of error handling, proxies and various net protocols.
! BioPerl classes accessing net should inherit from it. For details,
see L.
! The interface is still eveolving. For now, I've copied over two public
! methods from Bio::DB::WebDBSeqI: delay() and delay_policy. These are
used to prevent overwhelming the server by rapidly repeated . Ideally
there should be a common abstract superclass with these. See L.
--- 21,34 ----
=head1 DESCRIPTION
! This abstract superclass is a subclass of L which
! allows protocol independent access of remote locations over
the Net.
It takes care of error handling, proxies and various net protocols.
! BioPerl classes accessing the net should inherit from it. For details,
see L.
! The interface is still evolving. For now, two public methods have been
! copied from Bio::DB::WebDBSeqI: delay() and delay_policy. These are
used to prevent overwhelming the server by rapidly repeated . Ideally
there should be a common abstract superclass with these. See L.
From bosborne at pub.open-bio.org Fri Dec 16 22:48:00 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 16 22:41:37 2005
Subject: [Bioperl-guts-l] bioperl-live/t DB.t,1.52,1.53
Message-ID: <200512170348.jBH3m0VL015196@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/t
In directory pub.open-bio.org:/tmp/cvs-serv15187/t
Modified Files:
DB.t
Log Message:
Number of dblinks has changed
Index: DB.t
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/t/DB.t,v
retrieving revision 1.52
retrieving revision 1.53
diff -C2 -d -r1.52 -r1.53
*** DB.t 17 Oct 2005 14:46:39 -0000 1.52
--- DB.t 17 Dec 2005 03:47:58 -0000 1.53
***************
*** 81,111 ****
'P31383' => 635,
);
if( $DEBUG ) {
! my ($gb,$seq,$seqio,$query);
! # get a single seq
! eval {
! ok defined ( $gb = new Bio::DB::GenBank('-verbose'=>$verbose,'-delay'=>0) );
! $seq = $gb->get_Seq_by_id('MUSIGHBA1');
! $seq ? ok 1 : exit 0;
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok( defined ($seq = $gb->get_Seq_by_acc('AF303112')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok( defined ($seq = $gb->get_Seq_by_version('AF303112.1')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok( defined ($seq = $gb->get_Seq_by_gi('405830')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! };
! if ($@) {
! if( $DEBUG ) {
! warn "Warning: Couldn't connect to Genbank with Bio::DB::GenBank.pm!\nError: $@\nDo you have network access? Skipping all other tests";
}
! foreach ( $Test::ntest..$NUMTESTS ) { skip('no network access',1); }
! exit(0);
! }
! $seq = $seqio = undef;
! eval {
! ok( defined($seqio = $gb->get_Stream_by_id([ qw(J00522 AF303112
! 2981014)])));
while( my $s = $seqio->next_seq ) {
ok( $s->length, $expected_lengths{$s->display_id});
--- 81,112 ----
'P31383' => 635,
);
+
if( $DEBUG ) {
! my ($gb,$seq,$seqio,$query);
! # get a single seq
! eval {
! ok defined ( $gb = new Bio::DB::GenBank('-verbose'=>$verbose,'-delay'=>0) );
! $seq = $gb->get_Seq_by_id('MUSIGHBA1');
! $seq ? ok 1 : exit 0;
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok( defined ($seq = $gb->get_Seq_by_acc('AF303112')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok( defined ($seq = $gb->get_Seq_by_version('AF303112.1')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok( defined ($seq = $gb->get_Seq_by_gi('405830')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! };
! if ($@) {
! if( $DEBUG ) {
! warn "Warning: Couldn't connect to Genbank with Bio::DB::GenBank.pm!\nError: $@\nDo you have network access? Skipping all other tests";
! }
! foreach ( $Test::ntest..$NUMTESTS ) { skip('no network access',1); }
! exit(0);
}
! $seq = $seqio = undef;
! eval {
! ok( defined($seqio = $gb->get_Stream_by_id([ qw(J00522 AF303112
! 2981014)])));
while( my $s = $seqio->next_seq ) {
ok( $s->length, $expected_lengths{$s->display_id});
***************
*** 114,121 ****
if ($@) {
! if( $DEBUG ) { warn "Batch access test failed.\nError: $@\n"; }
! foreach ( $Test::ntest..$NUMTESTS ) { skip('no network access',1); }
! exit(0);
! }
$seq = $seqio = undef;
--- 115,122 ----
if ($@) {
! if( $DEBUG ) { warn "Batch access test failed.\nError: $@\n"; }
! foreach ( $Test::ntest..$NUMTESTS ) { skip('no network access',1); }
! exit(0);
! }
$seq = $seqio = undef;
***************
*** 132,135 ****
--- 133,137 ----
ok( $s->length, $expected_lengths{$s->display_id});
}
+
# swissprot genpept parsing
ok( defined($seq = $gb->get_Seq_by_acc('2AAA_YEAST') ));
***************
*** 140,144 ****
# small chance this might change but hopefully not
my @annot = $seq->annotation->get_Annotations('dblink');
! ok(scalar @annot, 29); #
ok($annot[0]->database, 'swissprot');
ok($annot[0]->primary_id, '2AAA_YEAST');
--- 142,146 ----
# small chance this might change but hopefully not
my @annot = $seq->annotation->get_Annotations('dblink');
! ok(scalar @annot, 30); #
ok($annot[0]->database, 'swissprot');
ok($annot[0]->primary_id, '2AAA_YEAST');
From bosborne at pub.open-bio.org Fri Dec 16 23:27:40 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 16 23:20:43 2005
Subject: [Bioperl-guts-l] bioperl-live/t DB.t,1.53,1.54
Message-ID: <200512170427.jBH4ReVL015314@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/t
In directory pub.open-bio.org:/tmp/cvs-serv15305/t
Modified Files:
DB.t
Log Message:
Add test for bug 1405 (-seq_start, -seq_stop).
Index: DB.t
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/t/DB.t,v
retrieving revision 1.53
retrieving revision 1.54
diff -C2 -d -r1.53 -r1.54
*** DB.t 17 Dec 2005 03:47:58 -0000 1.53
--- DB.t 17 Dec 2005 04:27:38 -0000 1.54
***************
*** 20,38 ****
eval { require Test; };
$error = 0;
! if( $@ ) {
use lib 't';
}
use Test;
! $NUMTESTS = 84;
plan tests => $NUMTESTS;
eval { require IO::String;
! require LWP::UserAgent;
! require HTTP::Request::Common; };
if( $@ ) {
print STDERR "IO::String or LWP::UserAgent or HTTP::Request not installed. This means the Bio::DB::* modules are not usable. Skipping tests.\n";
for( 1..$NUMTESTS ) {
! skip("IO::String, LWP::UserAgent,or HTTP::Request not installed",1);
}
$error = 1;
--- 20,38 ----
eval { require Test; };
$error = 0;
! if ( $@ ) {
use lib 't';
}
use Test;
! $NUMTESTS = 85;
plan tests => $NUMTESTS;
eval { require IO::String;
! require LWP::UserAgent;
! require HTTP::Request::Common; };
if( $@ ) {
print STDERR "IO::String or LWP::UserAgent or HTTP::Request not installed. This means the Bio::DB::* modules are not usable. Skipping tests.\n";
for( 1..$NUMTESTS ) {
! skip("IO::String, LWP::UserAgent,or HTTP::Request not installed",1);
}
$error = 1;
***************
*** 56,84 ****
my %expected_lengths = ( 'NDP_MOUSE' => 131,
! 'NDP_HUMAN' => 133,
! 'MUSIGHBA1' => 408,
! 'AF303112' => 1611,
! 'J00522' => 408,
! 'AF303112' => 1611,
! 'AF303112.1' => 1611,
! '2981014' => 1156,
! 'AF041456' => 1156,
! 'AY080910' => 798,
! 'AY080909' => 1042,
! 'AF155220' => 1172,
! '405830' => 1743,
! 'CELRABGDI' => 1743,
! '195055' => 136,
! 'AAD15290' => 136,
! 'AAC06201' => 353,
! 'P43780' => 103,
! 'BOLA_HAEIN'=> 103,
! 'YNB3_YEAST'=> 125,
! 'O39869' => 56,
! 'P18584' => 497,
! 'DEGP_CHLTR'=> 497,
! 'AF442768' => 2547,
! 'P31383' => 635,
! );
if( $DEBUG ) {
--- 56,84 ----
my %expected_lengths = ( 'NDP_MOUSE' => 131,
! 'NDP_HUMAN' => 133,
! 'MUSIGHBA1' => 408,
! 'AF303112' => 1611,
! 'J00522' => 408,
! 'AF303112' => 1611,
! 'AF303112.1' => 1611,
! '2981014' => 1156,
! 'AF041456' => 1156,
! 'AY080910' => 798,
! 'AY080909' => 1042,
! 'AF155220' => 1172,
! '405830' => 1743,
! 'CELRABGDI' => 1743,
! '195055' => 136,
! 'AAD15290' => 136,
! 'AAC06201' => 353,
! 'P43780' => 103,
! 'BOLA_HAEIN'=> 103,
! 'YNB3_YEAST'=> 125,
! 'O39869' => 56,
! 'P18584' => 497,
! 'DEGP_CHLTR'=> 497,
! 'AF442768' => 2547,
! 'P31383' => 635,
! );
if( $DEBUG ) {
***************
*** 115,223 ****
if ($@) {
! if( $DEBUG ) { warn "Batch access test failed.\nError: $@\n"; }
! foreach ( $Test::ntest..$NUMTESTS ) { skip('no network access',1); }
! exit(0);
! }
! $seq = $seqio = undef;
! eval {
! ok defined($gb = new Bio::DB::GenPept('-verbose'=>$verbose,'-delay'=>0));
! ok( defined($seq = $gb->get_Seq_by_id('195055')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! $seq = $gb->get_Seq_by_acc('AAC06201');
! ok(defined $seq);
! ok( $seq->length, $expected_lengths{$seq->display_id});
! $seqio = $gb->get_Stream_by_id([ qw(AAC06201 195055)]);
! ok( defined $seqio);
! while( my $s = $seqio->next_seq ) {
! ok( $s->length, $expected_lengths{$s->display_id});
! }
! # swissprot genpept parsing
! ok( defined($seq = $gb->get_Seq_by_acc('2AAA_YEAST') ));
! ok($seq->length, $expected_lengths{$seq->display_id},
! $expected_lengths{$seq->display_id});
! # test dbsource stuff
! # small chance this might change but hopefully not
! my @annot = $seq->annotation->get_Annotations('dblink');
! ok(scalar @annot, 30); #
! ok($annot[0]->database, 'swissprot');
! ok($annot[0]->primary_id, '2AAA_YEAST');
! ok( ($seq->annotation->get_Annotations('swissprot_dates'))[0]->value, 'Jul 1, 1993');
! };
! if ($@) {
! if( $DEBUG ) {
! warn "Warning: Couldn't connect to Genbank with Bio::DB::GenPept.pm!\n$@";
! }
! foreach( $Test::ntest..$NUMTESTS ) {
! skip('could not connect with GenPept',1);
}
! exit(0);
! }
! $seq = $seqio = undef;
! eval {
! ok defined($gb = new Bio::DB::SwissProt('-verbose'=>$verbose,-retrievaltype=>'pipeline','-delay'=>0));
! ok(defined($seq = $gb->get_Seq_by_id('YNB3_YEAST')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok($seq->division, 'YEAST');
! ok(defined($seq = $gb->get_Seq_by_acc('P43780')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok( defined( $seq = $gb->get_Seq_by_acc('O39869')));
! ok( $seq->length, $expected_lengths{$seq->accession_number});
! ok($seq->accession_number, 'O39869');
! ok($seq->division, '9PICO');
! # test for bug #958
! $seq = $gb->get_Seq_by_id('P18584');
! ok( defined $seq );
! ok( $seq->length, $expected_lengths{$seq->display_id});
! #skip($seq->primary_id =~ /^Bio::Seq/, $seq->primary_id, 'DEGP');
! ok( $seq->display_id, 'DEGP_CHLTR');
! ok( $seq->division, 'CHLTR');
! ok( defined($gb = new Bio::DB::SwissProt('-verbose'=>$verbose,
! '-retrievaltype' => 'tempfile',
! '-delay' => 0,
! )));
! ok(defined($seqio = $gb->get_Stream_by_id(['NDP_MOUSE', 'NDP_HUMAN'])));
! undef $gb; # testing to see if we can remove gb
! ok( defined($seq = $seqio->next_seq()));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok( defined($seq = $seqio->next_seq()));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! };
! if ($@) {
! if( $DEBUG ) {
! print STDERR "Warning: Couldn't connect to SwissProt with Bio::DB::Swiss.pm!\n$@";
! }
! foreach ( $Test::ntest..$NUMTESTS) {
! skip('could not connect to swissprot',1);
}
! exit(0);
! }
! $seq = undef;
! # test the temporary file creation and fasta
! eval {
! ok defined ( $gb = new Bio::DB::GenBank('-verbose' =>$verbose,
! '-format' => 'fasta',
! '-retrievaltype' => 'tempfile',
! '-delay' => 0) );
! ok( defined ($seq = $gb->get_Seq_by_id('MUSIGHBA1')));
! # last part of id holds the key
! ok($seq->length, $expected_lengths{(split(/\|/,$seq->display_id))[-1]});
! $seq = $gb->get_Seq_by_acc('AF303112');
! ok( defined $seq);
! # last part of id holds the key
! ok($seq->length, $expected_lengths{(split(/\|/,$seq->display_id))[-1]});
! # batch mode requires genbank format
! $gb->request_format("gb");
! ok(defined($seqio = $gb->get_Stream_by_id([ qw(J00522 AF303112
! 2981014)])));
while( my $s = $seqio->next_seq ) {
ok( $s->length, $expected_lengths{$s->display_id});
--- 115,224 ----
if ($@) {
! if( $DEBUG ) { warn "Batch access test failed.\nError: $@\n"; }
! foreach ( $Test::ntest..$NUMTESTS ) { skip('no network access',1); }
! exit(0);
! }
! $seq = $seqio = undef;
! eval {
! ok defined($gb = new Bio::DB::GenPept('-verbose'=>$verbose,'-delay'=>0));
! ok( defined($seq = $gb->get_Seq_by_id('195055')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! $seq = $gb->get_Seq_by_acc('AAC06201');
! ok(defined $seq);
! ok( $seq->length, $expected_lengths{$seq->display_id});
! $seqio = $gb->get_Stream_by_id([ qw(AAC06201 195055)]);
! ok( defined $seqio);
! while( my $s = $seqio->next_seq ) {
! ok( $s->length, $expected_lengths{$s->display_id});
! }
! # swissprot genpept parsing
! ok( defined($seq = $gb->get_Seq_by_acc('2AAA_YEAST') ));
! ok($seq->length, $expected_lengths{$seq->display_id},
! $expected_lengths{$seq->display_id});
! # test dbsource stuff
! # small chance this might change but hopefully not
! my @annot = $seq->annotation->get_Annotations('dblink');
! ok(scalar @annot, 30); #
! ok($annot[0]->database, 'swissprot');
! ok($annot[0]->primary_id, '2AAA_YEAST');
! ok( ($seq->annotation->get_Annotations('swissprot_dates'))[0]->value, 'Jul 1, 1993');
! };
! if ($@) {
! if( $DEBUG ) {
! warn "Warning: Couldn't connect to Genbank with Bio::DB::GenPept.pm!\n$@";
! }
! foreach( $Test::ntest..$NUMTESTS ) {
! skip('could not connect with GenPept',1);
! }
! exit(0);
}
! $seq = $seqio = undef;
! eval {
! ok defined($gb = new Bio::DB::SwissProt('-verbose'=>$verbose,-retrievaltype=>'pipeline','-delay'=>0));
! ok(defined($seq = $gb->get_Seq_by_id('YNB3_YEAST')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok($seq->division, 'YEAST');
! ok(defined($seq = $gb->get_Seq_by_acc('P43780')));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok( defined( $seq = $gb->get_Seq_by_acc('O39869')));
! ok( $seq->length, $expected_lengths{$seq->accession_number});
! ok($seq->accession_number, 'O39869');
! ok($seq->division, '9PICO');
! # test for bug #958
! $seq = $gb->get_Seq_by_id('P18584');
! ok( defined $seq );
! ok( $seq->length, $expected_lengths{$seq->display_id});
! #skip($seq->primary_id =~ /^Bio::Seq/, $seq->primary_id, 'DEGP');
! ok( $seq->display_id, 'DEGP_CHLTR');
! ok( $seq->division, 'CHLTR');
! ok( defined($gb = new Bio::DB::SwissProt('-verbose'=>$verbose,
! '-retrievaltype' => 'tempfile',
! '-delay' => 0,
! )));
! ok(defined($seqio = $gb->get_Stream_by_id(['NDP_MOUSE', 'NDP_HUMAN'])));
! undef $gb; # testing to see if we can remove gb
! ok( defined($seq = $seqio->next_seq()));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! ok( defined($seq = $seqio->next_seq()));
! ok( $seq->length, $expected_lengths{$seq->display_id});
! };
! if ($@) {
! if( $DEBUG ) {
! print STDERR "Warning: Couldn't connect to SwissProt with Bio::DB::Swiss.pm!\n$@";
! }
! foreach ( $Test::ntest..$NUMTESTS) {
! skip('could not connect to swissprot',1);
! }
! exit(0);
}
! $seq = undef;
!
! # test the temporary file creation and fasta
! eval {
! ok defined ( $gb = new Bio::DB::GenBank('-verbose' =>$verbose,
! '-format' => 'fasta',
! '-retrievaltype' => 'tempfile',
! '-delay' => 0) );
! ok( defined ($seq = $gb->get_Seq_by_id('MUSIGHBA1')));
! # last part of id holds the key
! ok($seq->length, $expected_lengths{(split(/\|/,$seq->display_id))[-1]});
! $seq = $gb->get_Seq_by_acc('AF303112');
! ok( defined $seq);
! # last part of id holds the key
! ok($seq->length, $expected_lengths{(split(/\|/,$seq->display_id))[-1]});
! # batch mode requires genbank format
! $gb->request_format("gb");
! ok(defined($seqio = $gb->get_Stream_by_id([ qw(J00522 AF303112
! 2981014)])));
while( my $s = $seqio->next_seq ) {
ok( $s->length, $expected_lengths{$s->display_id});
***************
*** 252,337 ****
2981014)])));
while( my $s = $seqio->next_seq ) {
! ok( $s->length, $expected_lengths{$s->display_id});
! undef $gb; # test the case where the db is gone,
! # but the pipeline should remain until seqio goes away
}
! };
! if ($@) {
! if( $DEBUG ) {
! warn "Warning: Couldn't connect to complete GenBank tests with a pipeline with Bio::DB::GenBank.pm!\n $@\n";
! }
! foreach ( $Test::ntest..$NUMTESTS ) {
! skip('could not connect to Genbank',1);
}
! }
! $seq = $seqio = undef;
! # test query facility
! eval {
! ok defined ( $query = Bio::DB::Query::GenBank->new('-verbose' => $verbose,
! '-db' => 'nucleotide',
! '-query' => 'Onchocerca volvulus[Organism]',
! '-mindate' => '2002/1/1',
! '-maxdate' => '2002/12/31'));
! ok $query->count > 0;
! my @ids = $query->ids;
! ok @ids > 0;
! ok @ids == $query->count;
! ok defined ($gb = Bio::DB::GenBank->new('-verbose' =>$verbose,
! '-delay' => 0,
! ));
! ok defined ($seqio = $gb->get_Stream_by_query($query));
! while( my $s = $seqio->next_seq ) {
! ok( $s->length, $expected_lengths{$s->display_id});
! undef $gb; # test the case where the db is gone,
! # but the pipeline should remain until seqio goes away
! }
! };
! if ($@) {
! if( $DEBUG ) {
! warn "Warning: Couldn't connect to complete GenBank query tests!\n $@\n";
! }
! foreach ( $Test::ntest..$NUMTESTS ) {
! skip('could not connect to Genbank',1);
}
! }
! $seq = $seqio = undef;
! # test query facility
! eval {
! ok defined ( $query = Bio::DB::Query::GenBank->new('-verbose' => $verbose,
! '-db' => 'nucleotide',
! '-ids' => [qw(J00522
! AF303112
! 2981014)]));
! ok $query->count > 0;
! my @ids = $query->ids;
! ok @ids > 0;
! ok @ids == $query->count;
! ok defined ($gb = Bio::DB::GenBank->new('-verbose' =>$verbose,
! '-delay' => 0,
! ));
! ok defined ($seqio = $gb->get_Stream_by_query($query));
! while( my $s = $seqio->next_seq ) {
! ok( $s->length, $expected_lengths{$s->display_id});
! }
! $seqio->close(); # the key to preventing errors during make test, no idea why
! };
! if ($@) {
! if( $DEBUG ) {
! warn "Warning: Couldn't connect to complete GenBank query tests!\n $@\n";
! }
! foreach ( $Test::ntest..$NUMTESTS ) {
! skip('could not connect to Genbank',1);
}
! }
! $seq = $seqio = undef;
} else {
! for ( $Test::ntest..$NUMTESTS) {
! skip("Skipping tests which require remote servers - set env variable BIOPERLDEBUG to test",1);
! }
}
--- 253,346 ----
2981014)])));
while( my $s = $seqio->next_seq ) {
! ok( $s->length, $expected_lengths{$s->display_id});
! undef $gb; # test the case where the db is gone,
! # but the pipeline should remain until seqio goes away
}
! };
! if ($@) {
! if( $DEBUG ) {
! warn "Warning: Couldn't connect to complete GenBank tests with a pipeline with Bio::DB::GenBank.pm!\n $@\n";
! }
! foreach ( $Test::ntest..$NUMTESTS ) {
! skip('could not connect to Genbank',1);
! }
}
! $seq = $seqio = undef;
! # test query facility
! eval {
! ok defined ( $query = Bio::DB::Query::GenBank->new('-verbose' => $verbose,
! '-db' => 'nucleotide',
! '-query' => 'Onchocerca volvulus[Organism]',
! '-mindate' => '2002/1/1',
! '-maxdate' => '2002/12/31'));
! ok $query->count > 0;
! my @ids = $query->ids;
! ok @ids > 0;
! ok @ids == $query->count;
! ok defined ($gb = Bio::DB::GenBank->new('-verbose' =>$verbose,
! '-delay' => 0,
! ));
! ok defined ($seqio = $gb->get_Stream_by_query($query));
! while( my $s = $seqio->next_seq ) {
! ok( $s->length, $expected_lengths{$s->display_id});
! undef $gb; # test the case where the db is gone,
! # but the pipeline should remain until seqio goes away
! }
! };
! if ($@) {
! if( $DEBUG ) {
! warn "Warning: Couldn't connect to complete GenBank query tests!\n $@\n";
! }
! foreach ( $Test::ntest..$NUMTESTS ) {
! skip('could not connect to Genbank',1);
! }
}
! $seq = $seqio = undef;
! # test query facility
! eval {
! ok defined ( $query = Bio::DB::Query::GenBank->new('-verbose' => $verbose,
! '-db' => 'nucleotide',
! '-ids' => [qw(J00522
! AF303112
! 2981014)]));
! ok $query->count > 0;
! my @ids = $query->ids;
! ok @ids > 0;
! ok @ids == $query->count;
! ok defined ($gb = Bio::DB::GenBank->new('-verbose' =>$verbose,
! '-delay' => 0,
! ));
! ok defined ($seqio = $gb->get_Stream_by_query($query));
! while( my $s = $seqio->next_seq ) {
! ok( $s->length, $expected_lengths{$s->display_id});
! }
! $seqio->close(); # the key to preventing errors during make test, no idea why
! };
! if ($@) {
! if( $DEBUG ) {
! warn "Warning: Couldn't connect to complete GenBank query tests!\n $@\n";
! }
! foreach ( $Test::ntest..$NUMTESTS ) {
! skip('could not connect to Genbank',1);
! }
}
! $seq = $seqio = undef;
!
! # bug 1405
! $gb = Bio::DB::GenBank->new(-format => 'Fasta',
! -seq_start => 2,
! -seq_stop => 7 );
!
! $seq = $gb->get_Seq_by_acc("A11111");
! ok($seq->length,6);
} else {
! for ( $Test::ntest..$NUMTESTS) {
! skip("Skipping tests which require remote servers - set env variable BIOPERLDEBUG to test",1);
! }
}
From bosborne at pub.open-bio.org Fri Dec 16 23:34:58 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 16 23:28:03 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/DB GenBank.pm, 1.52,
1.53 NCBIHelper.pm, 1.39, 1.40 WebDBSeqI.pm, 1.45, 1.46
Message-ID: <200512170434.jBH4YwVL015351@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/DB
In directory pub.open-bio.org:/tmp/cvs-serv15342
Modified Files:
GenBank.pm NCBIHelper.pm WebDBSeqI.pm
Log Message:
Bug 1405
Index: WebDBSeqI.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/WebDBSeqI.pm,v
retrieving revision 1.45
retrieving revision 1.46
diff -C2 -d -r1.45 -r1.46
*** WebDBSeqI.pm 9 Oct 2005 14:53:09 -0000 1.45
--- WebDBSeqI.pm 17 Dec 2005 04:34:56 -0000 1.46
***************
*** 10,14 ****
#
# POD documentation - main docs before the code
! #
=head1 NAME
--- 10,14 ----
#
# POD documentation - main docs before the code
! #
=head1 NAME
***************
*** 25,30 ****
=head1 DESCRIPTION
Provides core set of functionality for connecting to a web based
! database for retrieving sequences.
Users wishing to add another Web Based Sequence Dabatase will need to
--- 25,33 ----
=head1 DESCRIPTION
+
+
+
Provides core set of functionality for connecting to a web based
! database for retriving sequences.
Users wishing to add another Web Based Sequence Dabatase will need to
***************
*** 34,37 ****
--- 37,42 ----
on what query types the database accepts).
+
+
=head1 FEEDBACK
***************
*** 49,56 ****
=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.bioperl.org/
--- 54,63 ----
=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 email or the
web:
+ bioperl-bugs@bio.perl.org
http://bugzilla.bioperl.org/
***************
*** 72,76 ****
use strict;
use vars qw(@ISA $MODVERSION %RETRIEVAL_TYPES $DEFAULT_RETRIEVAL_TYPE
! $DEFAULTFORMAT $LAST_INVOCATION_TIME);
use Bio::DB::RandomAccessI;
--- 79,83 ----
use strict;
use vars qw(@ISA $MODVERSION %RETRIEVAL_TYPES $DEFAULT_RETRIEVAL_TYPE
! $DEFAULTFORMAT $LAST_INVOCATION_TIME @ATTRIBUTES);
use Bio::DB::RandomAccessI;
***************
*** 87,130 ****
BEGIN {
! $MODVERSION = $Bio::Root::Version::VERSION;
! %RETRIEVAL_TYPES = ( 'io_string' => 1,
! 'tempfile' => 1,
! 'pipeline' => 1,
! );
! $DEFAULT_RETRIEVAL_TYPE = 'pipeline';
! $DEFAULTFORMAT = 'fasta';
! $LAST_INVOCATION_TIME = 0;
}
sub new {
! my ($class, @args) = @_;
! my $self = $class->SUPER::new(@args);
! my ($baseaddress, $params, $ret_type, $format,$delay,$db) =
! $self->_rearrange([qw(BASEADDRESS PARAMS RETRIEVALTYPE FORMAT DELAY DB)],
! @args);
! $ret_type = $DEFAULT_RETRIEVAL_TYPE unless ( $ret_type);
! $baseaddress && $self->url_base_address($baseaddress);
! $params && $self->url_params($params);
! $db && $self->db($db);
! $ret_type && $self->retrieval_type($ret_type);
! $self->retrieval_type('io_string') if $self->retrieval_type =~ /pipeline/
! && $^O =~ /^MSWin/; # MSWin can't do pipes
! $delay = $self->delay_policy unless defined $delay;
! $self->delay($delay);
! # insure we always have a default format set for retrieval
! # even though this will be immedietly overwritten by most sub classes
! $format = $self->default_format unless ( defined $format &&
$format ne '' );
! $self->request_format($format);
! my $ua = new LWP::UserAgent(env_proxy => 1);
! my $nm = ref($self);
! $nm =~ s/::/_/g;
! $ua->agent("bioperl-$nm/$MODVERSION");
! $self->ua($ua);
! $self->{'_authentication'} = [];
! return $self;
}
--- 94,149 ----
BEGIN {
! $MODVERSION = '0.8';
! %RETRIEVAL_TYPES = ( 'io_string' => 1,
! 'tempfile' => 1,
! 'pipeline' => 1,
! );
! $DEFAULT_RETRIEVAL_TYPE = 'pipeline';
! $DEFAULTFORMAT = 'fasta';
! $LAST_INVOCATION_TIME = 0;
! @ATTRIBUTES = qw(complexity strand seq_start seq_stop no_redirect);
! for my $method (@ATTRIBUTES) {
! eval <{'_$method'};
! \$self->{'_$method'} = shift if \@_;
! \$d;
! }
! END
! }
}
sub new {
! my ($class, @args) = @_;
! my $self = $class->SUPER::new(@args);
! my ($baseaddress, $params, $ret_type, $format,$delay,$db,$seq_start,$seq_stop,$no_redirect,$complexity,$strand) =
! $self->_rearrange([qw(BASEADDRESS PARAMS RETRIEVALTYPE FORMAT DELAY DB SEQ_START SEQ_STOP NO_REDIRECT COMPLEXITY STRAND)],
! @args);
! $ret_type = $DEFAULT_RETRIEVAL_TYPE unless ( $ret_type);
! $baseaddress && $self->url_base_address($baseaddress);
! $params && $self->url_params($params);
! $db && $self->db($db);
! $ret_type && $self->retrieval_type($ret_type);
! $seq_start && $self->seq_start($seq_start);
! $seq_stop && $self->seq_stop($seq_stop);
! $no_redirect && $self->no_redirect($no_redirect);
! $complexity && $self->complexity($complexity);
! $strand && $self->strand($strand);
! $delay = $self->delay_policy unless defined $delay;
! $self->delay($delay);
! # insure we always have a default format set for retrieval
! # even though this will be immedietly overwritten by most sub classes
! $format = $self->default_format unless ( defined $format &&
$format ne '' );
! $self->request_format($format);
! my $ua = new LWP::UserAgent;
! $ua->agent(ref($self) ."/$MODVERSION");
! $self->ua($ua);
! $self->{'_authentication'} = [];
! return $self;
}
***************
*** 144,161 ****
sub get_Seq_by_id {
! my ($self,$seqid) = @_;
! $self->_sleep;
! my $seqio = $self->get_Stream_by_id([$seqid]);
! unless( defined $seqio ) {
! $self->warn("id ($seqid) does not exist");
! return undef;
! }
! my @seqs;
! while( my $seq = $seqio->next_seq() ) { push @seqs, $seq; }
! unless( @seqs ) {
! $self->warn("id ($seqid) does not exist");
! return undef;
! }
! if( wantarray ) { return @seqs } else { return shift @seqs }
}
--- 163,174 ----
sub get_Seq_by_id {
! my ($self,$seqid) = @_;
! $self->_sleep;
! my $seqio = $self->get_Stream_by_id([$seqid]);
! $self->throw("id does not exist") if( !defined $seqio ) ;
! my @seqs;
! while( my $seq = $seqio->next_seq() ) { push @seqs, $seq; }
! $self->throw("id does not exist") unless @seqs;
! if( wantarray ) { return @seqs } else { return shift @seqs }
}
***************
*** 175,188 ****
$self->_sleep;
my $seqio = $self->get_Stream_by_acc($seqid);
! if( ! defined $seqio ) {
! $self->warn("acc ($seqid) does not exist");
! return undef;
! }
my @seqs;
while( my $seq = $seqio->next_seq() ) { push @seqs, $seq; }
! unless( @seqs ) {
! $self->warn("acc ($seqid) does not exist");
! return undef;
! }
if( wantarray ) { return @seqs } else { return shift @seqs }
}
--- 188,195 ----
$self->_sleep;
my $seqio = $self->get_Stream_by_acc($seqid);
! $self->throw("acc $seqid does not exist") if( ! defined $seqio );
my @seqs;
while( my $seq = $seqio->next_seq() ) { push @seqs, $seq; }
! $self->throw("acc $seqid does not exist") unless @seqs;
if( wantarray ) { return @seqs } else { return shift @seqs }
}
***************
*** 202,217 ****
sub get_Seq_by_gi {
my ($self,$seqid) = @_;
! $self->_sleep;
my $seqio = $self->get_Stream_by_gi($seqid);
! unless( defined $seqio ) {
! $self->warn("gi ($seqid) does not exist");
! return undef;
! }
my @seqs;
while( my $seq = $seqio->next_seq() ) { push @seqs, $seq; }
! unless( @seqs ) {
! $self->warn("gi ($seqid) does not exist");
! return undef;
! }
if( wantarray ) { return @seqs } else { return shift @seqs }
}
--- 209,218 ----
sub get_Seq_by_gi {
my ($self,$seqid) = @_;
! $self->_sleep;
my $seqio = $self->get_Stream_by_gi($seqid);
! $self->throw("gi does not exist") if( !defined $seqio );
my @seqs;
while( my $seq = $seqio->next_seq() ) { push @seqs, $seq; }
! $self->throw("gi does not exist") unless @seqs;
if( wantarray ) { return @seqs } else { return shift @seqs }
}
***************
*** 230,245 ****
sub get_Seq_by_version {
my ($self,$seqid) = @_;
! $self->_sleep;
my $seqio = $self->get_Stream_by_version($seqid);
! unless( defined $seqio ) {
! $self->warn("accession.version ($seqid) does not exist");
! return undef;
! }
my @seqs;
while( my $seq = $seqio->next_seq() ) { push @seqs, $seq; }
! unless( @seqs ) {
! $self->warn("accession.version ($seqid) does not exist");
! return undef;
! }
if( wantarray ) { return @seqs } else { return shift @seqs }
}
--- 231,240 ----
sub get_Seq_by_version {
my ($self,$seqid) = @_;
! $self->_sleep;
my $seqio = $self->get_Stream_by_version($seqid);
! $self->throw("accession.version does not exist") if( !defined $seqio );
my @seqs;
while( my $seq = $seqio->next_seq() ) { push @seqs, $seq; }
! $self->throw("accession.version does not exist") unless @seqs;
if( wantarray ) { return @seqs } else { return shift @seqs }
}
***************
*** 258,264 ****
sub get_request {
! my ($self) = @_;
! my $msg = "Implementing class must define method get_request in class WebDBSeqI";
! $self->throw($msg);
}
--- 253,259 ----
sub get_request {
! my ($self) = @_;
! my $msg = "Implementing class must define method get_request in class WebDBSeqI";
! $self->throw($msg);
}
***************
*** 278,291 ****
sub get_Stream_by_id {
! my ($self, $ids) = @_;
! my ($webfmt,$localfmt) = $self->request_format;
! return $self->get_seq_stream('-uids' => $ids, '-mode' => 'single',
! '-format' => $webfmt);
}
*get_Stream_by_batch = sub {
! my $self = shift;
! $self->deprecated('get_Stream_by_batch() is deprecated; use get_Stream_by_id() instead');
! $self->get_Stream_by_id(@_)
};
--- 273,286 ----
sub get_Stream_by_id {
! my ($self, $ids) = @_;
! my ($webfmt,$localfmt) = $self->request_format;
! return $self->get_seq_stream('-uids' => $ids, '-mode' => 'single',
! '-format' => $webfmt);
}
*get_Stream_by_batch = sub {
! my $self = shift;
! $self->deprecated('get_Stream_by_batch() is deprecated; use get_Stream_by_id() instead');
! $self->get_Stream_by_id(@_)
};
***************
*** 304,309 ****
sub get_Stream_by_acc {
! my ($self, $ids ) = @_;
! return $self->get_seq_stream('-uids' => $ids, '-mode' => 'single');
}
--- 299,304 ----
sub get_Stream_by_acc {
! my ($self, $ids ) = @_;
! return $self->get_seq_stream('-uids' => $ids, '-mode' => 'single');
}
***************
*** 322,327 ****
sub get_Stream_by_gi {
! my ($self, $ids ) = @_;
! return $self->get_seq_stream('-uids' => $ids, '-mode' => 'gi');
}
--- 317,322 ----
sub get_Stream_by_gi {
! my ($self, $ids ) = @_;
! return $self->get_seq_stream('-uids' => $ids, '-mode' => 'gi');
}
***************
*** 339,346 ****
sub get_Stream_by_version {
! my ($self, $ids ) = @_;
# $self->throw("Implementing class should define this method!");
! return $self->get_seq_stream('-uids' => $ids, '-mode' => 'version');
! # how it should work
}
--- 334,340 ----
sub get_Stream_by_version {
! my ($self, $ids ) = @_;
# $self->throw("Implementing class should define this method!");
! return $self->get_seq_stream('-uids' => $ids, '-mode' => 'version'); # how it should work
}
***************
*** 379,386 ****
# sorry, but this is hacked in because of BioFetch problems...
sub db {
! my $self = shift;
! my $d = $self->{_db};
! $self->{_db} = shift if @_;
! $d;
}
--- 373,380 ----
# sorry, but this is hacked in because of BioFetch problems...
sub db {
! my $self = shift;
! my $d = $self->{_db};
! $self->{_db} = shift if @_;
! $d;
}
***************
*** 400,409 ****
sub request_format {
! my ($self, $value) = @_;
! if( defined $value ) {
! $self->{'_format'} = [ $value, $value];
! }
! return @{$self->{'_format'}};
}
--- 394,403 ----
sub request_format {
! my ($self, $value) = @_;
! if( defined $value ) {
! $self->{'_format'} = [ $value, $value];
! }
! return @{$self->{'_format'}};
}
***************
*** 420,536 ****
sub get_seq_stream {
! my ($self, %qualifiers) = @_;
! my ($rformat, $ioformat) = $self->request_format();
! my $seen = 0;
! foreach my $key ( keys %qualifiers ) {
! if( $key =~ /format/i ) {
! $rformat = $qualifiers{$key};
! $seen = 1;
! }
! }
! $qualifiers{'-format'} = $rformat if( ! $seen);
! $qualifiers{'-offset'} = 0;
! ($rformat, $ioformat) = $self->request_format($rformat);
!
! # workaround for MSWin systems
! # can this be removed now this is implemented in the "new" sub?
! $self->retrieval_type('io_string')
! if $self->retrieval_type =~ /pipeline/ && $^O =~ /^MSWin/;
!
! my $expected = $qualifiers{-query} && ref $qualifiers{-query} ? $qualifiers{-query}->count : 0;
! my $got = 0;
!
! if ($self->retrieval_type =~ /pipeline/) {
! # Try to create a stream using POSIX fork-and-pipe facility.
! # this is a *big* win when fetching thousands of sequences from
! # a web database because we can return the first entry while
! # transmission is still in progress.
! # Also, no need to keep sequence in memory or in a temporary file.
! # If this fails (Windows, MacOS 9), we fall back to non-pipelined access.
!
! # fork and pipe: _stream_request()=>
! my $result = eval { open(STREAM,"-|") };
! if (defined $result) {
! $DB::fork_TTY = '/dev/null'; # prevents complaints from debugger
! if (!$result) { # in child process
! do {
! $qualifiers{-offset} = $got;
! my $request = $self->get_request(%qualifiers);
! $request->proxy_authorization_basic($self->authentication)
! if ( $self->authentication);
! $self->debug("request is ". $request->as_string(). "\n");
! $got += $self->_stream_request($request);
! $self->debug("expected $expected, got $got");
! } until $got >= $expected;
! kill 9=>$$;
! # to prevent END{} blocks from executing in forked children
! exit 0;
! }
! else {
! return Bio::SeqIO->new('-verbose' => $self->verbose,
! '-format' => $ioformat,
! '-fh' => \*STREAM);
! }
! }
! else {
! $self->retrieval_type('io_string');
! }
! }
! if ($self->retrieval_type =~ /temp/i) {
! my $dir = $self->io->tempdir( CLEANUP => 1);
! my ( $fh, $tmpfile) = $self->io()->tempfile( DIR => $dir );
! close $fh;
! my $request = $self->get_request(%qualifiers);
! $request->proxy_authorization_basic($self->authentication)
! if ( $self->authentication);
! $self->debug("request is ". $request->as_string(). "\n");
! my $resp = $self->_request($request, $tmpfile);
! if( ! -e $tmpfile || -z $tmpfile || ! $resp->is_success() ) {
! $self->throw("WebDBSeqI Error - check query sequences!\n");
! }
! $self->postprocess_data('type' => 'file',
! 'location' => $tmpfile);
! # this may get reset when requesting batch mode
! ($rformat,$ioformat) = $self->request_format();
! if( $self->verbose > 0 ) {
! open(ERR, "<$tmpfile");
! while() { $self->debug($_);}
! }
! return Bio::SeqIO->new('-verbose' => $self->verbose,
! '-format' => $ioformat,
! '-file' => $tmpfile);
! }
! if ($self->retrieval_type =~ /io_string/i ) {
! my $request = $self->get_request(%qualifiers);
! $request->proxy_authorization_basic($self->authentication)
! if ( $self->authentication);
! $self->debug("request is ". $request->as_string(). "\n");
! my $resp = $self->_request($request);
! my $content = $resp->content_ref;
! $self->debug( "content is $$content\n");
! if (!$resp->is_success() || length($$content) == 0) {
! $self->throw("WebDBSeqI Error - check query sequences!\n");
! }
! ($rformat,$ioformat) = $self->request_format();
! $self->postprocess_data('type'=> 'string',
! 'location' => $content);
! $self->debug( "str is $$content\n");
! return Bio::SeqIO->new('-verbose' => $self->verbose,
! '-format' => $ioformat,
! '-fh' => new IO::String($$content));
! }
! # if we got here, we don't know how to handle the retrieval type
! $self->throw("retrieval type " . $self->retrieval_type .
! " unsupported\n");
}
--- 414,512 ----
sub get_seq_stream {
! my ($self, %qualifiers) = @_;
! my ($rformat, $ioformat) = $self->request_format();
! my $seen = 0;
! foreach my $key ( keys %qualifiers ) {
! if( $key =~ /format/i ) {
! $rformat = $qualifiers{$key};
! $seen = 1;
! }
! }
! $qualifiers{'-format'} = $rformat if( !$seen);
! ($rformat, $ioformat) = $self->request_format($rformat);
! defined $self->seq_start() and
! $qualifiers{'-seq_start'} = $self->seq_start();
! defined $self->seq_stop() and
! $qualifiers{'-seq_stop'} = $self->seq_stop();
! my $request = $self->get_request(%qualifiers);
! $request->proxy_authorization_basic($self->authentication)
! if ( $self->authentication);
! $self->debug("request is ". $request->as_string(). "\n");
! # workaround for MSWin systems
! $self->retrieval_type('io_string') if $self->retrieval_type =~ /pipeline/ && $^O =~ /^MSWin/;
! if ($self->retrieval_type =~ /pipeline/) {
! # Try to create a stream using POSIX fork-and-pipe facility.
! # this is a *big* win when fetching thousands of sequences from
! # a web database because we can return the first entry while
! # transmission is still in progress.
! # Also, no need to keep sequence in memory or in a temporary file.
! # If this fails (Windows, MacOS 9), we fall back to non-pipelined access.
! # fork and pipe: _stream_request()=>
! my $result = eval { open(STREAM,"-|") };
! if (defined $result) {
! $DB::fork_TTY = '/dev/null'; # prevents complaints from debugger
! if (!$result) { # in child process
! $self->_stream_request($request);
! kill 9=>$$; # to prevent END{} blocks from executing in forked children
! exit 0;
! }
! else {
! return Bio::SeqIO->new('-verbose' => $self->verbose,
! '-format' => $ioformat,
! '-fh' => \*STREAM);
! }
! }
! else {
! $self->retrieval_type('io_string');
! }
! }
! if ($self->retrieval_type =~ /temp/i) {
! my $dir = $self->io->tempdir( CLEANUP => 1);
! my ( $fh, $tmpfile) = $self->io()->tempfile( DIR => $dir );
! close $fh;
! my $resp = $self->_request($request, $tmpfile);
! if( ! -e $tmpfile || -z $tmpfile || ! $resp->is_success() ) {
! $self->throw("WebDBSeqI Error - check query sequences!\n");
! }
! $self->postprocess_data('type' => 'file',
! 'location' => $tmpfile);
! # this may get reset when requesting batch mode
! ($rformat,$ioformat) = $self->request_format();
! if( $self->verbose > 0 ) {
! open(ERR, "<$tmpfile");
! while() { $self->debug($_);}
! }
! return Bio::SeqIO->new('-verbose' => $self->verbose,
! '-format' => $ioformat,
! '-file' => $tmpfile);
! }
! if ($self->retrieval_type =~ /io_string/i ) {
! my $resp = $self->_request($request);
! my $content = $resp->content_ref;
! $self->debug( "content is $$content\n");
! if (!$resp->is_success() || length($$content) == 0) {
! $self->throw("WebDBSeqI Error - check query sequences!\n");
! }
! ($rformat,$ioformat) = $self->request_format();
! $self->postprocess_data('type'=> 'string',
! 'location' => $content);
! $self->debug( "str is $$content\n");
! return Bio::SeqIO->new('-verbose' => $self->verbose,
! '-format' => $ioformat,
! '-fh' => new IO::String($$content));
! }
! # if we got here, we don't know how to handle the retrieval type
! $self->throw("retrieval type " . $self->retrieval_type .
! " unsupported\n");
}
***************
*** 547,554 ****
sub url_base_address {
! my $self = shift;
! my $d = $self->{'_baseaddress'};
! $self->{'_baseaddress'} = shift if @_;
! $d;
}
--- 523,530 ----
sub url_base_address {
! my $self = shift;
! my $d = $self->{'_baseaddress'};
! $self->{'_baseaddress'} = shift if @_;
! $d;
}
***************
*** 569,578 ****
sub proxy {
! my ($self,$protocol,$proxy,$username,$password) = @_;
! return undef if ( !defined $self->ua || !defined $protocol
! || !defined $proxy );
! $self->authentication($username, $password)
! if ($username && $password);
! return $self->ua->proxy($protocol,$proxy);
}
--- 545,554 ----
sub proxy {
! my ($self,$protocol,$proxy,$username,$password) = @_;
! return undef if ( !defined $self->ua || !defined $protocol
! || !defined $proxy );
! $self->authentication($username, $password)
! if ($username && $password);
! return $self->ua->proxy($protocol,$proxy);
}
***************
*** 592,596 ****
if( defined $u && defined $p ) {
! $self->{'_authentication'} = [ $u,$p];
}
return @{$self->{'_authentication'}};
--- 568,572 ----
if( defined $u && defined $p ) {
! $self->{'_authentication'} = [ $u,$p];
}
return @{$self->{'_authentication'}};
***************
*** 631,645 ****
sub retrieval_type {
! my ($self, $value) = @_;
! if( defined $value ) {
! $value = lc $value;
! if( ! $RETRIEVAL_TYPES{$value} ) {
! $self->warn("invalid retrieval type $value must be one of (" .
! join(",", keys %RETRIEVAL_TYPES), ")");
! $value = $DEFAULT_RETRIEVAL_TYPE;
! }
! $self->{'_retrieval_type'} = $value;
}
! return $self->{'_retrieval_type'};
}
--- 607,621 ----
sub retrieval_type {
! my ($self, $value) = @_;
! if( defined $value ) {
! $value = lc $value;
! if( ! $RETRIEVAL_TYPES{$value} ) {
! $self->warn("invalid retrieval type $value must be one of (" .
! join(",", keys %RETRIEVAL_TYPES), ")");
! $value = $DEFAULT_RETRIEVAL_TYPE;
}
! $self->{'_retrieval_type'} = $value;
! }
! return $self->{'_retrieval_type'};
}
***************
*** 656,663 ****
sub url_params {
! my ($self, $value) = @_;
! if( defined $value ) {
! $self->{'_urlparams'} = $value;
! }
}
--- 632,639 ----
sub url_params {
! my ($self, $value) = @_;
! if( defined $value ) {
! $self->{'_urlparams'} = $value;
! }
}
***************
*** 674,682 ****
sub ua {
! my ($self, $ua) = @_;
! if( defined $ua && $ua->isa("LWP::UserAgent") ) {
! $self->{'_ua'} = $ua;
! }
! return $self->{'_ua'};
}
--- 650,658 ----
sub ua {
! my ($self, $ua) = @_;
! if( defined $ua && $ua->isa("LWP::UserAgent") ) {
! $self->{'_ua'} = $ua;
! }
! return $self->{'_ua'};
}
***************
*** 701,771 ****
# private methods
sub _request {
- my ($self, $url,$tmpfile) = @_;
- my ($resp);
- if( defined $tmpfile && $tmpfile ne '' ) {
- $resp = $self->ua->request($url, $tmpfile);
- } else {
- $resp = $self->ua->request($url);
- }
! if( $resp->is_error ) {
! $self->throw("WebDBSeqI Request Error:\n".$resp->as_string);
! }
! return $resp;
}
# send web request to stdout for streaming purposes
sub _stream_request {
! my $self = shift;
! my $request = shift;
!
! # fork so as to pipe output of fetch process through to
! # postprocess_data method call.
! my $child = open (FETCH,"-|");
! $self->throw("Couldn't fork: $!") unless defined $child;
! my ($rformat, $ioformat) = $self->request_format;
! my $is_fasta = $ioformat eq 'fasta';
! if ($child) { # in parent
! local ($/) = $is_fasta ? ">" : "//\n"; # assume genbank/swiss format
! $| = 1;
! my $records = 0;
! while (my $record = ) {
! chomp($record);
! next unless $record =~ /\S/;
! $records++;
! $self->postprocess_data('type' => 'string',
! 'location' => \$record);
! print STDOUT $is_fasta ? ">$record" : "$record//\n";
! }
! $/ = "\n"; # reset to be safe;
! close FETCH;
! return $records;
! }
! else {
! $| = 1;
! my $resp = $self->ua->request($request,
! sub { print shift }
! );
! if( $resp->is_error ) {
! $self->throw("WebDBSeqI Request Error:\n".$resp->as_string);
! }
! close STDOUT;
! kill 9=>$$; # to prevent END{} blocks from executing in forked children
! sleep;
! }
! exit 0;
}
sub io {
! my ($self,$io) = @_;
! if(defined($io) || (! exists($self->{'_io'}))) {
! $io = Bio::Root::IO->new() unless $io;
! $self->{'_io'} = $io;
! }
! return $self->{'_io'};
}
--- 677,744 ----
# private methods
sub _request {
! my ($self, $url,$tmpfile) = @_;
! my ($resp);
! if( defined $tmpfile && $tmpfile ne '' ) {
! $resp = $self->ua->request($url, $tmpfile);
! } else { $resp = $self->ua->request($url); }
!
! if( $resp->is_error ) {
! $self->throw("WebDBSeqI Request Error:\n".$resp->as_string);
! }
! return $resp;
}
# send web request to stdout for streaming purposes
sub _stream_request {
! my $self = shift;
! my $request = shift;
! # fork so as to pipe output of fetch process through to
! # postprocess_data method call.
! my $child = open (FETCH,"-|");
! $self->throw("Couldn't fork: $!") unless defined $child;
! if ($child) {
! local ($/) = "//\n"; # assume genbank/swiss format
! $| = 1;
! my $records = 0;
! while (my $record = ) {
! $records++;
! $self->postprocess_data('type' => 'string',
! 'location' => \$record);
! print STDOUT $record;
! }
! $/ = "\n"; # reset to be safe;
! close(FETCH);
! close STDOUT;
! close STDERR;
! kill 9=>$$; # to prevent END{} blocks from executing in forked children
! sleep;
! }
! else {
! $| = 1;
! my $resp = $self->ua->request($request,
! sub { print shift }
! );
! if( $resp->is_error ) {
! $self->throw("WebDBSeqI Request Error:\n".$resp->as_string);
! }
! close STDOUT; close STDERR;
! kill 9=>$$; # to prevent END{} blocks from executing in forked children
! sleep;
! }
! exit 0;
}
sub io {
! my ($self,$io) = @_;
! if(defined($io) || (! exists($self->{'_io'}))) {
! $io = Bio::Root::IO->new() unless $io;
! $self->{'_io'} = $io;
! }
! return $self->{'_io'};
}
Index: NCBIHelper.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/NCBIHelper.pm,v
retrieving revision 1.39
retrieving revision 1.40
diff -C2 -d -r1.39 -r1.40
*** NCBIHelper.pm 9 Oct 2005 14:53:09 -0000 1.39
--- NCBIHelper.pm 17 Dec 2005 04:34:56 -0000 1.40
***************
*** 53,60 ****
=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.bioperl.org/
--- 53,62 ----
=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 email or the
web:
+ bioperl-bugs@bio.perl.org
http://bugzilla.bioperl.org/
***************
*** 76,80 ****
use strict;
use vars qw(@ISA $HOSTBASE %CGILOCATION %FORMATMAP
! $DEFAULTFORMAT $MAX_ENTRIES);
use Bio::DB::WebDBSeqI;
--- 78,82 ----
use strict;
use vars qw(@ISA $HOSTBASE %CGILOCATION %FORMATMAP
! $DEFAULTFORMAT $MAX_ENTRIES $VERSION);
use Bio::DB::WebDBSeqI;
***************
*** 87,90 ****
--- 89,93 ----
@ISA = qw(Bio::DB::WebDBSeqI Bio::Root::Root);
+ $VERSION = '0.8';
BEGIN {
***************
*** 99,107 ****
);
! %FORMATMAP = (
! 'gb' => 'genbank',
! 'gbwithparts' => 'genbank',
! 'gp' => 'genbank',
! 'fasta' => 'fasta',
);
--- 102,108 ----
);
! %FORMATMAP = ( 'gb' => 'genbank',
! 'gp' => 'genbank',
! 'fasta' => 'fasta',
);
***************
*** 160,168 ****
sub get_request {
my ($self, @qualifiers) = @_;
! my ($mode, $uids, $format,
! $query, $query_offset) = $self->_rearrange([qw(MODE UIDS FORMAT
! QUERY OFFSET)],
! @qualifiers);
!
$mode = lc $mode;
($format) = $self->request_format() unless ( defined $format);
--- 161,167 ----
sub get_request {
my ($self, @qualifiers) = @_;
! my ($mode, $uids, $format, $query, $seq_start, $seq_stop) = $self->_rearrange([qw(MODE UIDS FORMAT QUERY SEQ_START SEQ_STOP)],
! @qualifiers);
!
$mode = lc $mode;
($format) = $self->request_format() unless ( defined $format);
***************
*** 177,191 ****
$self->throw("Must specify a query or list of uids to fetch");
}
!
if ($uids) {
if( ref($uids) =~ /array/i ) {
! $uids = join(",", map {
! $_ = "\"$_\"" if( /^\d+/ );
! $_;
! } @$uids);
! } elsif( $uids =~ /^\d+/ ) {
! $uids = "\"$uids\""; # need to quote it
}
-
$params{'id'} = $uids;
}
--- 176,184 ----
$self->throw("Must specify a query or list of uids to fetch");
}
!
if ($uids) {
if( ref($uids) =~ /array/i ) {
! $uids = join(",", @$uids);
}
$params{'id'} = $uids;
}
***************
*** 199,205 ****
$params{'id'} = join ',',$query->ids;
}
$params{'rettype'} = $format;
- $params{'retstart'} = $query_offset if defined $query_offset;
if ($CGILOCATION{$mode}[0] eq 'post') {
return POST $url,[%params];
--- 192,200 ----
$params{'id'} = join ',',$query->ids;
}
+
+ defined $seq_start and $params{'seq_start'} = $seq_start;
+ defined $seq_stop and $params{'seq_stop'} = $seq_stop;
$params{'rettype'} = $format;
if ($CGILOCATION{$mode}[0] eq 'post') {
return POST $url,[%params];
***************
*** 320,325 ****
while( my $seq = $stream->next_seq() ) {
if( $seq->accession_number !~ /$unique_accessions[$ct]/ ) {
! $self->warn( sprintf("warning, %s does not match %s\n",
! $seq->accession_number, $unique_accessions[$ct]));
}
$accessions{$unique_accessions[$ct]}->{'seq'} = $seq;
--- 315,320 ----
while( my $seq = $stream->next_seq() ) {
if( $seq->accession_number !~ /$unique_accessions[$ct]/ ) {
! printf STDERR "warning, %s does not match %s\n",
! $seq->accession_number, $unique_accessions[$ct];
}
$accessions{$unique_accessions[$ct]}->{'seq'} = $seq;
***************
*** 445,454 ****
# Asking for a RefSeq from EMBL/GenBank
!
! if ($ids =~ /N._/) {
! $self->warn("[$ids] is not a normal sequence entry but a RefSeq entry.".
! " Redirecting the request.\n")
! if $self->verbose >= 0;
! return $self->refseq_db;
}
}
--- 440,451 ----
# Asking for a RefSeq from EMBL/GenBank
!
! unless ($self->no_redirect) {
! if ($ids =~ /N._/) {
! $self->warn("[$ids] is not a normal sequence database but a RefSeq entry.".
! " Redirecting the request.\n")
! if $self->verbose >= 0;
! return new Bio::DB::RefSeq;
! }
}
}
***************
*** 470,497 ****
my $self = shift;
return 3;
- }
-
- =head2 refseq_db
-
- Title : refseq_db
- Usage : $obj->refseq_db($newval)
- Function:
- Example :
- Returns : value of refseq_db (a scalar)
- Args : on set, new value (a scalar or undef, optional)
-
-
- =cut
-
- sub refseq_db{
- my $self = shift;
- if( @_ ) {
- return $self->{'refseq_db'} = shift;
- } elsif( ! defined $self->{'refseq_db'} ) {
- $self->{'refseq_db'} = Bio::DB::RefSeq->new
- (-retrievaltype => $self->retrieval_type,
- -verbose => $self->verbose);
- }
- return $self->{'refseq_db'};
}
--- 467,470 ----
Index: GenBank.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/GenBank.pm,v
retrieving revision 1.52
retrieving revision 1.53
diff -C2 -d -r1.52 -r1.53
*** GenBank.pm 16 Dec 2005 00:05:07 -0000 1.52
--- GenBank.pm 17 Dec 2005 04:34:56 -0000 1.53
***************
*** 44,48 ****
(-query =>'Oryza sativa[Organism] AND EST',
-reldate => '30',
! -db => 'nucleotide');
my $seqio = $gb->get_Stream_by_query($query);
--- 44,48 ----
(-query =>'Oryza sativa[Organism] AND EST',
-reldate => '30',
! -db => 'nucleotide');
my $seqio = $gb->get_Stream_by_query($query);
***************
*** 65,68 ****
--- 65,90 ----
# note that get_Stream_by_version is not implemented
+ # don't want the entire sequence or more options
+ my $gb = Bio::DB::GenBank->new(-format => 'Fasta',
+ -seq_start => 100,
+ -seq_stop => 200,
+ -strand => 1,
+ -complexity => 4));
+ my $seqi = $gb->get_Stream_by_query($query);
+
+ These alternate methods are described here:
+ L
+
+ NOTE: strand should be 1 for plus or 2 for minus.
+
+ Complexity: gi is often a part of a biological blob, containing other gis
+
+ complexity regulates the display:
+ 0 - get the whole blob
+ 1 - get the bioseq for gi of interest (default in Entrez)
+ 2 - get the minimal bioseq-set containing the gi of interest
+ 3 - get the minimal nuc-prot containing the gi of interest
+ 4 - get the minimal pub-set containing the gi of interest
+
=head1 DESCRIPTION
***************
*** 98,104 ****
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.bioperl.org/
--- 120,127 ----
Report bugs to the Bioperl bug tracking system to help us keep track
! the bugs and their resolution. Bug reports can be submitted via email
! or the web:
+ bioperl-bugs@bio.perl.org
http://bugzilla.bioperl.org/
***************
*** 150,154 ****
}
! # new() is in NCBIHelper
# helper method to get db specific options
--- 173,177 ----
}
! # new is in NCBIHelper
# helper method to get db specific options
***************
*** 162,168 ****
Args : -delay number of seconds to delay between fetches (3s)
! NOTE: There are other options that are used internally. By NCBI policy,
! this module introduces a 3s delay between fetches. If you are fetching
! multiple genbank ids, it is a good idea to use get
=cut
--- 185,191 ----
Args : -delay number of seconds to delay between fetches (3s)
! NOTE: There are other options that are used internally. By NCBI policy, this
! module introduces a 3s delay between fetches. If you are fetching multiple genbank
! ids, it is a good idea to use get
=cut
***************
*** 208,219 ****
Throws : "id does not exist" exception
- =cut
-
-
- sub get_Seq_by_acc {
- my ($self,$seqid) = @_;
- $self->SUPER::get_Seq_by_acc("gb|$seqid");
- }
-
=head2 get_Seq_by_gi
--- 231,234 ----
***************
*** 306,309 ****
1;
-
__END__
--- 321,323 ----
From bugzilla-daemon at portal.open-bio.org Fri Dec 16 23:36:25 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Fri Dec 16 23:58:35 2005
Subject: [Bioperl-guts-l] [Bug 1405] Enhancement to Bio::DB::GenBank to
allow subsequence retrieval
Message-ID: <200512170436.jBH4aP4P010970@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1405
osborne1@optonline.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Comment #11 from osborne1@optonline.net 2005-12-16 23:36 -------
Patches applied, test added to t/DB.t. All tests pass but the fact that these
files are quite old is a bit worrisome (these were not patches by the way, they
were the module files themselves).
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bosborne at pub.open-bio.org Sat Dec 17 22:21:36 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Sat Dec 17 22:16:32 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/SeqIO genbank.pm,1.122,1.123
Message-ID: <200512180321.jBI3LaVL017932@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/SeqIO
In directory pub.open-bio.org:/tmp/cvs-serv17923/Bio/SeqIO
Modified Files:
genbank.pm
Log Message:
New address
Index: genbank.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/genbank.pm,v
retrieving revision 1.122
retrieving revision 1.123
diff -C2 -d -r1.122 -r1.123
*** genbank.pm 18 Oct 2005 18:24:05 -0000 1.122
--- genbank.pm 18 Dec 2005 03:21:34 -0000 1.123
***************
*** 116,120 ****
There is more information in the Feature-Annotation HOWTO about each
! field and how it is mapped to the Sequence object.
=head1 FEEDBACK
--- 116,121 ----
There is more information in the Feature-Annotation HOWTO about each
! field and how it is mapped to the Sequence object
! (http://bioperl.org/HOWTOs).
=head1 FEEDBACK
***************
*** 154,158 ****
Donald G. Jackson, donald.jackson at bms.com
James Wasmuth, james.wasmuth at ed.ac.uk
! Brian Osborne, brian at cognia.com
=head1 APPENDIX
--- 155,159 ----
Donald G. Jackson, donald.jackson at bms.com
James Wasmuth, james.wasmuth at ed.ac.uk
! Brian Osborne, osborne1 at optonline.net
=head1 APPENDIX
From bosborne at pub.open-bio.org Sun Dec 18 10:18:16 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Sun Dec 18 10:11:38 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Index Swissprot.pm,1.20,1.21
Message-ID: <200512181518.jBIFIGVL028239@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Index
In directory pub.open-bio.org:/tmp/cvs-serv28230/Bio/Index
Modified Files:
Swissprot.pm
Log Message:
New address
Index: Swissprot.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Index/Swissprot.pm,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** Swissprot.pm 28 Feb 2005 12:49:53 -0000 1.20
--- Swissprot.pm 18 Dec 2005 15:18:14 -0000 1.21
***************
*** 92,96 ****
=head1 AUTHOR - Ewan Birney
! Also lorenz@ist.org, bosborne@cognia.com
=head1 APPENDIX
--- 92,96 ----
=head1 AUTHOR - Ewan Birney
! Also lorenz@ist.org, osborne1@optonline.net
=head1 APPENDIX
From bosborne at pub.open-bio.org Sun Dec 18 10:19:57 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Sun Dec 18 10:13:09 2005
Subject: [Bioperl-guts-l] bioperl-live/scripts/utilities mutate.PLS,1.7,1.8
Message-ID: <200512181519.jBIFJvVL028271@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/scripts/utilities
In directory pub.open-bio.org:/tmp/cvs-serv28262/scripts/utilities
Modified Files:
mutate.PLS
Log Message:
New address
Index: mutate.PLS
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/scripts/utilities/mutate.PLS,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** mutate.PLS 26 Apr 2005 15:03:53 -0000 1.7
--- mutate.PLS 18 Dec 2005 15:19:55 -0000 1.8
***************
*** 45,49 ****
=head1 AUTHOR
! Brian Osborne, brian_osborne at cognia.com
=cut
--- 45,49 ----
=head1 AUTHOR
! Brian Osborne, osborne1 at optonline.net
=cut
From bosborne at pub.open-bio.org Sun Dec 18 10:43:19 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Sun Dec 18 10:36:12 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/DB SwissProt.pm,1.24,1.25
Message-ID: <200512181543.jBIFhJVL028411@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/DB
In directory pub.open-bio.org:/tmp/cvs-serv28402/Bio/DB
Modified Files:
SwissProt.pm
Log Message:
Minor edits
Index: SwissProt.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/SwissProt.pm,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** SwissProt.pm 17 Nov 2005 09:54:46 -0000 1.24
--- SwissProt.pm 18 Dec 2005 15:43:17 -0000 1.25
***************
*** 86,91 ****
the correct expasy scripts and for swissknife references.
! Also thanks to Heikki Lehvaslaiho Eheikki-at-bioperl-dot-orgE for help with
! adding EBI swall server.
=head1 APPENDIX
--- 86,91 ----
the correct expasy scripts and for swissknife references.
! Also thanks to Heikki Lehvaslaiho Eheikki-at-bioperl-dot-orgE
! for help with adding EBI swall server.
=head1 APPENDIX
***************
*** 412,419 ****
$self->request_format("genbank");
$self->request_format("fasta");
! Function: Get/Set sequence format retrieval. The get-form will normally not
! be used outside of this and derived modules.
Returns : Array of two strings, the first representing the format for
! retrieval, and the second specifying the corresponding SeqIO format.
Args : $format = sequence format
--- 412,420 ----
$self->request_format("genbank");
$self->request_format("fasta");
! Function: Get/Set sequence format retrieval. The get-form will normally
! not be used outside of this and derived modules.
Returns : Array of two strings, the first representing the format for
! retrieval, and the second specifying the corresponding SeqIO
! format.
Args : $format = sequence format
***************
*** 447,449 ****
--- 448,451 ----
1;
+
__END__
From bugzilla-daemon at portal.open-bio.org Tue Dec 20 12:54:40 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Tue Dec 20 12:58:19 2005
Subject: [Bioperl-guts-l] [Bug 1922] New: Annotation:_typemap remembers
removed types
Message-ID: <200512201754.jBKHsemd026748@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1922
Summary: Annotation:_typemap remembers removed types
Product: Bioperl
Version: 1.5 branch
Platform: PC
OS/Version: Linux
Status: NEW
Severity: minor
Priority: P2
Component: Core Components
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: mriester@gmx.de
not sure if the current behaviour is a bug or a feature. This trivial patch
removes the type from _typemap after removal.
It is useful for database tests (changing Bio::Seq objects => writing them to
database, get them from db, compare with is_deeply() ).
Bio/Annotation/Collection.pm
321,322c321,323
< foreach (@keys) {
< delete $self->{'_annotation'}->{$_};
---
> foreach my $key (@keys) {
> delete $self->{'_annotation'}->{$key};
> delete $self->{'_typemap'}->{'_type'}->{$key};
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Tue Dec 20 15:52:23 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Tue Dec 20 15:58:19 2005
Subject: [Bioperl-guts-l] [Bug 1923] New: typo in Bio::Annotation::Collection
Message-ID: <200512202052.jBKKqNAN029941@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1923
Summary: typo in Bio::Annotation::Collection
Product: Bioperl
Version: main-trunk
Platform: All
OS/Version: Linux
Status: NEW
Severity: trivial
Priority: P2
Component: Documentation
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: mriester@gmx.de
Bioperl implementation for Bio::AnnotationColleciton
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From jason at pub.open-bio.org Tue Dec 20 17:12:50 2005
From: jason at pub.open-bio.org (Jason Stajich)
Date: Tue Dec 20 17:05:24 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Annotation Collection.pm, 1.18,
1.19
Message-ID: <200512202212.jBKMCoVL005760@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Annotation
In directory pub.open-bio.org:/tmp/cvs-serv5744
Modified Files:
Collection.pm
Log Message:
bug #1923
Index: Collection.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Annotation/Collection.pm,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** Collection.pm 6 Oct 2005 00:57:32 -0000 1.18
--- Collection.pm 20 Dec 2005 22:12:48 -0000 1.19
***************
*** 37,41 ****
=head1 DESCRIPTION
! Bioperl implementation for Bio::AnnotationCollecitonI
=head1 FEEDBACK
--- 37,41 ----
=head1 DESCRIPTION
! Bioperl implementation for Bio::AnnotationCollectionI
=head1 FEEDBACK
From bugzilla-daemon at portal.open-bio.org Tue Dec 20 17:05:37 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Tue Dec 20 17:58:18 2005
Subject: [Bioperl-guts-l] [Bug 1923] typo in Bio::Annotation::Collection
Message-ID: <200512202205.jBKM5b05031028@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1923
jason@open-bio.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Comment #1 from jason@open-bio.org 2005-12-20 17:05 -------
fixed. thanks!
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From tseemann at pub.open-bio.org Wed Dec 21 05:59:04 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Wed Dec 21 05:51:35 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Root Utilities.pm,1.23,1.24
Message-ID: <200512211059.jBLAx4VL007792@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Root
In directory pub.open-bio.org:/tmp/cvs-serv7777/Bio/Root
Modified Files:
Utilities.pm
Log Message:
Fixed num2month() returning wrong months, 0/1 array base problem
Index: Utilities.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Root/Utilities.pm,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** Utilities.pm 9 Oct 2005 14:53:17 -0000 1.23
--- Utilities.pm 21 Dec 2005 10:59:01 -0000 1.24
***************
*** 369,373 ****
$self->throw("Month out of range: $num") if $num < 1 or $num > 12;
! return $MONTHS[$num];
}
--- 369,373 ----
$self->throw("Month out of range: $num") if $num < 1 or $num > 12;
! return $MONTHS[$num-1];
}
From tseemann at pub.open-bio.org Wed Dec 21 06:20:25 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Wed Dec 21 06:12:57 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Root Utilities.pm,1.24,1.25
Message-ID: <200512211120.jBLBKPVL007845@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Root
In directory pub.open-bio.org:/tmp/cvs-serv7825/Bio/Root
Modified Files:
Utilities.pm
Log Message:
Made mean_stdev() more robust when data list has less than 2 elements
Index: Utilities.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Root/Utilities.pm,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** Utilities.pm 21 Dec 2005 10:59:01 -0000 1.24
--- Utilities.pm 21 Dec 2005 11:20:23 -0000 1.25
***************
*** 622,625 ****
--- 622,626 ----
#---------------
my ($self, @data) = @_;
+ return (undef,undef) if not @data; # case of empty @data list
my $mean = 0;
foreach (@data) { $mean += $_; }
***************
*** 627,631 ****
my $sum_diff_sqd = 0;
foreach (@data) { $sum_diff_sqd += ($mean - $_) * ($mean - $_); }
! my $stdev = sqrt(abs($sum_diff_sqd/(scalar @data)-1));
return ($mean, $stdev);
}
--- 628,635 ----
my $sum_diff_sqd = 0;
foreach (@data) { $sum_diff_sqd += ($mean - $_) * ($mean - $_); }
! # if only one element in @data list, unbiased stdev is undefined
! my $stdev = scalar(@data) <= 1
! ? undef
! : sqrt(abs($sum_diff_sqd/(scalar @data)-1));
return ($mean, $stdev);
}
From tseemann at pub.open-bio.org Wed Dec 21 06:31:00 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Wed Dec 21 06:23:31 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Root Utilities.pm,1.25,1.26
Message-ID: <200512211131.jBLBV0VL007884@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Root
In directory pub.open-bio.org:/tmp/cvs-serv7869/Bio/Root
Modified Files:
Utilities.pm
Log Message:
Bug in std.dev. calculation, was X^2/N-1 should be X^2/(N-1)
Index: Utilities.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Root/Utilities.pm,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** Utilities.pm 21 Dec 2005 11:20:23 -0000 1.25
--- Utilities.pm 21 Dec 2005 11:30:58 -0000 1.26
***************
*** 624,635 ****
return (undef,undef) if not @data; # case of empty @data list
my $mean = 0;
! foreach (@data) { $mean += $_; }
! $mean /= scalar @data;
my $sum_diff_sqd = 0;
foreach (@data) { $sum_diff_sqd += ($mean - $_) * ($mean - $_); }
# if only one element in @data list, unbiased stdev is undefined
! my $stdev = scalar(@data) <= 1
! ? undef
! : sqrt(abs($sum_diff_sqd/(scalar @data)-1));
return ($mean, $stdev);
}
--- 624,634 ----
return (undef,undef) if not @data; # case of empty @data list
my $mean = 0;
! my $N = 0;
! foreach (@data) { $mean += $_; $N++ }
! $mean /= $N;
my $sum_diff_sqd = 0;
foreach (@data) { $sum_diff_sqd += ($mean - $_) * ($mean - $_); }
# if only one element in @data list, unbiased stdev is undefined
! my $stdev = $N <= 1 ? undef : sqrt( $sum_diff_sqd / ($N-1) );
return ($mean, $stdev);
}
From tseemann at pub.open-bio.org Wed Dec 21 06:36:36 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Wed Dec 21 06:29:18 2005
Subject: [Bioperl-guts-l] bioperl-live/t Root-Utilities.t,NONE,1.1
Message-ID: <200512211136.jBLBaaVL007908@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/t
In directory pub.open-bio.org:/tmp/cvs-serv7893/t
Added Files:
Root-Utilities.t
Log Message:
Created test set for previously untested (unused?) Bio::Root::Utilities
--- NEW FILE: Root-Utilities.t ---
#-*-Perl-*-
# Test file for Bio::Root::Utilities
# Author: Torsten Seemann
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.t'
use strict;
use lib './';
BEGIN {
# to handle systems with no installed Test module
# we include the t dir (where a copy of Test.pm is located)
# as a fallback
eval { require Test; };
if( $@ ) {
use lib 't';
}
use Test;
plan tests => 36;
}
use Bio::Root::Utilities;
# Test
ok(1);
# Object creation
my $u = Bio::Root::Utilities->new();
ok($u);
# month2num() and num2month()
my @month = qw(XXX Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
for my $i (1 .. 12) {
ok $u->month2num($month[$i]), $i;
ok $u->num2month($i), $month[$i];
}
# untaint()
# this is the behaviour the function has, but should it return '' ?
ok $u->untaint(''), undef;
ok $u->untaint('nice string'), 'nice string';
ok $u->untaint('bad *?&^$! string'), 'bad ';
ok $u->untaint( q{100% relaxed&;''\"|*?!~<>^()[]{}$}, 1 ), '100% relaxed';
# mean_stdev()
my($mu,$sd);
($mu,$sd) = $u->mean_stdev();
ok $mu, undef;
ok $sd, undef;
($mu,$sd) = $u->mean_stdev(42);
ok $mu, 42;
ok $sd, undef;
($mu,$sd) = $u->mean_stdev(-1,0,1);
ok $mu, 0;
ok $sd, 1;
# other functions still need testing
# but many depend on the filesystem and access to binaries
From tseemann at pub.open-bio.org Wed Dec 21 06:50:24 2005
From: tseemann at pub.open-bio.org (Torsten Seemann)
Date: Wed Dec 21 06:42:52 2005
Subject: [Bioperl-guts-l]
bioperl-live/Bio/Tools/Run StandAloneBlast.pm, 1.53, 1.54
Message-ID: <200512211150.jBLBoOVL007951@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tools/Run
In directory pub.open-bio.org:/tmp/cvs-serv7931/Bio/Tools/Run
Modified Files:
StandAloneBlast.pm
Log Message:
Typo: changed WUBLASTIDR to WUBLASTDIR
Index: StandAloneBlast.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tools/Run/StandAloneBlast.pm,v
retrieving revision 1.53
retrieving revision 1.54
diff -C2 -d -r1.53 -r1.54
*** StandAloneBlast.pm 2 Dec 2005 01:05:59 -0000 1.53
--- StandAloneBlast.pm 21 Dec 2005 11:50:21 -0000 1.54
***************
*** 302,306 ****
# BLASTDIR in every script that will use StandAloneBlast.pm.
! $PROGRAMDIR = $BLASTTYPE eq 'ncbi' ? $ENV{'BLASTDIR'}: $ENV{'WUBLASTIDR'};
# If local BLAST databases are not stored in the standard
--- 302,306 ----
# BLASTDIR in every script that will use StandAloneBlast.pm.
! $PROGRAMDIR = $BLASTTYPE eq 'ncbi' ? $ENV{'BLASTDIR'}: $ENV{'WUBLASTDIR'};
# If local BLAST databases are not stored in the standard
From bugzilla-daemon at portal.open-bio.org Wed Dec 21 07:08:40 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Wed Dec 21 07:58:24 2005
Subject: [Bioperl-guts-l] [Bug 1924] New: scansite
Message-ID: <200512211208.jBLC8eH3012439@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1924
Summary: scansite
Product: Bioperl
Version: 1.5 branch
Platform: All
OS/Version: Linux
Status: NEW
Keywords: Bioperl
Severity: enhancement
Priority: P2
Component: bioperl-run
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: gdi@gbf.de
to get the scansite picture path:
in _run method
add
my $text = $content->content;
$text =~ m!(\/temp\-img\/.+\.png)\">!;
my $picture = $DOMAIN . $1;
$self->{'picture'} = $picture;
new method:
sub get_picture {
my $self = shift;
return $self->{'picture'};
}
add
possiblity to set proxy
eg by adding LWP::UserAgent
in WebAgent or else
I put it in scansite.pm direct!
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Wed Dec 21 09:49:11 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Wed Dec 21 09:58:20 2005
Subject: [Bioperl-guts-l] [Bug 1925] New: NC_006511.gbk,
species name/classification not parsed correctly
Message-ID: <200512211449.jBLEnAsv017185@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1925
Summary: NC_006511.gbk, species name/classification not parsed
correctly
Product: Bioperl
Version: main-trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Bio::SeqIO
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: mriester@gmx.de
in the file below, 9150 is added to classification, not species name.
NC_006511.gbk:
ORGANISM Salmonella enterica subsp. enterica serovar Paratyphi A str. ATCC
9150
Bacteria; Proteobacteria; Gammaproteobacteria; Enterobacteriales;
Enterobacteriaceae; Salmonella.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From lstein at pub.open-bio.org Wed Dec 21 14:00:55 2005
From: lstein at pub.open-bio.org (Lincoln Stein)
Date: Wed Dec 21 13:53:25 2005
Subject: [Bioperl-guts-l] bioperl-live/scripts/Bio-DB-GFF bulk_load_gff.PLS,
1.34, 1.35 fast_load_gff.PLS, 1.23, 1.24
Message-ID: <200512211900.jBLJ0tVL008638@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/scripts/Bio-DB-GFF
In directory pub.open-bio.org:/tmp/cvs-serv8629
Modified Files:
bulk_load_gff.PLS fast_load_gff.PLS
Log Message:
added an "analyze" step after loading data - should make queries faster
Index: bulk_load_gff.PLS
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/scripts/Bio-DB-GFF/bulk_load_gff.PLS,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** bulk_load_gff.PLS 18 Nov 2005 22:53:36 -0000 1.34
--- bulk_load_gff.PLS 21 Dec 2005 19:00:52 -0000 1.35
***************
*** 545,549 ****
$_->close foreach values %FH;
printf STDERR "Total parse time %5.2fs\n",(Time::HiRes::time() - $start) if $timer;
! warn "Loading feature data. You may see duplicate key warnings here...\n";
if ($use_pg){
--- 545,549 ----
$_->close foreach values %FH;
printf STDERR "Total parse time %5.2fs\n",(Time::HiRes::time() - $start) if $timer;
! warn "Loading feature data and analyzing tables. You may see RDBMS messages here...\n";
if ($use_pg){
***************
*** 575,601 ****
my $TERMINATEDBY = $bWINDOWS ? q( LINES TERMINATED BY '\r\n') : '';
foreach (@files) {
! my $command = qq[
! ${\MYSQL} $AUTH -e "lock tables ]
! . function_to_table($_,$ADAPTOR)
! . qq[ write; delete from ]
! . function_to_table($_,$ADAPTOR)
! . qq[; load data $LOCAL infile '$tmpdir/$_.$$' replace into table ]
! . function_to_table($_,$ADAPTOR)
! . qq[ $TERMINATEDBY; unlock tables"
! ];
! $command =~ s/\n/ /g;
! $success &&= system($command) == 0;
! unlink "$tmpdir/$_.$$";
! }
! printf STDERR "Total load time %5.2fs\n",(time() - $start) if $timer;
! warn "done...\n";
! if ($success) {
! print "$FEATURES features successfully loaded\n";
! exit 0;
! } else {
! print "FAILURE: Please see standard error for details\n";
! exit -1;
! }
}
--- 575,600 ----
my $TERMINATEDBY = $bWINDOWS ? q( LINES TERMINATED BY '\r\n') : '';
foreach (@files) {
! my $table = function_to_table($_,$ADAPTOR);
! my $sql = join ('; ',
! "lock tables $table write",
! "delete from $table",
! "load data $LOCAL infile '$tmpdir/$_.$$' replace into table $table $TERMINATEDBY",
! "analyze table $table",
! "unlock tables");
! my $command = MYSQL . qq[$AUTH -s -e "$sql"];
! $command =~ s/\n/ /g;
! $success &&= system($command) == 0;
! unlink "$tmpdir/$_.$$";
! }
! printf STDERR "Total load time %5.2fs\n",(time() - $start) if $timer;
! warn "done...\n";
! if ($success) {
! print "$FEATURES features successfully loaded\n";
! exit 0;
! } else {
! print "FAILURE: Please see standard error for details\n";
! exit -1;
! }
}
Index: fast_load_gff.PLS
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/scripts/Bio-DB-GFF/fast_load_gff.PLS,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** fast_load_gff.PLS 18 Nov 2005 22:53:36 -0000 1.23
--- fast_load_gff.PLS 21 Dec 2005 19:00:52 -0000 1.24
***************
*** 220,223 ****
--- 220,225 ----
load_tables($db->dbh) unless $CREATE;
+ my ($major,$minor,$sub) = split /\./,$db->dbh->get_info(18); # SQL_DBMS_VER
+ my $can_disable_indexes = $major >= 4 and $minor >= 0;
# open up pipes to the database
***************
*** 233,239 ****
my $delete = $CREATE ? "delete from $_" : '';
my $local = $LOCAL ? 'local' : '';
my $command =<
Update of /home/repository/bioperl/bioperl-live/Bio/SeqIO
In directory pub.open-bio.org:/tmp/cvs-serv13831/Bio/SeqIO
Modified Files:
game.pm
Log Message:
Minor edits
Index: game.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqIO/game.pm,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** game.pm 1 Oct 2005 00:26:29 -0000 1.34
--- game.pm 23 Dec 2005 14:36:18 -0000 1.35
***************
*** 16,19 ****
--- 16,21 ----
=head1 SYNOPSIS
+ This module is not used directly, use SeqIO.
+
use Bio::SeqIO;
***************
*** 27,37 ****
Bio::SeqIO::game will parse game XML (version 1.2) or write game XML from
! a Bio::SeqI implementing object. The XML is readable by the genome annotation
! editor 'Apollo' (www.gmod.org). It is not backwards compatible with the previous
! version of game XML. The XML format currently used by Apollo
! contains a single 'main' annotated sequence, so we will only get a single
! annotated sequence in the stream when parsing a game-XML record.
!
! This modules is not used directly
=head1 FEEDBACK
--- 29,37 ----
Bio::SeqIO::game will parse game XML (version 1.2) or write game XML from
! a Bio::SeqI implementing object. The XML is readable by the genome
! annotation editor 'Apollo' (www.gmod.org). It is not backwards compatible
! with the previous version of game XML. The XML format currently used by
! Apollo contains a single 'main' annotated sequence, so we will only get a
! single annotated sequence in the stream when parsing a game-XML record.
=head1 FEEDBACK
From bosborne at pub.open-bio.org Fri Dec 23 15:39:38 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 23 15:32:08 2005
Subject: [Bioperl-guts-l] bioperl-ext/Bio/SeqIO/staden read.pm,1.8,1.9
Message-ID: <200512232039.jBNKdcVL014779@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-ext/Bio/SeqIO/staden
In directory pub.open-bio.org:/tmp/cvs-serv14770/Bio/SeqIO/staden
Modified Files:
read.pm
Log Message:
Looks like all version numbers must match for 'make'
Index: read.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-ext/Bio/SeqIO/staden/read.pm,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** read.pm 9 Oct 2005 14:55:26 -0000 1.8
--- read.pm 23 Dec 2005 20:39:35 -0000 1.9
***************
*** 76,80 ****
use Inline (C => 'DATA',
! VERSION => '0.01',
NAME => 'Bio::SeqIO::staden::read',
LIBS => "-L/usr/local/lib -lread -lz", # leave these as double quotes - necessary for Makefile.PL function
--- 76,80 ----
use Inline (C => 'DATA',
! VERSION => '1.51',
NAME => 'Bio::SeqIO::staden::read',
LIBS => "-L/usr/local/lib -lread -lz", # leave these as double quotes - necessary for Makefile.PL function
***************
*** 86,90 ****
}
! $VERSION = 1.5.1;
my %formats = ( scf => 1,
--- 86,90 ----
}
! $VERSION = 1.51;
my %formats = ( scf => 1,
From bosborne at pub.open-bio.org Sun Dec 25 17:30:41 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Sun Dec 25 17:22:43 2005
Subject: [Bioperl-guts-l] bioperl-live/t/data tblastn.out,NONE,1.1
Message-ID: <200512252230.jBPMUfVL028680@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/t/data
In directory pub.open-bio.org:/tmp/cvs-serv28671
Added Files:
tblastn.out
Log Message:
Add tblastn file
--- NEW FILE: tblastn.out ---
TBLASTN 2.2.10 [Oct-19-2004]
Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer,
Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997),
"Gapped BLAST and PSI-BLAST: a new generation of protein database search
programs", Nucleic Acids Res. 25:3389-3402.
Query= HAHU | 1114 | Hemoglobin alpha chain - Human, chimpanzee, and
pygmy chimpanzee
(141 letters)
Database: testnt.fa
2 sequences; 13,260 total letters
Searching..done
Score E
Sequences producing significant alignments: (bits) Value
gi|10040111|emb|AL390796.6|AL390796 Homo sapiens chromosome 1 cl... 18 2.3
test6 16 6.7
>gi|10040111|emb|AL390796.6|AL390796 Homo sapiens chromosome 1 clone
RP11-562F3, *** SEQUENCING IN PROGRESS ***, 16 unordered
pieces /len=164198
Length = 8160
Score = 17.7 bits (34), Expect = 2.3
Identities = 8/23 (34%), Positives = 11/23 (47%)
Frame = +1
Query: 56 KGHGKKVADALTNAVAHVDDMPN 78
KGH KK+ N ++ D N
Sbjct: 7603 KGHLKKITSFFFNHTSNYRDEYN 7671
Score = 17.3 bits (33), Expect = 3.0
Identities = 9/28 (32%), Positives = 13/28 (46%)
Frame = +1
Query: 31 RMFLSFPTTKTYFPHFDLSHGSAQVKGH 58
RM+ F TY+ +F L V G+
Sbjct: 7069 RMYFCFLKVLTYYFNFFLFFNIFYVLGY 7152
>test6
Length = 5100
Score = 16.2 bits (30), Expect = 6.7
Identities = 6/9 (66%), Positives = 7/9 (77%)
Frame = +3
Query: 72 HVDDMPNAL 80
H+D M NAL
Sbjct: 3822 HMDYMSNAL 3848
Score = 15.8 bits (29), Expect = 8.8
Identities = 5/7 (71%), Positives = 6/7 (85%)
Frame = -2
Query: 93 VDPVNFK 99
+DP NFK
Sbjct: 1814 IDP*NFK 1794
Database: testnt.fa
Posted date: Feb 5, 2005 6:26 PM
Number of letters in database: 13,260
Number of sequences in database: 2
Lambda K H
0.319 0.130 0.385
Gapped
Lambda K H
0.267 0.0410 0.140
Matrix: BLOSUM62
Gap Penalties: Existence: 11, Extension: 1
Number of Hits to DB: 1998
Number of Sequences: 2
Number of extensions: 23
Number of successful extensions: 4
Number of sequences better than 10.0: 2
Number of HSP's better than 10.0 without gapping: 3
Number of HSP's successfully gapped in prelim test: 0
Number of HSP's that attempted gapping in prelim test: 0
Number of HSP's gapped (non-prelim): 4
length of query: 141
length of database: 4420
effective HSP length: 39
effective length of query: 102
effective length of database: 4342
effective search space: 442884
effective search space used: 442884
frameshift window, decay const: 40, 0.1
T: 13
A: 40
X1: 16 ( 7.4 bits)
X2: 38 (14.6 bits)
X3: 64 (24.7 bits)
S1: 29 (16.3 bits)
S2: 29 (15.8 bits)
From bosborne at pub.open-bio.org Sun Dec 25 17:33:40 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Sun Dec 25 17:25:42 2005
Subject: [Bioperl-guts-l] bioperl-live/t SearchIO.t,1.90,1.91
Message-ID: <200512252233.jBPMXeVL028711@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/t
In directory pub.open-bio.org:/tmp/cvs-serv28702/t
Modified Files:
SearchIO.t
Log Message:
Add a few tblastn tests
Index: SearchIO.t
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/t/SearchIO.t,v
retrieving revision 1.90
retrieving revision 1.91
diff -C2 -d -r1.90 -r1.91
*** SearchIO.t 17 Sep 2005 02:11:21 -0000 1.90
--- SearchIO.t 25 Dec 2005 22:33:38 -0000 1.91
***************
*** 23,27 ****
}
use vars qw($NTESTS);
! $NTESTS = 1227;
$LASTXMLTEST = 67;
$error = 0;
--- 23,27 ----
}
use vars qw($NTESTS);
! $NTESTS = 1230;
$LASTXMLTEST = 67;
$error = 0;
***************
*** 1561,1564 ****
--- 1561,1574 ----
ok($hsp->query->strand,1);
ok($hsp->hit->strand,1);
+
+ # this is NCBI tblastn
+ $searchio = new Bio::SearchIO(-format => 'blast',
+ -file => Bio::Root::IO->catfile
+ (qw(t data tblastn.out)));
+ $result = $searchio->next_result;
+ ok($result);
+ ok($result->algorithm, 'TBLASTN');
+ $hit = $result->next_hit;
+ ok($hit->name,'gi|10040111|emb|AL390796.6|AL390796');
# test blasttable output
From bosborne at pub.open-bio.org Tue Dec 27 15:14:10 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Tue Dec 27 15:06:02 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Graph/IO dip.pm,1.11,1.12
Message-ID: <200512272014.jBRKEAVL001242@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Graph/IO
In directory pub.open-bio.org:/tmp/cvs-serv1233/Bio/Graph/IO
Modified Files:
dip.pm
Log Message:
Minor edits
Index: dip.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Graph/IO/dip.pm,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** dip.pm 11 Mar 2005 13:28:38 -0000 1.11
--- dip.pm 27 Dec 2005 20:14:08 -0000 1.12
***************
*** 43,50 ****
name : next_network
! purpose : parses a graph file and returns a Bio::Graph::ProteinGraph object
usage : my $g = $graph_io->next_network();
arguments : none
! returns : a a Bio::Graph::ProteinGraph object
=cut
--- 43,51 ----
name : next_network
! purpose : parses a graph file and returns a Bio::Graph::ProteinGraph
! object
usage : my $g = $graph_io->next_network();
arguments : none
! returns : a Bio::Graph::ProteinGraph object
=cut
From valiente at pub.open-bio.org Wed Dec 28 07:14:20 2005
From: valiente at pub.open-bio.org (Gabriel Valiente)
Date: Wed Dec 28 07:06:23 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Tree Compatible.pm,1.1,1.2
Message-ID: <200512281214.jBSCEKVL003077@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Tree
In directory pub.open-bio.org:/tmp/cvs-serv3062/Bio/Tree
Modified Files:
Compatible.pm
Log Message:
postorder is postorder_traversal
Index: Compatible.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Tree/Compatible.pm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Compatible.pm 24 May 2005 12:13:20 -0000 1.1
--- Compatible.pm 28 Dec 2005 12:14:18 -0000 1.2
***************
*** 214,218 ****
my ($tree) = @_;
my %cluster;
! my @postorder = @{ postorder($tree) };
foreach my $node ( @postorder ) {
my @labeled = map { $_->id } grep { $_->id } $node->get_Descendents;
--- 214,218 ----
my ($tree) = @_;
my %cluster;
! my @postorder = @{ postorder_traversal($tree) };
foreach my $node ( @postorder ) {
my @labeled = map { $_->id } grep { $_->id } $node->get_Descendents;
***************
*** 288,292 ****
sub topological_restriction {
my ($tree, $labels) = @_;
! for my $node ( @{ postorder($tree) } ) {
my @cluster = map { $_->id } grep { $_->id } $node->get_Descendents;
push @cluster, $node->id if $node->id;
--- 288,292 ----
sub topological_restriction {
my ($tree, $labels) = @_;
! for my $node ( @{ postorder_traversal($tree) } ) {
my @cluster = map { $_->id } grep { $_->id } $node->get_Descendents;
push @cluster, $node->id if $node->id;
***************
*** 372,377 ****
$tree1->Bio::Tree::Compatible::topological_restriction($common);
$tree2->Bio::Tree::Compatible::topological_restriction($common);
! my @postorder1 = @{ postorder($tree1) };
! my @postorder2 = @{ postorder($tree2) };
my %cluster1 = %{ cluster_representation($tree1) };
my %cluster2 = %{ cluster_representation($tree2) };
--- 372,377 ----
$tree1->Bio::Tree::Compatible::topological_restriction($common);
$tree2->Bio::Tree::Compatible::topological_restriction($common);
! my @postorder1 = @{ postorder_traversal($tree1) };
! my @postorder2 = @{ postorder_traversal($tree2) };
my %cluster1 = %{ cluster_representation($tree1) };
my %cluster2 = %{ cluster_representation($tree2) };
From valiente at pub.open-bio.org Wed Dec 28 07:16:49 2005
From: valiente at pub.open-bio.org (Gabriel Valiente)
Date: Wed Dec 28 07:08:33 2005
Subject: [Bioperl-guts-l] bioperl-live/t Compatible.t,NONE,1.1
Message-ID: <200512281216.jBSCGnVL003112@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/t
In directory pub.open-bio.org:/tmp/cvs-serv3097/t
Added Files:
Compatible.t
Log Message:
first attempt at testing Compatible.pm
--- NEW FILE: Compatible.t ---
# -*-Perl-*-
## Bioperl Test Harness Script for Modules
##
my $error;
use strict;
use vars qw($DEBUG);
$DEBUG = $ENV{'BIOPERLDEBUG'} || 0;
BEGIN {
# to handle systems with no installed Test module
# we include the t dir (where a copy of Test.pm is located)
# as a fallback
$error = 0;
eval { require Test; };
if( $@ ) {
use lib 't';
}
use Test;
use vars qw($TESTCOUNT);
$TESTCOUNT = 5;
plan tests => $TESTCOUNT;
}
use Bio::Tree::Compatible;
use Bio::TreeIO;
my $verbose = 0;
my $in = new Bio::TreeIO(-format => 'newick',
-fh => \*DATA);
# the common labels of (((A,B)C,D),(E,F,G)); and ((A,B)H,E,(J,(K)G)I);
# are [A,B,E,G]
my $t1 = $in->next_tree;
my $t2 = $in->next_tree;
my $common = $t1->Bio::Tree::Compatible::common_labels($t2);
my $labels = Set::Scalar->new(qw(A B E G));
ok($common->is_equal($labels));
# the topological restrictions of (((A,B)C,D),(E,F,G)); and
# ((A,B)H,E,(J,(K)G)I); to their common labels, [A,B,E,G], are,
# respectively, ((A,B),(E,G)); and ((A,B),E,(G));
$t1->Bio::Tree::Compatible::topological_restriction($common);
$t2->Bio::Tree::Compatible::topological_restriction($common);
my $t3 = $in->next_tree;
my $t4 = $in->next_tree;
# ok($t1->is_equal($t3)); # is_equal method missing in Bio::Tree::Tree
# ok($t2->is_equal($t4)); # is_equal method missing in Bio::Tree::Tree
# the topological restrictions of (((A,B)C,D),(E,F,G)); and
# ((A,B)H,E,(J,(K)G)I); to their common labels, [A,B,E,G], are
# compatible
my ($incompat, $ilabels, $inodes) = $t3->Bio::Tree::Compatible::is_compatible($t4);
ok(!$incompat);
# (((B,A),C),D); and ((A,(D,B)),C); are incompatible
my $t5 = $in->next_tree;
my $t6 = $in->next_tree;
my ($incompat, $ilabels, $inodes) = $t5->Bio::Tree::Compatible::is_compatible($t6);
ok($incompat);
__DATA__
(((A,B)C,D),(E,F,G));
((A,B)H,E,(J,(K)G)I);
((A,B),(E,G));
((A,B),E,(G));
(((B,A),C),D);
((A,(D,B)),C);
From biotech_vijaya at hotmail.com Wed Dec 28 11:04:12 2005
From: biotech_vijaya at hotmail.com (vijaya brahma)
Date: Wed Dec 28 11:18:14 2005
Subject: [Bioperl-guts-l] please help urgent
Message-ID:
hi
can someone help me in writing a code for retreiving 800 bp upstream from
the start of the gene??
i m a newbee and i dont know from where to start
thanx
viz
_________________________________________________________________
Tried the new MSN Messenger? It’s cool! Download now.
http://messenger.msn.com/Download/Default.aspx?mkt=en-in
From osborne1 at optonline.net Wed Dec 28 19:18:26 2005
From: osborne1 at optonline.net (Brian Osborne)
Date: Wed Dec 28 19:30:24 2005
Subject: [Bioperl-guts-l] please help urgent
In-Reply-To:
Message-ID:
Vijaya,
I suggest you start with the HOWTO for Beginners:
http://bioperl.org/HOWTOs/html/Beginners.html
Brian O.
On 12/28/05 11:04 AM, "vijaya brahma" wrote:
> hi
> can someone help me in writing a code for retreiving 800 bp upstream from
> the start of the gene??
> i m a newbee and i dont know from where to start
> thanx
> viz
>
> _________________________________________________________________
> Tried the new MSN Messenger? It?s cool! Download now.
> http://messenger.msn.com/Download/Default.aspx?mkt=en-in
>
> _______________________________________________
> Bioperl-guts-l mailing list
> Bioperl-guts-l@portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-guts-l
From bugzilla-daemon at portal.open-bio.org Wed Dec 28 23:22:32 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Wed Dec 28 23:58:48 2005
Subject: [Bioperl-guts-l] [Bug 1926] New: Missing sections in Pdoc HTML
Message-ID: <200512290422.jBT4MWl4018979@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1926
Summary: Missing sections in Pdoc HTML
Product: Bioperl
Version: main-trunk
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: Documentation
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: osborne1@optonline.net
This HTML is right, it includes the Synopsis and Description:
http://doc.bioperl.org/releases/bioperl-current/bioperl-live/Bio/Index/GenBank.html
This one is wrong, the Synopsis and Description is missing:
http://doc.bioperl.org/releases/bioperl-current/bioperl-live/Bio/DB/Fasta.html
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bosborne at pub.open-bio.org Thu Dec 29 22:30:28 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Thu Dec 29 22:22:50 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Graph/IO psi_xml.pm,1.5,1.6
Message-ID: <200512300330.jBU3USVL007797@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Graph/IO
In directory pub.open-bio.org:/tmp/cvs-serv7788/Bio/Graph/IO
Modified Files:
psi_xml.pm
Log Message:
HPRD PSI XML has no fullName, use shortLabel for description instead
Index: psi_xml.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Graph/IO/psi_xml.pm,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** psi_xml.pm 8 Nov 2004 14:29:54 -0000 1.5
--- psi_xml.pm 30 Dec 2005 03:30:25 -0000 1.6
***************
*** 107,123 ****
);
$species{$taxid} = $sp_obj;
! }
## next extract sequence id info ##
my @ids = $pi->first_child('xref')->children();
my %ids = map{$_->att('db'), $_->att('id')} @ids;
! $ids{'psixml'} = $pi->att('id');
$prim_id = defined ($ids{'GI'})? $ids{'GI'}:'';
$acc = $ids{'RefSeq'} || $ids{'SWP'} || $ids{'PIR'} || $ids{'GI'};
! ## get description line
! $desc = $pi->first_child('names')->first_child('fullName')->text;
!
# use ids that aren't accession_no or primary_tag to build
# dbxref Annotations
--- 107,130 ----
);
$species{$taxid} = $sp_obj;
! }
## next extract sequence id info ##
my @ids = $pi->first_child('xref')->children();
my %ids = map{$_->att('db'), $_->att('id')} @ids;
! $ids{'psixml'} = $pi->att('id');
$prim_id = defined ($ids{'GI'})? $ids{'GI'}:'';
$acc = $ids{'RefSeq'} || $ids{'SWP'} || $ids{'PIR'} || $ids{'GI'};
! ## get description line - certain files, like PSI XML from HPRD, have
! ## "shortLabel" but no "fullName"
! eval {
! $desc = $pi->first_child('names')->first_child('fullName')->text;
! };
! if ($@) {
! warn("No fullName, use shortLabel for description instead");
! $desc = $pi->first_child('names')->first_child('shortLabel')->text;
! }
!
# use ids that aren't accession_no or primary_tag to build
# dbxref Annotations
From bosborne at pub.open-bio.org Thu Dec 29 22:36:34 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Thu Dec 29 22:28:58 2005
Subject: [Bioperl-guts-l] bioperl-live/t/data 05510.xml,NONE,1.1
Message-ID: <200512300336.jBU3aYVL007852@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/t/data
In directory pub.open-bio.org:/tmp/cvs-serv7843
Added Files:
05510.xml
Log Message:
Add for additional PSI XML tests
--- NEW FILE: 05510.xml ---
Endothelial differentiation gene 8
Sphingosine 1 phosphate receptor EDG8
S1P Receptor EDG8
Sphingosine 1 phosphate receptor Edg8
SPPR
Putative G protein coupled receptor
Endothelial differentiation, sphingolipid G protein coupled receptor, 8
Hypothetical protein FLJ90180
GPCR
605146
EDG8
19p13.2
NM_030760.2
NP_110387.1
41778
gcgcggccca tggagtcggg gctgctgcgg
ccggcgccgg tgagcgaggt catcgtcctg
cattacaact acaccggcaa gctccgcggt
gcgcgctacc agccgggtgc cggcctgcgc
gccgacgccg tggtgtgcct ggcggtgtgc
gccttcatcg tgctagagaa tctagccgtg
ttgttggtgc tcggacgcca cccgcgcttc
cacgctccca tgttcctgct cctgggcagc
ctcacgttgt cggatctgct ggcaggcgcc
gcctacgccg ccaacatcct actgtcgggg
ccgctcacgc tgaaactgtc ccccgcgctc
tggttcgcac gggagggagg cgtcttcgtg
gcactcactg cgtccgtgct gagcctcctg
gccatcgcgc tggagcgcag cctcaccatg
gcgcgcaggg ggcccgcgcc cgtctccagt
cgggggcgca cgctggcgat ggcagccgcg
gcctggggcg tgtcgctgct cctcgggctc
ctgccagcgc tgggctggaa ttgcctgggt
cgcctggacg cttgctccac tgtcttgccg
ctctacgcca aggcctacgt gctcttctgc
gtgctcgcct tcgtgggcat cctggccgcg
atctgtgcac tctacgcgcg catctactgc
caggtacgcg ccaacgcgcg gcgcctgccg
gcacggcccg ggactgcggg gaccacctcg
acccgggcgc gtcgcaagcc gcgctcgctg
gccttgctgc gcacgctcag cgtggtgctc
ctggcctttg tggcatgttg gggccccctc
ttcctgctgc tgttgctcga cgtggcgtgc
ccggcgcgca cctgtcctgt actcctgcag
gccgatccct tcctgggact ggccatggcc
aactcacttc tgaaccccat catctacacg
ctcaccaacc gcgacctgcg ccacgcgctc
ctgcgcctgg tctgctgcgg acgccactcc
tgcggcagag acccgagtgg ctcccagcag
tcggcgagcg cggctgaggc ttccgggggc
ctgcgccgct gcctgccccc gggccttgat
gggagcttca gcggctcgga gcgctcatcg
ccccagcgcg acgggctgga caccagcggc
tccacaggca gccccggtgc acccacagcc
gcccggactc tggtatcaga accggctgca
gactgacacc ctcggcccac gactgtcttc
ccaagtttta cagacttgtt ctttttacat
aaaggaattt gtaggaaatg cagccaaagg
tgcagtcgga aaagatgcag gggaaatgta
tttatgcagc gacaccccac aatgtgaaca
aacagacaaa aaatctgtgc cctcgtggaa
ttgacgttct gcttgggaac acagaaaaga
actcggtgat gaaataatgg agatgattcc
agtgacaaac gacagagatg gtgatggtgg
tcagggaaga cctctctgca gaggtagtga
cttgtgatgt gagctgagac ctctgtcctg
ggaagaccaa aagaaaagca tttcaggatg
agggaatggc atgcgcaaag gccctgaggc
tgaaatgtgc ccatgtgttc taagaaatgc
agcgatgctg gtgtgcctgg agcagggacg
gagggggaga atgggaggag acaaggagct
gaaggagtag ttcccgaagg accttgtggg
tgatatagag gacttcgctt ttgctctgag
tgaggtggga gccatagaag cttctaagca
gaagagggac ttgccctaat tcaggtgatc
acaggtgtct tgtggcctcc atgggaggtt
gaaaaccaca gaaggtgaag gggggctgca
ctgagccaca ggaacaatga tggagattcc
agctaagccc agaccccgtg gattctagat
agattttaga ggcagcagac agaattactg
aggaattgag tgtaagagtg gaataaagtt
atcaaggaca atgccaaggg tggggcaccc
ccaaatttga ctttgggaga ctcagccaaa
tcctatctgg taataaaatt tcttttttat
ttttcttttc tttctttctt tctttctttc
tttttttttt tttgagttgg gatcttgtgc
tctgtcaccc aggctggagt gcaatgggca
caattatagc tcactgcagc ctggaactcc
tgggatcaag cctggagttc ctgcttcagc
ctccctagta gctgggacta caggcatgca
ccaccatgcc cagttaataa aatttcttca
aatgcaaaaa aaaaaaaaaa aaaaaa
mesgllrpap vsevivlhyn ytgklrgary
qpgaglrada vvclavcafi vlenlavllv
lgrhprfhap mflllgsltl sdllagaaya
anillsgplt lklspalwfa reggvfvalt
asvlsllaia lersltmarr gpapvssrgr
tlamaaaawg vslllgllpa lgwnclgrld
acstvlplya kayvlfcvla fvgilaaica
lyariycqvr anarrlparp gtagttstra
rrkprslall rtlsvvllaf vacwgplfll
llldvacpar tcpvllqadp flglamansl
lnpiiytltn rdlrhallrl vccgrhscgr
dpsgsqqsas aaeasgglrr clppgldgsf
sgsersspqr dgldtsgstg spgaptaart
lvsepaad
TM
TM
TM
TM
TM
TM
TM
Keratinocyte
12648236
Cerebral cortex
11705398
Frontal lobe
11705398
Parietal lobe
11705398
Occipital lobe
11705398
Temporal lobe
11705398
Pons
11705398
Amygdaloid nucleus
11705398
Cerebellum
11705398
Caudate nucleus
11705398
Hippocampus
11705398
Medulla oblongata
11705398
Putamen
11705398
Leukocyte
11705398
Lymph node
11705398
Bone marrow
11705398
Trachea
11705398
Thalamus
11705398
Aorta
11705398
Atrium
11705398
Ventricle
11705398
Oesophagus
11705398
Stomach
11705398
Duodenum
11705398
Jejunum
11705398
Ileum
11705398
Caecum
11705398
Vermiform appendix
11705398
Colon
11705398
Rectum
11705398
Kidney
11705398
Skeletal muscle
11705398
Spleen
11705398
Thymus
11705398
Lung
11705398
Placenta
11705398
Uterus
11705398
Prostate
11705398
Testis
11705398
Ovary
11705398
Liver
11705398
Adrenal gland
11705398
Thyroid gland
11705398
Salivary gland
11705398
Fetus
11705398
Urinary bladder
11705398
Corpus callosum
11705398
Nucleus accumbens
11705398
Pancreas
11705398
G protein coupled receptor
G-protein coupled receptor activity
0004930
Signal transduction
0007165
Cell communication
0007154
plasma membrane
GO:0005886
TAS
11331101
HPRD
Human Protein Reference Database
This data is copyrighted by Johns Hopkins University.
Commercial entities may not use this without prior licensing
authorization. Other databases must agree to enforce the same
licensing guidelines before making this data public on their website.
Endothelial differentiation gene 8
Human
Homo sapiens
mesgllrpap vsevivlhyn ytgklrgary
qpgaglrada vvclavcafi vlenlavllv
lgrhprfhap mflllgsltl sdllagaaya
anillsgplt lklspalwfa reggvfvalt
asvlsllaia lersltmarr gpapvssrgr
tlamaaaawg vslllgllpa lgwnclgrld
acstvlplya kayvlfcvla fvgilaaica
lyariycqvr anarrlparp gtagttstra
rrkprslall rtlsvvllaf vacwgplfll
llldvacpar tcpvllqadp flglamansl
lnpiiytltn rdlrhallrl vccgrhscgr
dpsgsqqsas aaeasgglrr clppgldgsf
sgsersspqr dgldtsgstg spgaptaart
lvsepaad
Guanine nucleotide binding protein, alpha 12
Mammals
Mammalia
G protein, alpha inhibiting 1
Mammals
Mammalia
Guanine nucleotide binding protein, alpha 'other'
Mammals
Mammalia
vt
in vitro
sandeep
2_20_2005
vv
in vivo
sandeep
2_20_2005
vt
in vitro
sandeep
2_20_2005
05510
Sphingosine 1 phosphate
in vitro
11069896
Q9H228
53637
501561
None
sandeep
2_20_2005
From jason at pub.open-bio.org Fri Dec 30 14:33:00 2005
From: jason at pub.open-bio.org (Jason Stajich)
Date: Fri Dec 30 14:24:32 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/DB Taxonomy.pm,1.4,1.5
Message-ID: <200512301933.jBUJX0VL012665@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/DB
In directory pub.open-bio.org:/tmp/cvs-serv12647
Modified Files:
Taxonomy.pm
Log Message:
taxa->taxon
Index: Taxonomy.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/DB/Taxonomy.pm,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Taxonomy.pm 2 Apr 2005 16:03:41 -0000 1.4
--- Taxonomy.pm 30 Dec 2005 19:32:58 -0000 1.5
***************
*** 20,24 ****
my $db = new Bio::DB::Taxonomy(-source => 'entrez');
# use NCBI Entrez over HTTP
! my $taxaid = $db->get_taxonid('Homo sapiens');
=head1 DESCRIPTION
--- 20,24 ----
my $db = new Bio::DB::Taxonomy(-source => 'entrez');
# use NCBI Entrez over HTTP
! my $taxonid = $db->get_taxonid('Homo sapiens');
=head1 DESCRIPTION
***************
*** 112,116 ****
Title : get_Taxonomy_Node
! Usage : my $species = $db->get_Taxonomy_Node(-taxonid => $taxaid)
Function: Get a Bio::Taxonomy::Taxon object for a taxonid
Returns : Bio::Taxonomy::Taxon object
--- 112,116 ----
Title : get_Taxonomy_Node
! Usage : my $species = $db->get_Taxonomy_Node(-taxonid => $taxonid)
Function: Get a Bio::Taxonomy::Taxon object for a taxonid
Returns : Bio::Taxonomy::Taxon object
From bosborne at pub.open-bio.org Fri Dec 30 16:58:19 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 30 16:49:51 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio Species.pm,1.31,1.32
Message-ID: <200512302158.jBULwJVL017101@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio
In directory pub.open-bio.org:/tmp/cvs-serv17092/Bio
Modified Files:
Species.pm
Log Message:
Additional 'rule' in validate_species_name - not entirely sure that it's possible to validate some of these virus names
Index: Species.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Species.pm,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** Species.pm 9 Oct 2005 14:53:06 -0000 1.31
--- Species.pm 30 Dec 2005 21:58:17 -0000 1.32
***************
*** 333,340 ****
--- 333,356 ----
}
+ =head2 binomial
+
+ Title : validate_species_name
+ Usage : $result = $self->validate_species_name($string);
+ Function: Validate the species portion of the binomial
+ Args : string
+ Notes : The string following the "genus name" in the NCBI binomial
+ is so variable that it's not clear that this is a useful
+ function. Consider the binomials
+ "Simian 11 rotavirus (serotype 3 / strain SA11-Patton)",
+ or "St. Thomas 3 rotavirus", straight from GenBank.
+ This is particularly problematic in microbes and viruses.
+
+ =cut
+
sub validate_species_name {
my( $self, $string ) = @_;
return 1 if $string eq "sp.";
+ return 1 if $string =~ /strain/;
return 1 if $string =~ /^[a-z][\w\s-]+$/i;
$self->throw("Invalid species name '$string'");
From bosborne at pub.open-bio.org Fri Dec 30 17:44:34 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 30 17:36:05 2005
Subject: [Bioperl-guts-l] bioperl-live/t/data sv40_small.xml, NONE,
1.1 05510.xml, 1.1, 1.2
Message-ID: <200512302244.jBUMiYVL017240@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/t/data
In directory pub.open-bio.org:/tmp/cvs-serv17231
Modified Files:
05510.xml
Added Files:
sv40_small.xml
Log Message:
Add for psi_xml tests
Index: 05510.xml
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/t/data/05510.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** 05510.xml 30 Dec 2005 03:36:32 -0000 1.1
--- 05510.xml 30 Dec 2005 22:44:32 -0000 1.2
***************
*** 554,567 ****
!
!
!
--- 554,564 ----
!
!
!
--- NEW FILE: sv40_small.xml ---
European Bioinformatics Institute
Wellcome Trust Genome Campus, Hinxton, Cambridge, CB10 1SD, United Kingdom
http://www.ebi.ac.uk
eyckerman-2001-1
Design and application of a cytokine-receptor-based interaction trap.
human-293t
Homo sapiens 293 cells transformed with SV40 large T antigen
293t
293 cells expressing SV40 large T antigen.
mappit
mammalian protein protein interaction trap
predetermined
predetermined participant
MAPPIT bait construct - a chimeric cytokine receptor composed of the extracellular region of homodimeric EpoR, fused to the transmembrane and cytosolic domains of the leptin receptor wherein all the tyrosine residues are mutated to phenylalanines. A bait, consisting of a region of the bait protein is C-terminally fused to this signaling-deficient receptor. The interaction is detected via activation of STAT3 and a subsequent reporter gene activation.
2b, 2c, 5
jan.tavernier@ugent.be
Eyckerman S., Verhee A., der Heyden JV., Lemmens I., Ostade XV., Vandekerckhove J., Tavernier J.
tala_sv40
Large T antigen
sv40
Simian virus 40
MDKVLNREESLQLMDLLGLERSAWGNIPLMRKAYLKKCKEFHPDKGGDEEKMKKMNTLYKKMEDGVKYAHQPDFGGFWDATEIPTYGTDEWEQWWNAFNEENLFCSEEMPSSDDEATADSQHSTPPKKKRKVEDPKDFPSELLSFLSHAVFSNRTLACFAIYTTKEKAALLYKKIMEKYSVTFISRHNSYNHNILFFLTPHRHRVSAINNYAQKLCTFSFLICKGVNKEYLMYSALTRDPFSVIEESLPGGLKEHDFNPEEAEETKQVSWKLVTEYAMETKCDDVLLLLGMYLEFQYSFEMCLKCIKKEQPSHYKYHEKHYANAAIFADSKNQKTICQQAVDTVLAKKRVDSLQLTREQMLTNRFNDLLDRMDIMFGSTGSADIEEWMAGVAWLHCLLPKMDSVVYDFLKCMVYNIPKKRYWLFKGPIDSGKTTLAAALLELCGGKALNVNLPLDRLNFELGVAIDQFLVVFEDVKGTGGESRDLPSGQGINNLDNLRDYLDGSVKVNLEKKHLNKRTQIFPPGIVTMNEFSVPKTLQARFVKQIDFRAKDYLKHCLERSEFLLEKRIIQSGIALLLMLIWYRPVAEFAQSIQSRIVEWKERLDKEFSLSVYQKMKFNVAMGIGVLDWLRNSDDDDEDSQENADKNEDGGEKNMEDSGHETGIDSQSQGSFQAPQSSQSVHDHNQPYHICRGFTCFKKPPTPPPEPET
p53_mouse
Cellular tumor antigen p53
mouse
Mus musculus
MTAMEESQSDISLELPLSQETFSGLWKLLPPEDILPSPHCMDDLLLPQDVEEFFEGPSEALRVSGAPAAQDPVTETPGPVAPAPATPWPLSSFVPSQKTYQGNYGFHLGFLQSGTAKSVMCTYSPPLNKLFCQLAKTCPVQLWVSATPPAGSRVRAMAIYKKSQHMTEVVRRCPHHERCSDGDGLAPPQHLIRVEGNLYPEYLEDRQTFRHSVVVPYEPPEAGSEYTTIHYKYMCNSSCMGGMNRRPILTIITLEDSSGNLLGRDSFEVRVCACPGRDRRTEEENFRKKEVLCPELPPGSAKRALPTCTSASPPQKKKPLDGEYFTLKIRGRKRFEMFRELNEALELKDAHATEESGDSRAHSSYLKTKKGQSTSRHKKTMVKKVGPDSD
epor_human
Erythropoietin receptor precursor
human
Homo sapiens
MDHLGASLWPQVGSLCLLLAGAAWAPPPNLPDPKFESKAALLAARGPEELLCFTERLEDLVCFWEEAASAGVGPGNYSFSYQLEDEPWKLCRLHQAPTARGAVRFWCSLPTADTSSFVPLELRVTAASGAPRYHRVIHINEVVLLDAPVGLVARLADESGHVVLRWLPPPETPMTSHIRYEVDVSAGNGAGSVQRVEILEGRTECVLSNLRGRTRYTFAVRARMAEPSFGGFWSAWSEPVSLLTPSDLDPLILTLSLILVVILVLLTVLALLSHRRALKQKIWPGIPSPESEFEGLFTTHKGNFQLWLYQNDGCLWWSPCTPFTEDPPASLEVLSERCWGTMQAVEPGTDDEGPLLEPVGSEHAQDTYLVLDKWLLPRNPPSEDLPGPGGSVDIVAMDEGSEASSCSSALASKPSPEGASAASFEYTILDPSSQLLRPWTLCPELPPTPPHLKYLYLVVSDSGISTDYSSGDSQGAQGGLSDGPYSNPYENSLIPAAEPLPPSYVACS
cish_mouse
Cytokine-inducible SH2-containing protein
mouse
Mus musculus
MVLCVQGSCPLLAVEQIGRRPLWAQSLELPGPAMQPLPTGAFPEEVTEETPVQAENEPKVLDPEGDLLCIAKTFSYLRESGWYWGSITASEARQHLQKMPEGTFLVRDSTHPSYLFTLSVKTTRGPTNVRIEYADSSFRLDSNCLSRPRILAFPDVVSLVQHYVASCAADTRSDSPDPAPTPALPMSKQDAPSDSVLPIPVATAVHLKLVQPFVRRSSARSLQHLCRLVINRLVADVDCLPLPRRMADYLRQYPFQL
socs2_human
Suppressor of cytokine signaling 2
human
Homo sapiens
MTLRCLEPSGNGGEGTRSQWGTAGSAEEPSPQAARLAKALRELGQTGWYWGSMTVNEAKEKLKEAPEGTFLIRDSSHSDYLLTISVKTSAGPTNLRIEYQDGKFRLDSIICVKSKLKQFDSVVHLIDYYVQMCKDKRTGPEAPRNGTVHLYLTKPLYTSAPSLQHLCRLTINKCTGAIWGLPLPTRLKDYLEEYKFQV
sv40-tp53-1
Interactions between SV40 large T antigen and murine p53 demonstrated by MAPPIT
prey
bait
physical interaction
physical interaction
1.0
epor-cish-4
Interaction between human EpoR and Murine CIS-1 demonstrated by MAPPIT
bait
prey
physical interaction
physical interaction
1.0
epor-socs2-3
Interaction between human EpoR and SOCS2 demonstrated by MAPPIT
prey
bait
physical interaction
physical interaction
SOCS2 described as fragment but no detail given
Erythropoietin
Phosphorylation of SOCS2 - dependent on treatment of cells with erythropoietin
1.0
From bosborne at pub.open-bio.org Fri Dec 30 17:45:44 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 30 17:37:15 2005
Subject: [Bioperl-guts-l] bioperl-live/t/data 05510.xml,1.2,NONE
Message-ID: <200512302245.jBUMjiVL017295@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/t/data
In directory pub.open-bio.org:/tmp/cvs-serv17286
Removed Files:
05510.xml
Log Message:
Remove HPRD PSI XML, currently not parseable as it's missing species names
--- 05510.xml DELETED ---
From bugzilla-daemon at portal.open-bio.org Fri Dec 30 17:43:57 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Fri Dec 30 17:58:42 2005
Subject: [Bioperl-guts-l] [Bug 1927] New: mistyped ASN1
Message-ID: <200512302243.jBUMhvwK002842@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1927
Summary: mistyped ASN1
Product: Bioperl
Version: 1.5 branch
Platform: Macintosh
OS/Version: Mac OS
Status: NEW
Severity: minor
Priority: P2
Component: Documentation
AssignedTo: bioperl-guts-l@bioperl.org
ReportedBy: alok@caltech.edu
ASN1 is spelled ANS1 in Makefile.pl, which leads to confusing missing packages
reports, and bad results if the user naively types "perl -MCPAN -e'install
Bio::ANS1::EntrezGene'"
Here's the line I'm referring to:
[remote@miniprep bioperl-1.5.1]$ grep ANS1 *
Makefile.PL: 'Bio::ANS1::EntrezGene' => '0.0/Enztrez Gene Bioperl
Parser/Parsers/Bio::SeqIO::entrezgene'
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bosborne at pub.open-bio.org Fri Dec 30 18:23:32 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 30 18:15:00 2005
Subject: [Bioperl-guts-l] bioperl-live Makefile.PL,1.84,1.85
Message-ID: <200512302323.jBUNNWVL017409@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live
In directory pub.open-bio.org:/tmp/cvs-serv17400
Modified Files:
Makefile.PL
Log Message:
Typo
Index: Makefile.PL
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Makefile.PL,v
retrieving revision 1.84
retrieving revision 1.85
diff -C2 -d -r1.84 -r1.85
*** Makefile.PL 11 Oct 2005 11:04:06 -0000 1.84
--- Makefile.PL 30 Dec 2005 23:23:29 -0000 1.85
***************
*** 42,46 ****
'XML::SAX::Base' => '0.0/New style SAX parser/Parsers/Bio::SeqIO::tigrxml,Bio::SeqIO::bsml_sax',
'XML::SAX::Writer' => '0.0/New style SAX parser/Writers/Bio::SeqIO::tigrxml,Bio::SeqIO::bsml_sax',
! 'Bio::ASN1::EntrezGene' => '0.0/Enztrez Gene Bioperl Parser/Parsers/Bio::SeqIO::entrezgene'
# Bio::Microarray is not in core bioperl yet
# 'enum' => '0.0/C style enumerated types and bitmask flags
--- 42,46 ----
'XML::SAX::Base' => '0.0/New style SAX parser/Parsers/Bio::SeqIO::tigrxml,Bio::SeqIO::bsml_sax',
'XML::SAX::Writer' => '0.0/New style SAX parser/Writers/Bio::SeqIO::tigrxml,Bio::SeqIO::bsml_sax',
! 'Bio::ASN1::EntrezGene' => '0.0/Entrez Gene Bioperl Parser/Parsers/Bio::SeqIO::entrezgene'
# Bio::Microarray is not in core bioperl yet
# 'enum' => '0.0/C style enumerated types and bitmask flags
From bugzilla-daemon at portal.open-bio.org Fri Dec 30 18:15:20 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Fri Dec 30 18:58:43 2005
Subject: [Bioperl-guts-l] [Bug 1927] mistyped ASN1
Message-ID: <200512302315.jBUNFKN6003617@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1927
osborne1@optonline.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Comment #1 from osborne1@optonline.net 2005-12-30 18:15 -------
Fixed in bioperl-live.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Fri Dec 30 18:21:02 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Fri Dec 30 18:58:45 2005
Subject: [Bioperl-guts-l] [Bug 1927] mistyped ASN1
Message-ID: <200512302321.jBUNL2l2003749@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1927
------- Comment #2 from skirov@utk.edu 2005-12-30 18:21 -------
Alok,
The file I have is spelled correctly- it is v. 1.84, could you please tell me
what version you have?
Stefan
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bugzilla-daemon at portal.open-bio.org Fri Dec 30 19:05:34 2005
From: bugzilla-daemon at portal.open-bio.org (bugzilla-daemon@portal.open-bio.org)
Date: Fri Dec 30 19:58:40 2005
Subject: [Bioperl-guts-l] [Bug 1927] mistyped ASN1
Message-ID: <200512310005.jBV05YOk004646@portal.open-bio.org>
http://bugzilla.open-bio.org/show_bug.cgi?id=1927
------- Comment #3 from alok@caltech.edu 2005-12-30 19:05 -------
I had the following version:
## Makefile.PL,v 1.82.2.1 2005/10/09 15:16:18 jason Exp
This was in the 1.5.1 distribution that I downloaded...
-rw-rw-r-- 1 remote elearn 5538613 Oct 13 16:47 bioperl-1.5.1.tar.bz2
I'm glad it's been fixed. I'll check the live distro next time.
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
From bosborne at pub.open-bio.org Fri Dec 30 23:33:03 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Fri Dec 30 23:24:31 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Graph ProteinGraph.pm,1.25,1.26
Message-ID: <200512310433.jBV4X3VL018200@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Graph
In directory pub.open-bio.org:/tmp/cvs-serv18191/Bio/Graph
Modified Files:
ProteinGraph.pm
Log Message:
POD edits
Index: ProteinGraph.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Graph/ProteinGraph.pm,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** ProteinGraph.pm 9 Oct 2005 14:53:12 -0000 1.25
--- ProteinGraph.pm 31 Dec 2005 04:33:01 -0000 1.26
***************
*** 12,28 ****
=head1 SYNOPSIS
! # read in from file
my $graphio = Bio::Graph::IO->new(-file => 'myfile.dat',
-format => 'dip');
my $graph = $graphio->next_network();
! # remove duplicate interactions from within a dataset
!
$graph->remove_dup_edges();
! # get a node (represented by a sequence object) from the graph.
my $seqobj = $gr->nodes_by_id('P12345');
! # get clustering coefficient of a given node.
my $cc = $gr->clustering_coefficient($graph->nodes_by_id('NP_023232'));
if ($cc != -1) { ## result is -1 if cannot be calculated
--- 12,27 ----
=head1 SYNOPSIS
! # Read in from file
my $graphio = Bio::Graph::IO->new(-file => 'myfile.dat',
-format => 'dip');
my $graph = $graphio->next_network();
! # Remove duplicate interactions from within a dataset
$graph->remove_dup_edges();
! # Get a node (represented by a sequence object) from the graph.
my $seqobj = $gr->nodes_by_id('P12345');
! # Get clustering coefficient of a given node.
my $cc = $gr->clustering_coefficient($graph->nodes_by_id('NP_023232'));
if ($cc != -1) { ## result is -1 if cannot be calculated
***************
*** 30,40 ****
}
! # get graph density
my $density = $gr->density();
! # get connected subgraphs
my @graphs = $gr->components();
! # remove a node
$gr->remove_nodes($gr->nodes_by_id('P12345'));
--- 29,39 ----
}
! # Get graph density
my $density = $gr->density();
! # Get connected subgraphs
my @graphs = $gr->components();
! # Remove a node
$gr->remove_nodes($gr->nodes_by_id('P12345'));
***************
*** 45,49 ****
my $ncount = $gr->node_count();
! # Lets get interactions above a threshold confidence score.
my $edges = $gr->edges;
for my $edge (keys %$edges) {
--- 44,48 ----
my $ncount = $gr->node_count();
! # Let's get interactions above a threshold confidence score.
my $edges = $gr->edges;
for my $edge (keys %$edges) {
***************
*** 55,60 ****
}
! # get interactors of your favourite protein
!
my $node = $graph->nodes_by_id('NP_023232');
my @neighbors = $graph->neighbors($node);
--- 54,58 ----
}
! # Get interactors of your favourite protein
my $node = $graph->nodes_by_id('NP_023232');
my @neighbors = $graph->neighbors($node);
***************
*** 63,69 ****
print "\n";
! # annotate your sequences with interaction info
!
! my @seqs; ##array of sequence objects
for my $seq(@seqs) {
if ($graph->has_node($seq->accession_number)) {
--- 61,66 ----
print "\n";
! # Annotate your sequences with interaction info
! my @seqs; ## array of sequence objects
for my $seq(@seqs) {
if ($graph->has_node($seq->accession_number)) {
***************
*** 80,85 ****
}
! # get proteins with > 10 interactors
!
my @nodes = $graph->nodes();
my @hubs;
--- 77,81 ----
}
! # Get proteins with > 10 interactors
my @nodes = $graph->nodes();
my @hubs;
***************
*** 92,118 ****
print join "\n", map{$_->object_id()} @hubs;
! # merge 2 graphs, flag duplicate edges ##
!
! # get second graph $g2
$g1->union($g2);
my @duplicates = $g1->dup_edges();
-
print "these interactions exist in $g1 and $g2:\n";
print join "\n", map{$_->object_id} @duplicates;
! # what to do if you have interaction data in your own format:
!
! # e.g.
! # edgeid node1 node2 node2 score
!
my $io = Bio::Root::IO->new(-file => 'mydata');
my $gr = Bio::Graph::ProteinGraph->new();
! my %seen= (); # to record seen nodes
while (my $l = $io->_readline() ) {
! # parse out your data
! my ($e_id, $n1, $n2, $sc) = split /\t/, $l;
! # make nodes if they are unseen
my @nodes =();
for my $n ($n1, $n2 ) {
--- 88,109 ----
print join "\n", map{$_->object_id()} @hubs;
! # Merge graphs 1 and 2 and flag duplicate edges
$g1->union($g2);
my @duplicates = $g1->dup_edges();
print "these interactions exist in $g1 and $g2:\n";
print join "\n", map{$_->object_id} @duplicates;
! # Create a graph if you have interaction data in your own format, e.g.
! # edgeid node1 node2 score
! #
my $io = Bio::Root::IO->new(-file => 'mydata');
my $gr = Bio::Graph::ProteinGraph->new();
! my %seen = (); # to record seen nodes
while (my $l = $io->_readline() ) {
! # Parse out your data...
! my ($e_id, $n1, $n2, $sc) = split /\s+/, $l;
! # ...then make nodes if they don't already exist in the graph...
my @nodes =();
for my $n ($n1, $n2 ) {
***************
*** 126,134 ****
}
! # make an edge
my $edge = Bio::Graph::Edge->new(-nodes => \@nodes,
-id => 'myid',
-weight=> 1);
- # add it to graph
$gr->add_edge($edge);
--- 117,124 ----
}
! # ...and add a new edge to the graph
my $edge = Bio::Graph::Edge->new(-nodes => \@nodes,
-id => 'myid',
-weight=> 1);
$gr->add_edge($edge);
***************
*** 136,153 ****
A ProteinGraph is a representation of a protein interaction network.
! It derives most of its functionality from Nat Goodman's SimpleGraph
module, but is adapted to be able to use protein identifiers to
identify the nodes.
! This graph can use any objects that implement Bio::AnnotatableI and Bio::IdentifiableI
! interfaces. Bio::Seq (but not Bio::PrimarySeqI)
! objects can therefore be used for the nodes, as this class is
! familiar to most BioPerl users. Any object that supports annotation objects and the object_id()
! method should work fine.
At present it is fairly 'lightweight' in that it represents nodes and
! edges but does not contain all the data about experiment ids etc found
in the Protein Standards Initiative schema. Hopefully that will be
! available soon
A dataset may contain duplicate or redundant interactions.
--- 126,142 ----
A ProteinGraph is a representation of a protein interaction network.
! It derives most of its functionality from the L
module, but is adapted to be able to use protein identifiers to
identify the nodes.
! This graph can use any objects that implement L and
! L interfaces. L (but not L)
! objects can therefore be used for the nodes but any object that supports
! annotation objects and the object_id() method should work fine.
At present it is fairly 'lightweight' in that it represents nodes and
! edges but does not contain all the data about experiment ids etc. found
in the Protein Standards Initiative schema. Hopefully that will be
! available soon.
A dataset may contain duplicate or redundant interactions.
***************
*** 164,177 ****
For developers:
! In this module, nodes are represented by Bio::Seq::RichSeq objects
containing all possible database identifiers but no sequence, as
parsed from the interaction files. However, a node represented by a
! Bio::PrimarySeq object should work fine too.
! Edges are represented by Bio::Graph::Edge objects. In order to
work with SimpleGraph these objects must be array references, with the
first 2 elements being references to the 2 nodes. More data can be
! added in $e[2]. etc. Edges should be Bio::Graph::Edge objects, which
! are Bio::IdentifiableI implementing objects.
At present edges only have an identifier and a weight() method, to
hold confidence data, but subclasses of this could hold all the
--- 153,167 ----
For developers:
! In this module, nodes are represented by L objects
containing all possible database identifiers but no sequence, as
parsed from the interaction files. However, a node represented by a
! L object should work fine too.
! Edges are represented by L objects. In order to
work with SimpleGraph these objects must be array references, with the
first 2 elements being references to the 2 nodes. More data can be
! added in $e[2]. etc. Edges should be L objects, which
! are L implementing objects.
!
At present edges only have an identifier and a weight() method, to
hold confidence data, but subclasses of this could hold all the
***************
*** 231,235 ****
=head1 AUTHORS
! Richard Adams - this module, IO modules.
=head2 AUTHOR2
--- 221,225 ----
=head1 AUTHORS
! Richard Adams - this module, Graph::IO modules.
=head2 AUTHOR2
From bosborne at pub.open-bio.org Sat Dec 31 17:35:18 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Sat Dec 31 17:26:44 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/Graph ProteinGraph.pm,1.26,1.27
Message-ID: <200512312235.jBVMZIVL020415@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/Graph
In directory pub.open-bio.org:/tmp/cvs-serv20406/Bio/Graph
Modified Files:
ProteinGraph.pm
Log Message:
Minor edits
Index: ProteinGraph.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/Graph/ProteinGraph.pm,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** ProteinGraph.pm 31 Dec 2005 04:33:01 -0000 1.26
--- ProteinGraph.pm 31 Dec 2005 22:35:16 -0000 1.27
***************
*** 151,155 ****
datasets, with different IDs, will be duplicate edges.
! For developers:
In this module, nodes are represented by L objects
--- 151,155 ----
datasets, with different IDs, will be duplicate edges.
! =head2 For Developers
In this module, nodes are represented by L objects
***************
*** 231,234 ****
--- 231,242 ----
=cut
+ use strict;
+ package Bio::Graph::ProteinGraph;
+ use Bio::Graph::SimpleGraph;
+ use Bio::Graph::Edge;
+ use Clone qw(clone);
+ use vars qw(@ISA);
+ our @ISA = qw(Bio::Graph::SimpleGraph);
+
=head2 has_node
***************
*** 241,252 ****
=cut
- use strict;
- package Bio::Graph::ProteinGraph;
- use Bio::Graph::SimpleGraph;
- use Bio::Graph::Edge;
- use Clone qw(clone);
- use vars qw(@ISA);
- our @ISA = qw(Bio::Graph::SimpleGraph);
-
sub has_node {
--- 249,252 ----
***************
*** 640,647 ****
return $subgraph;
}
-
-
-
-
=head2 add_dup_edge
--- 640,643 ----
From bosborne at pub.open-bio.org Sat Dec 31 18:59:32 2005
From: bosborne at pub.open-bio.org (Brian Osborne)
Date: Sat Dec 31 18:50:58 2005
Subject: [Bioperl-guts-l] bioperl-live/Bio/AlignIO fasta.pm,1.21,1.22
Message-ID: <200512312359.jBVNxWVL020590@pub.open-bio.org>
Update of /home/repository/bioperl/bioperl-live/Bio/AlignIO
In directory pub.open-bio.org:/tmp/cvs-serv20581/Bio/AlignIO
Modified Files:
fasta.pm
Log Message:
Per Albert
Index: fasta.pm
===================================================================
RCS file: /home/repository/bioperl/bioperl-live/Bio/AlignIO/fasta.pm,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -d -r1.21 -r1.22
*** fasta.pm 20 Nov 2005 18:23:19 -0000 1.21
--- fasta.pm 31 Dec 2005 23:59:30 -0000 1.22
***************
*** 56,60 ****
@ISA = qw(Bio::AlignIO);
! $MATCHPATTERN = '^A-Za-z\.\-';
$WIDTH = 60;
--- 56,60 ----
@ISA = qw(Bio::AlignIO);
! $MATCHPATTERN = '^A-Za-z\.\-\*';
$WIDTH = 60;