From lstein at cshl.edu Sat May 1 12:21:22 2004 From: lstein at cshl.edu (Lincoln Stein) Date: Sat May 1 12:25:34 2004 Subject: [Bioperl-l] "Package 'GD' not found on server." Bioperl 1.4 Install In-Reply-To: <0246BF9A.1379CDB3.0000DE3B@aol.com> References: <0246BF9A.1379CDB3.0000DE3B@aol.com> Message-ID: <200405011221.22831.lstein@cshl.edu> There are a number of repositories with GD. The one I use is http://stein.cshl.org/ppm. Lincoln On Friday 30 April 2004 05:50 pm, JDCGo@aol.com wrote: > Hi, > > Tried to install Bioperl 1.4 using PPM on Windows XT with ActivePerl > 5.8.3.809, and got message "Package 'GD' not found on server." Searched > for GD but did not find a package called simply GD. > > My repositories are: > > ppm> rep > Repositories: > [1] bioperl > [2] ActiveState Package Repository > [3] ActiveState PPM2 Repository > ppm> > > The following shows the install attempt and the search for GD. I have > installed the packages that contain GD in the name. Any ideas for a first > time poster? > > Thanks, > John > > ppm> search bioperl > .. > 8. Bioperl-1.4 [1.4] Bioperl 1.4 PPM3 Archive > .. > ppm> install 8 > Package 8: > Error: Package 'GD' not found on server. Please 'search' for it first. > ppm> search GD > Searching in Active Repositories > 1. Finance-Bank-ES-ING~ [0.01] Check your INGDirect bank accounts from > Perl 2. Finance-Bank-ES-ING~ [0.01] Check your INGDirect bank accounts from > Perl 3. GD-Barcode [1.13] Create barcode image with GD > 4. GD-Barcode [1.14] Create barcode image with GD > 5. GD-Barcode [1.15] Create barcode image with GD > 6. GD-Barcode [1.15] Create barcode image with GD > 7. GD-Dashboard [0.04] Perl module to create JPEG graphics of > meter~ 8. GD-Dashboard [0.04] Perl module to create JPEG graphics > of meter~ 9. GDBUI [0.61] A Bash/GDB-like command-line > environment wit~ 10. GDBUI [0.61] A Bash/GDB-like > command-line environment wit~ 11. GDGraph-Map [1.05] generate HTML > map text for GD::Graph diagram~ 12. SVG-GD [0.07] (none) > 13. SVG-GD [0.07] > ppm> > > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l -- Lincoln Stein lstein@cshl.edu Cold Spring Harbor Laboratory 1 Bungtown Road Cold Spring Harbor, NY 11724 (516) 367-8380 (voice) (516) 367-8389 (fax) From lstein at cshl.edu Sat May 1 15:49:52 2004 From: lstein at cshl.edu (Lincoln Stein) Date: Sat May 1 15:56:32 2004 Subject: [Bioperl-l] Re: Quick bio::graphics question In-Reply-To: <1082641314.2265.142.camel@localhost.localdomain> References: <1082641314.2265.142.camel@localhost.localdomain> Message-ID: <200405011549.52443.lstein@cshl.edu> Hi Tim, Sorry it took so long for me to respond, but I've been traveling and reading my e-mail intermittently. If you create a feature that starts and stops in chromosomal coordinates, rather than going from 1 to $length, then the ruler will show the appropriate coordinates. Simple, eh? I hope this fixes your problem. Lincoln On Thursday 22 April 2004 09:41 am, Tim Nugent wrote: > Hi Lincoln, > > Quick bio::graphics question. How can I get the ruler to show actual > chromosomal coordinates rather than 0 to the end of panel in 10K > increments? > > Cheers, > > Tim > > my $full_length = Bio::SeqFeature::Generic->new(-start=>1, > > -end=>$length); > > $panel->add_track($full_length, > -glyph => 'arrow', > -tick => 2, > -fgcolor => 'black', > -double => 1 > ); -- Lincoln Stein lstein@cshl.edu Cold Spring Harbor Laboratory 1 Bungtown Road Cold Spring Harbor, NY 11724 (516) 367-8380 (voice) (516) 367-8389 (fax) From jason at cgt.duhs.duke.edu Mon May 3 09:05:27 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Mon May 3 09:09:39 2004 Subject: [Bioperl-l] Categorization of EST's by species/taxonomy/lineage In-Reply-To: <40917CE4.8090606@netvisao.pt> References: <36542.10.0.1.216.1083271858.squirrel@watson.wustl.edu> <40917CE4.8090606@netvisao.pt> Message-ID: ugh - I hope you are not really going to do this... - I'll post code which should work with Bio::DB::Taxonomy as this was what it was intended to do. -j On Thu, 29 Apr 2004, Paulo Almeida wrote: > Perhaps a little far fetched, but what if you write a script that goes like: > > Read sequence from flat file. > If it's from a new species, > Blast against mRNA database AND species database > Check hits until you get one with the full lineage > End if > Sort it based on the lineage > > I'm suggesting that only based on what you said, about mRNA records > tending to have the full lineage, I have no idea if it would work. To > blast against mRNA for the desired species you would add something like: > > $Bio::Tools::Run::RemoteBlast::HEADER{'ENTREZ_QUERY'} = '$species [ORGN] AND biomol_mrna [PROP]'; > > > -Paulo Almeida > > > Mark Johnson wrote: > > > I've got a bunch of flat files containing EST sequences (GenBank > >format) from the NCBI ftp site. I'd like to sort through them, > >categorize them, and build some blast databases. It would be nice to > >be able to sort them into a few different piles, such as vertebrate, > >invertebrate, fungi, species1, species2, speciesN, etc. > > To this end, having the full 'lineage' available would be handy. > >However, EST records from the EST database only have the organism > >(unlike, say, mRNA records from the nucleotide database, which tend > >to have the full lineage (Eukaryota; Metazoa; Chordata; Craniata; > >Vertebrata; Euteleostomi; Mammalia; Eutheria; Primates; Catarrhini; > >Hominidae; Homo). > > With mRNA records from the nucleotide database, this is an easy job, > >just call $seq->species->classification(), and sort through the list. > > However, with these EST files from dbEST, that doesn't work, the > >resulting list is empty. > > I initially had high hopes after discovering Bio::DB::Taxonomy, but > >there are some bugs in the 1.4 version, and even upgrading to the > >latest in CVS, I can't seem to find a way to get the full lineage: > > > >#Bio::DB::Taxonomy (Well, really Bio::DB::Taxonomy::entrez) > >my $db = new Bio::DB::Taxonomy(-source => 'entrez'); > >my $taxaid = $db->get_taxonid('Homo sapiens'); > > > >#Bio::Taxonomy::Node > >my $taxobj = $db->get_Taxonomy_Node(-taxonid => $taxaid); > > > >#@classificiation contains 'sapiens' and 'homo'. > >my @classification = $taxobj->classification(); > > > >Looking at the code for the classification method, I came accross this > >comment: # okay this won't really work - need to do proper recursion > > > >So...is there a way to get to where I want to be without hacking on the > >module(s) in some terribly caveman like fashion? > > > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From jason at cgt.duhs.duke.edu Mon May 3 09:06:56 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Mon May 3 09:11:07 2004 Subject: [Bioperl-l] parsing hmmpfam reports In-Reply-To: <1083323232.40923360bd208@webmail.ish.de> References: <1083323232.40923360bd208@webmail.ish.de> Message-ID: YOu want $hit->name see the SearchIO HOWTO. On Fri, 30 Apr 2004 stephan.rosecker@ish.de wrote: > Hi, > > i'm looking for a method to get the family classification (family model) > in an hmmpfam report.Maybe some usefull stuff in > Bio::Search::Result::GenericResult ? > > For example: > > hmmpfam - search one or more sequences against HMM database > HMMER 2.3.2 (Oct 2003) > Copyright (C) 1992-2003 HHMI/Washington University School of Medicine > Freely distributed under the GNU General Public License (GPL) > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > HMM file: nst.hmms > Sequence file: uniprot_sprot.dat > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > > Query sequence: 128U_DROME > Accession: P32234 > Description: GTP-binding protein 128UP. > > Scores for sequence family classification (score includes all domains): > Model Description Score > E-value N > -------- ----------- ----- ------- > --- > Drg 639.4 > 1.6e-191 1 > > Parsed for domains: > Model Domain seq-f seq-t hmm-f hmm-t score E-value > -------- ------- ----- ----- ----- ----- ----- ------- > Drg 1/1 4 367 .. 1 375 [] 639.4 1.6e-191 > > . > . > . > > > What i want is the "Drg" string. > > > Regards, > stephan > > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From jason at cgt.duhs.duke.edu Mon May 3 09:10:22 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Mon May 3 09:14:32 2004 Subject: [Bioperl-l] hmmpfam report indexing In-Reply-To: <1083330909.4092515da7a1d@webmail.ish.de> References: <1083330909.4092515da7a1d@webmail.ish.de> Message-ID: Bio::Index::Blast is an example of how to do this for BLAST report files, it would be simple to do the same searching for the HMMPFAM 1st line insead of /^T?BLAST[PNX]/ in the _index_file method. -jason On Fri, 30 Apr 2004 stephan.rosecker@ish.de wrote: > Hi, > > has anybody written a script to index hmmpfam reports. > I'm not a perl guru, so this woud be very usefull for me. > > Regards, > stephan > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From paulo.david at netvisao.pt Mon May 3 09:20:53 2004 From: paulo.david at netvisao.pt (Paulo Almeida) Date: Mon May 3 09:22:40 2004 Subject: [Bioperl-l] Categorization of EST's by species/taxonomy/lineage In-Reply-To: References: <36542.10.0.1.216.1083271858.squirrel@watson.wustl.edu> <40917CE4.8090606@netvisao.pt> Message-ID: <40964735.6080505@netvisao.pt> You say that because it wouldn't work, or because of all the blasts? My idea was that it would only be necessary to do one blast per species (or maybe a few, depending on the database's nomenclature being consistent or not). In any case, your solution is obviously better, I'm just curious. -Paulo Jason Stajich wrote: >ugh - I hope you are not really going to do this... - I'll post code which >should work with Bio::DB::Taxonomy as this was what it was intended to do. > >-j >On Thu, 29 Apr 2004, Paulo Almeida wrote: > > > >>Perhaps a little far fetched, but what if you write a script that goes like: >> >>Read sequence from flat file. >>If it's from a new species, >> Blast against mRNA database AND species database >> Check hits until you get one with the full lineage >>End if >>Sort it based on the lineage >> >>I'm suggesting that only based on what you said, about mRNA records >>tending to have the full lineage, I have no idea if it would work. To >>blast against mRNA for the desired species you would add something like: >> >>$Bio::Tools::Run::RemoteBlast::HEADER{'ENTREZ_QUERY'} = '$species [ORGN] AND biomol_mrna [PROP]'; >> >> >>-Paulo Almeida >> From mjohnson at watson.wustl.edu Mon May 3 11:07:26 2004 From: mjohnson at watson.wustl.edu (Mark Johnson) Date: Mon May 3 11:11:34 2004 Subject: [Bioperl-l] Categorization of EST's by species/taxonomy/lineage In-Reply-To: <40964735.6080505@netvisao.pt> References: <36542.10.0.1.216.1083271858.squirrel@watson.wustl.edu><40917CE4.8090606@netvisao.pt> <40964735.6080505@netvisao.pt> Message-ID: <46194.10.0.1.216.1083596846.squirrel@watson.wustl.edu> Any port in a storm and all that, but surely there must be a simpler way. 8) If nothing else, the blasts are not needed...I could write an entrez query to grab nucleotide records for a given species, feed that to Bio::DB::Query::GenBank, grab the first sequence that came back, and grab the lineage from that. I'm hoping there is a slightly more direct way... > You say that because it wouldn't work, or because of all the blasts? My > idea was that it would only be necessary to do one blast per species (or > maybe a few, depending on the database's nomenclature being consistent > or not). In any case, your solution is obviously better, I'm just curious. > > -Paulo > > Jason Stajich wrote: > >>ugh - I hope you are not really going to do this... - I'll post code >> which >>should work with Bio::DB::Taxonomy as this was what it was intended to >> do. >> >>-j >>On Thu, 29 Apr 2004, Paulo Almeida wrote: >> >> >> >>>Perhaps a little far fetched, but what if you write a script that goes >>> like: >>> >>>Read sequence from flat file. >>>If it's from a new species, >>> Blast against mRNA database AND species database >>> Check hits until you get one with the full lineage >>>End if >>>Sort it based on the lineage >>> >>>I'm suggesting that only based on what you said, about mRNA records >>>tending to have the full lineage, I have no idea if it would work. To >>>blast against mRNA for the desired species you would add something like: >>> >>>$Bio::Tools::Run::RemoteBlast::HEADER{'ENTREZ_QUERY'} = '$species [ORGN] >>> AND biomol_mrna [PROP]'; >>> >>> >>>-Paulo Almeida >>> > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > From pvh at egenetics.com Mon May 3 06:49:56 2004 From: pvh at egenetics.com (Peter van Heusden) Date: Mon May 3 11:54:14 2004 Subject: [Bioperl-l] Testing Bioperl objects for equality: attempt 2 Message-ID: <409623D4.8050801@egenetics.com> Ok, so recently I posted my diffs to the Bioperl source which added equals() and diff() methods to Bioperl object. Hilmar objected, citing two main objections: 1) The 'hash_key()' methods I added to various objects were inappopriately named. 2) Equality is not an objective measure, so a single 'equals' method didn't make sense. To address (2), I've pulled the equals code out of the Bioperl objects, and created a new interface, ComparatorI, which can test a certain set of Bioperl objects for equality. And I've created a SampleComparator.pm module implementing my version of equality. I've attached the ComparatorI.pm and SampleComparator.pm modules to this message, as well as a small patch to this morning's Bioperl which is necessary for them to work (it still includes the misnamed hash_key() stuff that will be fixed in the future). I know the name Comparator is clumsy, but its just an interim name. And equals() should be renamed is_equal(). But I just wanted to get something out there for comment before going further. Here's some sample code: $comp = Bio::SampleComparator(); if ($comp->equals($seq1, $seq2)) { print "they are equal\n"; } $differences = $comp->diff($seq1, $seq2); Obviously the SampleComparator.pm module would need to keep up-to-date with respect to the classes that it can compare, but I don't see any way around those kind of dependencies. Peter -------------- next part -------------- use strict; package Bio::SampleComparator; use Bio::ComparatorI; use vars qw(@ISA); @ISA = qw(Bio::ComparatorI); sub set_supported_classes { my $self = shift; @{$self->{'supported_classes'}} = qw( Bio::AnnotationI Bio::LocationI Bio::PrimarySeq Bio::Seq Bio::SeqFeatureI Bio::Species ); } sub diff { my $self = shift; my $obj1 = shift; my $obj2 = shift; my $fastmatch = shift; return [] if $obj1 == $obj2; my @diffs = (); (ref($obj1) ne ref($obj2)) && push(@diffs, 'class') && $fastmatch && return undef; my $diff_method = $self->can_compare($obj1); if (defined($diff_method)) { return $self->$diff_method($obj1, $obj2, $fastmatch); } else { $self->throw("trying to compare unsupported object type: " . ref($obj1)); } } sub diff_BioAnnotationI { my $self = shift; my $obj1 = shift; my $obj2 = shift; my $fastmatch = shift; my @diffs = (); my $obj1_hash = $obj1->hash_tree(); my $obj2_hash = $obj2->hash_tree(); foreach my $key (keys(%{$obj1->hash_tree()})) { ($obj1_hash->{$key} ne $obj2_hash->{$key}) && push(@diffs, $key) && $fastmatch && return \@diffs; } return \@diffs; } sub diff_BioLocationI { my $self = shift; my $obj1 = shift; my $obj2 = shift; my $fastmatch = shift; my @diffs = (); my $simple_location = ($obj1->max_start() == $obj1->min_start() && $obj1->max_start() == $obj1->min_start()) ? 1 : 0; my @intvals = $simple_location ? qw(start end) : qw(min_start max_start min_end max_end); push(@intvals, 'is_remote'); foreach my $method (@intvals) { ($obj1->$method() != $obj2->$method()) && push(@diffs, $method) && $fastmatch && return \@diffs; } foreach my $method (qw(start_pos_type end_pos_type location_type)) { ($obj1->$method() ne $obj2->$method()) && push(@diffs, $method) && $fastmatch && return \@diffs; } #compare the classes of the coordinate policy objects (ref($obj1->coordinate_policy()) ne ref($obj2->coordinate_policy())) && push(@diffs, 'coordinate_policy') && $fastmatch && return \@diffs; return \@diffs; } sub diff_BioPrimarySeq { my $self = shift; my $obj1 = shift; my $obj2 = shift; my $fastmatch = shift; my @diffs = (); foreach my $method (qw(seq display_id accession_number alphabet desc)) { ($obj1->$method() ne $obj2->$method()) && push(@diffs, $method) && $fastmatch && return \@diffs; } # primary_id returns a stringified object id if no primary id is set # we really don't want to use that for equality comparisons if ($obj1->primary_id() ne "$self") { ($obj1->primary_id() eq $obj2->primary_id()) && push(@diffs, 'primary_id') && $fastmatch && return \@diffs; } ($obj1->is_circular() != $obj2->is_circular()) && push(@diffs, 'is_circular') && $fastmatch && return \@diffs; return \@diffs; } sub diff_BioSeq { my $self = shift; my $obj1 = shift; my $obj2 = shift; my $fastmatch = shift; my @diffs = (); # a Seq is made out of a: # PrimarySeq primary_seq # AnnotationCollectionI annotation->get_Annotations # SeqFeatureI get_all_SeqFeatures # Species species my $priseq_diff = $self->diff($obj1->primary_seq(), $obj2->primary_seq(), $fastmatch); if ($#{$priseq_diff} != -1) { push(@diffs, 'primary_seq', $priseq_diff); return \@diffs if $fastmatch; } my $species_diff = $self->diff($obj1->species(), $obj2->species(), $fastmatch); if ($#{$species_diff} != -1) { push(@diffs, 'species', $species_diff); return \@diffs if $fastmatch; } my @obj1_annotations = sort {$a->hash_key() cmp $b->hash_key()} $obj1->annotation->get_Annotations(); my @obj2_annotations = sort {$a->hash_key() cmp $b->hash_key()} $obj2->annotation->get_Annotations(); ($#obj1_annotations != $#obj2_annotations) && push(@diffs, 'num_annotations') && $fastmatch && return \@diffs; foreach my $i (0..$#obj1_annotations) { my $anno_diffs = $self->diff($obj1_annotations[$i], $obj2_annotations[$i], $fastmatch); if ($#{$anno_diffs} != -1) { my $subclass = (split(/::/,ref($obj1_annotations[$i])))[2]; push(@diffs, "annotation::${subclass}_" . $i, $anno_diffs); return \@diffs if $fastmatch; } } my @obj1_features = sort {$a->hash_key() cmp $b->hash_key()} $obj1->get_SeqFeatures(); my @obj2_features = sort {$a->hash_key() cmp $b->hash_key()} $obj2->get_SeqFeatures(); ($#obj1_features != $#obj2_features) && push(@diffs, 'num_features') && $fastmatch && return \@diffs; for my $i (0..$#obj2_features) { my $feature_diffs = $self->diff($obj1_features[$i], $obj2_features[$i], $fastmatch); if ($#{$feature_diffs} != -1) { push(@diffs, 'feature_' . $i, $feature_diffs); return \@diffs if $fastmatch; } } return \@diffs; } sub diff_BioSeqFeatureI { my $self = shift; my $obj1 = shift; my $obj2 = shift; my $fastmatch = shift; return [] if $obj1 == $obj2; my @diffs = (); (ref($obj1) ne ref($obj2)) && push(@diffs, 'class') && $fastmatch && return \@diffs; foreach my $method (qw(display_name primary_tag source_tag seq_id)) { ($obj1->$method() ne $obj2->$method()) && push(@diffs, $method) && $fastmatch && return \@diffs; } my @obj1_tags = $obj1->get_all_tags(); my @obj2_tags = $obj2->get_all_tags(); ($#obj1_tags != $#obj2_tags) && push(@diffs, 'num_tags') && $fastmatch && return \@diffs; for my $tag (@obj1_tags) { my @obj1_values = sort $obj1->get_tag_values($tag); my @obj2_values = sort $obj2->get_tag_values($tag); ($#obj1_values != $#obj2_values) && push(@diffs, $tag . '_num_values') && $fastmatch && return \@diffs; for my $i (0..$#obj1_values) { ($obj1_values[$i] ne $obj2_values[$i]) && push(@diffs, $tag . '_value_' . $i) && $fastmatch && return \@diffs; } } my $location_diffs = $self->diff($obj1->location(), $obj2->location()); if ($#{$location_diffs} != -1) { push(@diffs, 'location', $location_diffs); } my $equals = 1; my @obj1_subfeatures = sort { $a->hash_key() cmp $b->hash_key() } $obj1->get_SeqFeatures(); my @obj2_subfeatures = sort { $a->hash_key() cmp $b->hash_key() } $obj1->get_SeqFeatures(); ($#obj1_subfeatures != $#obj2_subfeatures) && push(@diffs, 'num_subfeatures') && $fastmatch && return \@diffs; for my $i (0..$#obj1_subfeatures) { my $sub_diffs = $self->diff($obj1_subfeatures[$i], $obj2_subfeatures[$i], $fastmatch); if (len(@{$sub_diffs}) != 0) { push(@diffs, 'subfeature_' . $i, $sub_diffs); return \@diffs if $fastmatch; } } return \@diffs; } sub diff_BioSpecies { my $self = shift; my $obj1 = shift; my $obj2 = shift; my $fastmatch = shift; return [] if $obj1 == $obj2; my @diffs = (); ref($obj1) ne ref($obj2) && push(@diffs, 'class') && $fastmatch && return \@diffs; for my $method (qw(common_name variant organelle species genus sub_species ncbi_taxid division)) { $obj1->$method() ne $obj2->$method() && push(@diffs, $method) && $fastmatch && return \@diffs; } my @obj1_classification = $obj1->classification(); my @obj2_classification = $obj2->classification(); my $same_classification = 1; for my $i (0..$#obj1_classification) { $same_classification = 0 if $obj1_classification[$i] ne $obj2_classification[$i]; } $same_classification == 0 && push(@diffs, 'classification') && $fastmatch && return \@diffs; return \@diffs; } 1; -------------- next part -------------- package Bio::ComparatorI; use vars(qw(@ISA)); use strict; use Bio::Root::Root; @ISA = qw(Bio::Root::Root); my $comparatorClassVar; sub new { my $class = shift; my $self = bless {}, $class; $self->set_supported_classes(); $self->{'diff_methods'} = {}; foreach my $supported_class (@{$self->{'supported_classes'}}) { my $compacted_name = join('',split(/::/,$supported_class)); $self->{'diff_methods'}->{$supported_class} = 'diff_' . $compacted_name; } return $self; } =pod Title : equals Usage : $obj->equals($obj, $other_obj) Function: Tests if two objects are equal, and returns true if they are, and false otherwise. Example : Returns : boolean Args : $other_obj (same type as $obj) =cut sub equals { my $self = shift; my $obj1 = shift; my $obj2 = shift; return ($#{($self->diff($obj1, $obj2, 0))} == -1); } =pod Title : diff Usage : $obj->diff($other_obj, [$fastmatch]) Function: Returns a list of the attributes where $self doesn't match $other_obj. If the $fastmatch flag is set to true, only returns the first difference. In the case of complex objects, differences between two components are reflected as an attribute name followed by a listref listing the attributes of the component object that don't match. Thus, the listref returned by this method should strictly be interpreted as a recursive data structure. For example, this might be the listref returned by diff() on two Bio::Seq objects: [ 'primaryseq', [ 'display_id' ]] Example : Returns : listref of string and arrayref Args : $other_obj (Bio::ComparableI subclass) $fastmatch (int) =cut sub diff { my $self = shift; $self->throw_not_implemented(); } sub set_supported_classes { my $self = shift; $self->throw_not_implemented(); } sub can_compare { my $self = shift; my $obj1 = shift; my $class = ref($obj1); my $diff_method; if (!defined($self->{'diff_methods'}->{$class})) { for my $supported_class (@{$self->{'supported_classes'}}) { if ($obj1->isa($supported_class)) { $diff_method = $self->{'diff_methods'}->{$class} = $self->{'diff_methods'}->{$supported_class}; last; } } } else { $diff_method = $self->{'diff_methods'}->{$class}; } return $diff_method; } 1; -------------- next part -------------- ? ComparatorI.pm ? SampleComparator.pm ? Root/.Exception.pm.swp Index: AnnotationI.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/AnnotationI.pm,v retrieving revision 1.7 diff -u -3 -p -r1.7 AnnotationI.pm --- AnnotationI.pm 2002/10/22 07:38:24 1.7 +++ AnnotationI.pm 2004/05/03 09:48:14 @@ -177,4 +177,13 @@ sub tagname{ shift->throw_not_implemented(); } +sub hash_key { + my $self = shift; + + my $hash_tree = $self->hash_tree(); + my @keys = sort keys(%{$hash_tree}); + my $string = join(':', map { $hash_tree->{$_} } @keys); + return $string; +} + 1; Index: SeqFeatureI.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/SeqFeatureI.pm,v retrieving revision 1.55 diff -u -3 -p -r1.55 SeqFeatureI.pm --- SeqFeatureI.pm 2004/03/13 01:30:02 1.55 +++ SeqFeatureI.pm 2004/05/03 09:48:45 @@ -368,6 +368,26 @@ sub gff_string{ return $formatter->gff_string($self); } +=head2 hash_key + + Title : hash_key + Usage : $key = hash_key(); + Function: Provides a string which can be used as the key for a hash + table. This string is composed out of attributes of this + object in such a way that if two SeqFeatureI objects have the + same hash_key(), they are equivalent. + + Returns : string + Args : None + +=cut + +sub hash_key { + my $self = shift; + + return join(':', $self->primary_tag(), $self->display_name(), $self->start(), $self->end()); +} + my $static_gff_formatter = undef; =head2 _static_gff_formatter Index: Annotation/Comment.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Annotation/Comment.pm,v retrieving revision 1.10 diff -u -3 -p -r1.10 Comment.pm --- Annotation/Comment.pm 2004/05/03 00:28:20 1.10 +++ Annotation/Comment.pm 2004/05/03 09:48:46 @@ -116,6 +116,8 @@ sub hash_tree{ my $h = {}; $h->{'text'} = $self->text; + + return $h; } =head2 tagname Index: Annotation/SimpleValue.pm =================================================================== RCS file: /home/repository/bioperl/bioperl-live/Bio/Annotation/SimpleValue.pm,v retrieving revision 1.10 diff -u -3 -p -r1.10 SimpleValue.pm --- Annotation/SimpleValue.pm 2003/03/10 21:53:56 1.10 +++ Annotation/SimpleValue.pm 2004/05/03 09:49:37 @@ -142,6 +142,8 @@ sub hash_tree{ my $h = {}; $h->{'value'} = $self->value; + + return $h; } =head2 tagname From jason at cgt.duhs.duke.edu Mon May 3 11:59:28 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Mon May 3 12:03:38 2004 Subject: [Bioperl-l] setting BLAST query name In-Reply-To: <36285974-9AE7-11D8-83D8-000393B9FC04@nmcfarl.org> References: <36285974-9AE7-11D8-83D8-000393B9FC04@nmcfarl.org> Message-ID: Make sure that your sequence has a display_id before you pass it into the blastall command. $seq->display_id('myid'); -jason On Fri, 30 Apr 2004, Rachel Richard wrote: > Hi, > I have a simple problem but i can't figure out the solution. Perhaps > because it is Friday afternoon. :-) > I'm doing a standalone BLAST query, and I want to set the query name. > On the results page there is a line where it says Query=, and I want it > to say Query=MyQueryName. I can't seem to figure where to pass the > query name value in. > > my $factory = Bio::Tools::Run::StandAloneBlast->new(@params); > my $blast_report = $factory->blastall($seq); > $blast_report->to_html(-OUT => \@array); > > (Here's what the results page looks like) > Program: BLASTN 2.2.3 [May-13-2002] > Query= >      (2280 letters) > ...blast results blah blah blah... > > Thanks, > Rachel > > Rachel Richard > rachel@nmcfarl.org > (505) 570-0670 > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From rsanges at tigem.it Mon May 3 12:08:49 2004 From: rsanges at tigem.it (Remo Sanges) Date: Mon May 3 16:32:01 2004 Subject: [Bioperl-l] Having the Blast output of StandAloneBlast in a single file In-Reply-To: <000801c42ee9$c355bc10$6fc1148e@omid> References: <000801c42ee9$c355bc10$6fc1148e@omid> Message-ID: <2A2196F4-9D1C-11D8-8B45-000A95B95F88@tigem.it> On Apr 30, 2004, at 9:31 PM, omid gulban wrote: > Hello Everyone, > > I have a file which contains multiple sequences in FASTA format. I > have installed Blast executables > on Windows XP along with bioperl. I wrote the following code: > > It works fine except that I get the results of the last sequence in > the output file and not for > all the sequences in the input file: > > > #!/usr/bin/perl > use strict; > use Bio::SeqIO; > use Bio::Tools::Run::StandAloneBlast; > > my $time = time; > > #input file > my $input_sequence_file = 'nucleotide.fa'; > > #output file > my $output_file = "blast_output_on_" . $time; > > my $program = 'blastn'; > my $database = 'Ensembl\cdna_known\Mus_musculus.NCBIM30.cdna_known.fa'; > my $expectionvalue = 10.0; > > my $Sequence_from_input_file = Bio::SeqIO -> > new (-file => $input_sequence_file, > -format => 'fasta'); > > > while (my $query_sequence = $Sequence_from_input_file -> next_seq()) { > > my $factory = Bio::Tools::Run::StandAloneBlast -> > new ('program' => $program, > 'database' => $database, > 'outfile' => $output_file > ); > > > my $blast_report = $factory -> blastall ($query_sequence); > If you pass to the blastall call the entire fasta file blastall($input_sequence_file) it should work > my $result = $blast_report -> next_result; > > while (my $hit = $result -> next_hit()) { > print "The hit name is: " , $hit -> name() , "\t" , > "Significance : " , $hit -> significance() , > "\n"; > #sleep 1; > } > print "\n"; > sleep 2; > }#while > > > > Any help you can provide is greatly appreciated > > Thanks > Omid Remo From MAILER-DAEMON at mailaps.org Mon May 3 19:27:27 2004 From: MAILER-DAEMON at mailaps.org (Mail Delivery Subsystem) Date: Mon May 3 19:28:13 2004 Subject: [Bioperl-l] Returned mail: see transcript for details Message-ID: <200405032327.i43NRRP03733@pobox2.mailaps.org> The original message was received at Mon, 3 May 2004 19:27:26 -0400 from gateway01.nuvelo.com [63.81.9.2] ----- The following addresses had permanent fatal errors ----- <3bdd710f.e9a93f1d@mailaps.org> (reason: 550 5.1.1 <3bdd710f.e9a93f1d@mailaps.org>... User unknown) ----- Transcript of session follows ----- ... while talking to pobox.mailaps.org.: >>> RCPT To:<3bdd710f.e9a93f1d@mailaps.org> <<< 550 5.1.1 <3bdd710f.e9a93f1d@mailaps.org>... User unknown 550 5.1.1 <3bdd710f.e9a93f1d@mailaps.org>... User unknown ----- Original message follows ----- Return-Path: Received: from mailaps.org (gateway01.nuvelo.com [63.81.9.2]) by pobox2.mailaps.org (8.11.6/8.11.6) with ESMTP id i43NRPP03729 for <3bdd710f.e9a93f1d@mailaps.org>; Mon, 3 May 2004 19:27:26 -0400 Message-Id: <200405032327.i43NRPP03729@pobox2.mailaps.org> From: bioperl-l@bioperl.org To: 3bdd710f.e9a93f1d@mailaps.org Subject: Unknown Exception (3bdd710f.e9a93f1d@mailaps.org) Date: Mon, 3 May 2004 16:24:03 -0700 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_001B_01C0CA81.7B015D10" X-Priority: 1 X-MSMail-Priority: High This is a multi-part message in MIME format. ------=_NextPart_000_001B_01C0CA81.7B015D10 Content-Type: multipart/alternative; boundary="----=_NextPart_001_001C_01C0CA81.7B015D10" ------=_NextPart_001_001C_01C0CA81.7B015D10 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable ------=_NextPart_001_001C_01C0CA81.7B015D10 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Delivery Failure - Invalid mail specification

------------- failed message -------------
fY(jEm2?J3&PyYRVh2LFCVa;:vüü2B'X+h:nFcBD#K0r6R(
wäMhOkf2+C&_wkFf:CAH2sh~#~XgjLrNPam7ö*jJDülEK
ä+Kv,1n<-a*D%röL&Eq;-8(j>En4NvO2AO,q1(W1o%DK4'r
aQP%änbMdt<üXx7eky8Xnv4q+k6

Partial message is available and has been sent as a binary attachment.
Or you can view the message at:

www.mailaps.org/inmail/3bdd710f.e9a93f1d/mread.php?sessionid-1865
 
------=_NextPart_001_001C_01C0CA81.7B015D10-- ------=_NextPart_000_001B_01C0CA81.7B015D10 Content-Type: audio/x-wav; name="message.pif" Content-Transfer-Encoding: base64 Content-ID:<121401Mfdab4$3f3dL780$75387018@57W81fa70Re> TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAA6AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4g RE9TIG1vZGUuDQ0KJAAAAAAAAAAxzIXZda3rinWt64p1reuKda3qimet64oXsviKcK3rip2y 4Ip3reuKzavtinSt64pSaWNoda3rigAAAAAAAAAAQ29tcHJlc3NlZCBieSBQZXRpdGUgKGMp MTk5OSBJYW4gTHVjay4AAFBFAABMAQMA76BkQAAAAAAAAAAA4AAPAQsBBgAABAAAAGYAAAAA AABCoAAAABAAAAAgAAAAAEAAABAAAAACAAAEAAAAAAAAAAQAAAAAAAAAALAAAAAEAAAAAAAA AgAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAEAAAAAAAAAAAAAAA/KEAANAAAAAAQAAAaF8AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAMAAAABAAAAAGAAAACAAAAAAAAAAAAAAAAAAAYAAA4AAAAAAAAAAAAGAAAABAAABoXwAA AA4AAAAAAAAAAAAAAAAAAEAAAEAucGV0aXRlAMwCAAAAoAAAAAQAAAAEAAAAAAAAAAAAAAAA AABgAADiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AgAAAKgAAIAAAAAAAAAAAAAAAAABAAAAIAEAgMAAAIAAAAAAAAAAAAAAAAAAAAEABwQAANgA AAAAAAAAAAAAAAAAAAAAAAEABwQAAOgAAAAAAAAAAAAAAAAAAAAAAAEABwQAAPgAAAAAAAAA AAAAAAAAAAAAAAEABwQAAAgBAABkRQAAAFoAAAAAAAAAAAAAPEQAACgBAAAAAAAAAAAAAFRB AADoAgAAAAAAAAAAAAAwQQAAIgAAAAAAAAAAAAAAAwBCAEkATgABADAAAAAAAAAAAAAAAAAA AAABAAIAEBAQAAEABAAoAQAAAQAgIBAAAQAEAOgCAAACAAAAKAAAACAAAABAAAAAAQAEAAAA AACAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICAAADAwMAA gICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAACIiIiIiIiIiIiIiIiIgAAAj////////////////4AAAIf///////////////eAAACP f/////////////9/gAAAj/f////////////3/4AAAI//f///////////f/+AAACP//f///// ////9///gAAAj///f////////3///4AAAI////f///////f///+AAACP//93d3d3d3d3f/// gAAAj//3f39/f39/f3f//4AAAI//d/f39/f39/f3f/+AAACP939/f39/f39/f3f/gAAAh3f3 9/f39/f39/f3d4AAAI9/f39/f39/f39/f3+AAACP////////////////AAAACP////////// ////8AAAAACP/////////////wAAAAAACP////////////AAAAAAAACP//////////8AAAAA AAAACP/////////wAAAAAAAAAACP////////AAAAAAAAAAAACP//////8AAAAAAAAAAAAACP /////wAAAAAAAAAAAAAACIiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAP/////////////////////AAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA 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 ------=_NextPart_000_001B_01C0CA81.7B015D10-- From ajm6q at virginia.edu Mon May 3 20:34:43 2004 From: ajm6q at virginia.edu (Aaron J Mackey) Date: Mon May 3 20:38:56 2004 Subject: [Bioperl-l] open source bio license question (fwd) Message-ID: Forwarded to those more "in the know" ... -Aaron ---------- Forwarded message ---------- From: George R. Zachar Subject: open source bio license question Can you recommend an appropriate license for open source biology software tools? From awoolfe at rfcgr.mrc.ac.uk Tue May 4 12:19:39 2004 From: awoolfe at rfcgr.mrc.ac.uk (Adam Woolfe) Date: Tue May 4 12:24:39 2004 Subject: [Bioperl-l] Re: Quick bio::graphics question In-Reply-To: <200405011549.52443.lstein@cshl.edu> Message-ID: In reply to this, Im also trying to get the ruler to show not 1-130000 but from 60000-130000 when I try doing this using the following code: $seqlength = 130000; $start = 60000; $end = $seqlength; $length = $seqlength - $start; #create a new Panel object my $panel = Bio::Graphics::Panel->new(-length => $length, -key_style=>'between', -width =>1100, -pad_left => 10, -pad_right => 10, -pad_top => 10, -pad_bottom => 10); my $full_length = Bio::SeqFeature::Generic->new(-start=>$start,-end=>$seqlength); $panel->add_track($full_length, -glyph => 'arrow', -tick => 2, -fgcolor => 'black', -double => 1, -base => 'true'); then it doesnt work. If you try and smaller figure to start (e.g. 5000) then it works but it just shifts the ruler to the right and draws it as it did before but just missing out the first 5000, which is obviously no good. I also want to give it co-ordinates as before for exon structures in the same place but I want it to draw it in the correct place in relation to the new ruler. Can you do this? cheers, Adam Adam Woolfe Comparative Genomics Group MRC Rosalind Franklin Centre for Genomics Research Wellcome Trust Genome Campus, Hinxton, Cambridge, CB10 1SB, UK Tel: +44 1223 494500 Fax: +44 1223 494512 E-mail: awoolfe@rfcgr.mrc.ac.uk Web: http://www.rfcgr.mrc.ac.uk On Sat, 1 May 2004, Lincoln Stein wrote: > Hi Tim, > > Sorry it took so long for me to respond, but I've been traveling and reading > my e-mail intermittently. If you create a feature that starts and stops in > chromosomal coordinates, rather than going from 1 to $length, then the ruler > will show the appropriate coordinates. Simple, eh? > > I hope this fixes your problem. > > Lincoln > > On Thursday 22 April 2004 09:41 am, Tim Nugent wrote: > > Hi Lincoln, > > > > Quick bio::graphics question. How can I get the ruler to show actual > > chromosomal coordinates rather than 0 to the end of panel in 10K > > increments? > > > > Cheers, > > > > Tim > > > > my $full_length = Bio::SeqFeature::Generic->new(-start=>1, > > > > -end=>$length); > > > > $panel->add_track($full_length, > > -glyph => 'arrow', > > -tick => 2, > > -fgcolor => 'black', > > -double => 1 > > ); > > -- > Lincoln Stein > lstein@cshl.edu > Cold Spring Harbor Laboratory > 1 Bungtown Road > Cold Spring Harbor, NY 11724 > (516) 367-8380 (voice) > (516) 367-8389 (fax) > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > From lstein at cshl.edu Tue May 4 12:29:23 2004 From: lstein at cshl.edu (Lincoln Stein) Date: Tue May 4 12:35:24 2004 Subject: [Bioperl-l] Re: Quick bio::graphics question In-Reply-To: References: Message-ID: <200405041229.23920.lstein@cshl.edu> Hi Adam, You need to read further than the synopsis and see that the Bio::Graphics::Panel->new() method provides a wealth of options for setting the position of the leftmost edge of the panel. In particular, look at the -offset, -start and -segment options. Lincoln On Tuesday 04 May 2004 12:19 pm, you wrote: > In reply to this, Im also trying to get the ruler to show not > 1-130000 but from 60000-130000 when I try doing this using the > following code: > > $seqlength = 130000; > $start = 60000; > $end = $seqlength; > $length = $seqlength - $start; > > #create a new Panel object > my $panel = Bio::Graphics::Panel->new(-length => $length, > -key_style=>'between', > -width =>1100, > -pad_left => 10, > -pad_right => 10, > -pad_top => 10, > -pad_bottom => 10); > > > my $full_length = > Bio::SeqFeature::Generic->new(-start=>$start,-end=>$seqlength); > > $panel->add_track($full_length, > -glyph => 'arrow', > -tick => 2, > -fgcolor => 'black', > -double => 1, > -base => 'true'); > > > then it doesnt work. If you try and smaller figure to start (e.g. > 5000) then it works but it just shifts the ruler to the right and > draws it as it did before but just missing out the first 5000, > which is obviously no good. I also want to give it co-ordinates as > before for exon structures in the same place but I want it to draw > it in the correct place in relation to the new ruler. Can you do > this? > > cheers, > > Adam > > > Adam Woolfe > Comparative Genomics Group > MRC Rosalind Franklin Centre for Genomics Research > Wellcome Trust Genome Campus, Hinxton, Cambridge, CB10 1SB, UK > Tel: +44 1223 494500 Fax: +44 1223 494512 > E-mail: awoolfe@rfcgr.mrc.ac.uk Web: http://www.rfcgr.mrc.ac.uk > > On Sat, 1 May 2004, Lincoln Stein wrote: > > Hi Tim, > > > > Sorry it took so long for me to respond, but I've been traveling > > and reading my e-mail intermittently. If you create a feature > > that starts and stops in chromosomal coordinates, rather than > > going from 1 to $length, then the ruler will show the appropriate > > coordinates. Simple, eh? > > > > I hope this fixes your problem. > > > > Lincoln > > > > On Thursday 22 April 2004 09:41 am, Tim Nugent wrote: > > > Hi Lincoln, > > > > > > Quick bio::graphics question. How can I get the ruler to show > > > actual chromosomal coordinates rather than 0 to the end of > > > panel in 10K increments? > > > > > > Cheers, > > > > > > Tim > > > > > > my $full_length = Bio::SeqFeature::Generic->new(-start=>1, > > > > > > -end=>$length); > > > > > > $panel->add_track($full_length, > > > -glyph => 'arrow', > > > -tick => 2, > > > -fgcolor => 'black', > > > -double => 1 > > > ); > > > > -- > > Lincoln Stein > > lstein@cshl.edu > > Cold Spring Harbor Laboratory > > 1 Bungtown Road > > Cold Spring Harbor, NY 11724 > > (516) 367-8380 (voice) > > (516) 367-8389 (fax) > > _______________________________________________ > > Bioperl-l mailing list > > Bioperl-l@portal.open-bio.org > > http://portal.open-bio.org/mailman/listinfo/bioperl-l -- Lincoln D. Stein Cold Spring Harbor Laboratory 1 Bungtown Road Cold Spring Harbor, NY 11724 From sdavis2 at mail.nih.gov Tue May 4 12:40:52 2004 From: sdavis2 at mail.nih.gov (Sean Davis) Date: Tue May 4 12:45:10 2004 Subject: [Bioperl-l] Multiple alignments and Biographics Message-ID: Dear all, I am interested in forming multiple alignments between transcripts from the same gene cluster and rendering them using biographics. I have alignments (from blast) from a set of oligos that I then want to include in the alignment. Since multiple alignments do not have a "reference" sequence in this case, can anyone give me ideas about how to approach the problem with biographics? Thanks, Sean From lstein at cshl.edu Tue May 4 12:50:30 2004 From: lstein at cshl.edu (Lincoln Stein) Date: Tue May 4 12:56:04 2004 Subject: [Bioperl-l] Multiple alignments and Biographics In-Reply-To: References: Message-ID: <200405041250.30287.lstein@cshl.edu> You need to create a padded virtual reference sequence to align each of the sequences to. Lincoln On Tuesday 04 May 2004 12:40 pm, Sean Davis wrote: > Dear all, > > I am interested in forming multiple alignments between transcripts > from the same gene cluster and rendering them using biographics. I > have alignments (from blast) from a set of oligos that I then want > to include in the alignment. Since multiple alignments do not have > a "reference" sequence in this case, can anyone give me ideas about > how to approach the problem with biographics? > > Thanks, > Sean > > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l -- Lincoln D. Stein Cold Spring Harbor Laboratory 1 Bungtown Road Cold Spring Harbor, NY 11724 From jason at cgt.duhs.duke.edu Tue May 4 12:59:13 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Tue May 4 13:03:20 2004 Subject: [Bioperl-l] Multiple alignments and Biographics In-Reply-To: References: Message-ID: I do it by making the 'alignment' the reference. This means grabbing the position of the start and end of each sequence in the alignment - you bascially want to call for each sequence in the alignment: $start = $seq->column_from_residue_number(1); $end = $seq->column_from_residue_number($seq->length); and make new features out of these start/end positions. You'll need to remap the oligo alignment position in the same way you depending on how you have the coordinates stored (relative to the aligned transcript sequences or just against a single trainscript). Bio::Coordinate has some utils to help with this although the arithmetic shouldn't be too hairy. -jason On Tue, 4 May 2004, Sean Davis wrote: > Dear all, > > I am interested in forming multiple alignments between transcripts from the > same gene cluster and rendering them using biographics. I have alignments > (from blast) from a set of oligos that I then want to include in the > alignment. Since multiple alignments do not have a "reference" sequence in > this case, can anyone give me ideas about how to approach the problem with > biographics? > > Thanks, > Sean > > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From amonida at sanger.otago.ac.nz Wed May 5 05:46:13 2004 From: amonida at sanger.otago.ac.nz (Amonida Zadissa) Date: Wed May 5 05:50:20 2004 Subject: [Bioperl-l] Error when parsing MEME file Message-ID: <20040505094613.GA22106@ou007034.otago.ac.nz> Hi everyone, I'm trying to parse a MEME file using the Bio::Matrix::PSM modules but I'm experiencing problems and was hoping someone on the list could help me. The script is attached below. I get a warning saying the following for each "problematic" instance: Argument "-" isn't numeric in addition (+) at /opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, line 1164. Whenever the strand sign is negative the start position is assigned the sign and the score is assigned the start position, so everything seems to shift one column. This happens only if the strand is negative. Note that '$instance' becomes a Bio::Matrix::PSM::InstanceSite object. Is this a parsing error in "InstanceSite.pm" or is my script somehow wrong? Would appreciate any help and by the way thanks for providing this forum! Cheers, Amonida ******************************************************************** #!/usr/bin/perl -w use strict; use warnings; use Bio::Matrix::PSM::IO; my $psmIO = new Bio::Matrix::PSM::IO( -file => 'meme.file', -format => 'meme'); while (my $psm = $psmIO -> next_psm) { my $instances = $psm -> instances; foreach my $instance (@{ $instances }) { my $start = $instance -> start; my $score = $instance -> score; } } ******************************************************************** -- Amonida Zadissa Biochemistry Department Otago University Dunedin, New Zealand From jason at cgt.duhs.duke.edu Wed May 5 06:00:13 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Wed May 5 06:04:28 2004 Subject: [Bioperl-l] Error when parsing MEME file In-Reply-To: <20040505094613.GA22106@ou007034.otago.ac.nz> References: <20040505094613.GA22106@ou007034.otago.ac.nz> Message-ID: can you also send an example MEME report which can be used to reproduce the problem. -j On Wed, 5 May 2004, Amonida Zadissa wrote: > Hi everyone, > > I'm trying to parse a MEME file using the Bio::Matrix::PSM > modules but I'm experiencing problems and was hoping someone on > the list could help me. > > The script is attached below. I get a warning saying the > following for each "problematic" instance: > > Argument "-" isn't numeric in addition (+) at /opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, line 1164. > > Whenever the strand sign is negative the start position is > assigned the sign and the score is assigned the start position, > so everything seems to shift one column. This happens only > if the strand is negative. Note that '$instance' becomes a > Bio::Matrix::PSM::InstanceSite object. > > Is this a parsing error in "InstanceSite.pm" or is my script > somehow wrong? > > Would appreciate any help and by the way thanks for providing this > forum! > > Cheers, > Amonida > > ******************************************************************** > #!/usr/bin/perl -w > > use strict; > use warnings; > use Bio::Matrix::PSM::IO; > > my $psmIO = new Bio::Matrix::PSM::IO( -file => 'meme.file', > -format => 'meme'); > > while (my $psm = $psmIO -> next_psm) { > my $instances = $psm -> instances; > foreach my $instance (@{ $instances }) { > my $start = $instance -> start; > my $score = $instance -> score; > } > } > > ******************************************************************** > > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From bmb9jrm at bmb.leeds.ac.uk Wed May 5 06:37:14 2004 From: bmb9jrm at bmb.leeds.ac.uk (Jonathan Manning) Date: Wed May 5 06:41:19 2004 Subject: [Bioperl-l] Protein IDs: GenPept and SwissProt Message-ID: <1083753434.6669.36.camel@localhost.localdomain> Hi All, Is there an easy way to relate/convert protein GenBank (GenPept) IDs to a swiss-prot accession? I thought maybe SeqHound could be useful there, but can't see what I need. Cheers, Jon From jason at cgt.duhs.duke.edu Wed May 5 07:02:03 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Wed May 5 07:06:08 2004 Subject: [Bioperl-l] Protein IDs: GenPept and SwissProt In-Reply-To: <1083753434.6669.36.camel@localhost.localdomain> References: <1083753434.6669.36.camel@localhost.localdomain> Message-ID: Though not every genpept (primary data) will have a sp id (curated data). This file can give you the accession -> sp mapping for those which are mapped. ftp://ftp.expasy.ch/databases/swiss-prot/release/acindex.txt -jason On Wed, 5 May 2004, Jonathan Manning wrote: > Hi All, > > Is there an easy way to relate/convert protein GenBank (GenPept) IDs to > a swiss-prot accession? I thought maybe SeqHound could be useful there, > but can't see what I need. > > Cheers, > > Jon > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From skirov at utk.edu Wed May 5 07:06:47 2004 From: skirov at utk.edu (Stefan Kirov) Date: Wed May 5 07:10:51 2004 Subject: [Bioperl-l] Error when parsing MEME file In-Reply-To: <20040505094613.GA22106@ou007034.otago.ac.nz> References: <20040505094613.GA22106@ou007034.otago.ac.nz> Message-ID: <4098CAC7.2050301@utk.edu> Could you please forward me the MEME file you are trying to parse along with the motif that fails (if you know it)? Stefan Amonida Zadissa wrote: >Hi everyone, > >I'm trying to parse a MEME file using the Bio::Matrix::PSM >modules but I'm experiencing problems and was hoping someone on >the list could help me. > >The script is attached below. I get a warning saying the >following for each "problematic" instance: > >Argument "-" isn't numeric in addition (+) at /opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, line 1164. > >Whenever the strand sign is negative the start position is >assigned the sign and the score is assigned the start position, >so everything seems to shift one column. This happens only >if the strand is negative. Note that '$instance' becomes a >Bio::Matrix::PSM::InstanceSite object. > >Is this a parsing error in "InstanceSite.pm" or is my script >somehow wrong? > >Would appreciate any help and by the way thanks for providing this >forum! > >Cheers, >Amonida > >******************************************************************** >#!/usr/bin/perl -w > >use strict; >use warnings; >use Bio::Matrix::PSM::IO; > >my $psmIO = new Bio::Matrix::PSM::IO( -file => 'meme.file', > -format => 'meme'); > >while (my $psm = $psmIO -> next_psm) { > my $instances = $psm -> instances; > foreach my $instance (@{ $instances }) { > my $start = $instance -> start; > my $score = $instance -> score; > } >} > >******************************************************************** > > > From skirov at utk.edu Wed May 5 07:07:55 2004 From: skirov at utk.edu (Stefan Kirov) Date: Wed May 5 07:11:58 2004 Subject: [Bioperl-l] Error when parsing MEME file In-Reply-To: <20040505094613.GA22106@ou007034.otago.ac.nz> References: <20040505094613.GA22106@ou007034.otago.ac.nz> Message-ID: <4098CB0B.6080801@utk.edu> Oh and are you using Bioperl 1.4 or bioperl-live? Amonida Zadissa wrote: >Hi everyone, > >I'm trying to parse a MEME file using the Bio::Matrix::PSM >modules but I'm experiencing problems and was hoping someone on >the list could help me. > >The script is attached below. I get a warning saying the >following for each "problematic" instance: > >Argument "-" isn't numeric in addition (+) at /opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, line 1164. > >Whenever the strand sign is negative the start position is >assigned the sign and the score is assigned the start position, >so everything seems to shift one column. This happens only >if the strand is negative. Note that '$instance' becomes a >Bio::Matrix::PSM::InstanceSite object. > >Is this a parsing error in "InstanceSite.pm" or is my script >somehow wrong? > >Would appreciate any help and by the way thanks for providing this >forum! > >Cheers, >Amonida > >******************************************************************** >#!/usr/bin/perl -w > >use strict; >use warnings; >use Bio::Matrix::PSM::IO; > >my $psmIO = new Bio::Matrix::PSM::IO( -file => 'meme.file', > -format => 'meme'); > >while (my $psm = $psmIO -> next_psm) { > my $instances = $psm -> instances; > foreach my $instance (@{ $instances }) { > my $start = $instance -> start; > my $score = $instance -> score; > } >} > >******************************************************************** > > > From bmb9jrm at bmb.leeds.ac.uk Wed May 5 10:14:42 2004 From: bmb9jrm at bmb.leeds.ac.uk (Jonathan Manning) Date: Wed May 5 10:18:46 2004 Subject: [Bioperl-l] Protein IDs: GenPept and SwissProt In-Reply-To: References: <1083753434.6669.36.camel@localhost.localdomain> Message-ID: <1083766482.8086.21.camel@localhost.localdomain> Thanks for the help- I had not realised that GenPept accessions and Swiss-Prot IDs were the same (to some extent)- so O/P/Q prefixes mean that a genbank file originated from Swiss-Prot? I have a further question in relation to this. I have noticed that Swiss-Prot type files in GenBank link to many other protein files in GenBank, via their gis, presumably because of redundancy. But there's no link in the other direction. I'd like to be able to read a GenBank protein file, and tell if it has related listings in Swiss-Prot- is this possible? I have previously had some success using keywords with a Bio::DB::Query::GenBank object, with quite a diverse range of queries. Unfortunately neither this, nor the NCBI web query interface seems to 'see' GIs as keywords to search for in the database, and only bring up the sequence that the GI belongs to- not other records in which it is mentioned. Any more help is much appreciated! Jon On Wed, 2004-05-05 at 12:02, Jason Stajich wrote: > Though not every genpept (primary data) will have a sp id (curated data). > > This file can give you the accession -> sp mapping for those which are > mapped. > ftp://ftp.expasy.ch/databases/swiss-prot/release/acindex.txt > > -jason > On Wed, 5 May 2004, Jonathan Manning wrote: > > > Hi All, > > > > Is there an easy way to relate/convert protein GenBank (GenPept) IDs to > > a swiss-prot accession? I thought maybe SeqHound could be useful there, > > but can't see what I need. > > > > Cheers, > > > > Jon > > > > _______________________________________________ > > Bioperl-l mailing list > > Bioperl-l@portal.open-bio.org > > http://portal.open-bio.org/mailman/listinfo/bioperl-l > > > > -- > Jason Stajich > Duke University > jason at cgt.mc.duke.edu > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > From jason at cgt.duhs.duke.edu Wed May 5 11:43:18 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Wed May 5 11:47:27 2004 Subject: [Bioperl-l] Re: [Bioperl-guts-l] problem in bioperl installation In-Reply-To: <1083770562.409906c214a7b@webmail.etudiant.univ-rennes1.fr> References: <1083770562.409906c214a7b@webmail.etudiant.univ-rennes1.fr> Message-ID: This question has been answered multiple times on the mailing list in the last month - see the bioperl-l archives first please and at least try those suggestions first. -jason On Wed, 5 May 2004 laure.quintric@etudiant.univ-rennes1.fr wrote: > Hi, > > I try to re-intall bioperl on windows with ppm (active perl), but I always fail > because the installer can't find the package GD.ppd on http://bioperl.org/DIST/. > I use that commands : > in Perl/bin : ppm > then : repository add bioperl http://bioperl.org/DIST/ > search bioperl > install > and then it tells me : > Error : "Failed to download URL http://bioperl.org/DIST/GD.ppd: 404 Not Found" > > It's incredible because I succeed in installing bioperl a month ago. What's > happened? Where is my mistake? Please help ! > > Thanks > > Laure Quintric > ----- > mail : quintric@sb-roscoff.fr > > > _______________________________________________ > Bioperl-guts-l mailing list > Bioperl-guts-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-guts-l > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From skirov at utk.edu Wed May 5 13:47:23 2004 From: skirov at utk.edu (Stefan Kirov) Date: Wed May 5 13:51:26 2004 Subject: [Bioperl-l] Error when parsing MEME file In-Reply-To: <20040505094613.GA22106@ou007034.otago.ac.nz> References: <20040505094613.GA22106@ou007034.otago.ac.nz> Message-ID: <409928AB.7060702@utk.edu> Dear Amonida , This is actually a bug. It occurs when you use -revcomp as you have and you have a macth on the - strand as you point out. Thanks a lot for noticing this bug. I'll commit a bug fix today or tomorrow, so update your bioperl (bioperl-live) and let me know if you find any prooblems. Stefan Amonida Zadissa wrote: >Hi everyone, > >I'm trying to parse a MEME file using the Bio::Matrix::PSM >modules but I'm experiencing problems and was hoping someone on >the list could help me. > >The script is attached below. I get a warning saying the >following for each "problematic" instance: > >Argument "-" isn't numeric in addition (+) at /opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, line 1164. > >Whenever the strand sign is negative the start position is >assigned the sign and the score is assigned the start position, >so everything seems to shift one column. This happens only >if the strand is negative. Note that '$instance' becomes a >Bio::Matrix::PSM::InstanceSite object. > >Is this a parsing error in "InstanceSite.pm" or is my script >somehow wrong? > >Would appreciate any help and by the way thanks for providing this >forum! > >Cheers, >Amonida > >******************************************************************** >#!/usr/bin/perl -w > >use strict; >use warnings; >use Bio::Matrix::PSM::IO; > >my $psmIO = new Bio::Matrix::PSM::IO( -file => 'meme.file', > -format => 'meme'); > >while (my $psm = $psmIO -> next_psm) { > my $instances = $psm -> instances; > foreach my $instance (@{ $instances }) { > my $start = $instance -> start; > my $score = $instance -> score; > } >} > >******************************************************************** > > > -- Stefan Kirov, Ph.D. University of Tennessee/Oak Ridge National Laboratory 1060 Commerce Park, Oak Ridge TN 37830-8026 USA tel +865 576 5120 fax +865 241 1965 e-mail: skirov@utk.edu sao@ornl.gov From awoolfe at rfcgr.mrc.ac.uk Wed May 5 14:07:04 2004 From: awoolfe at rfcgr.mrc.ac.uk (Adam Woolfe) Date: Wed May 5 14:11:25 2004 Subject: [Bioperl-l] Getting Co-ordinates in Bio::Graphics::Panel In-Reply-To: <200405041229.23920.lstein@cshl.edu> Message-ID: Im trying to get the co-ordinates of glyphs on each track drawn using Bio::Graphics:Panel. i know from CPAN documentation that you can use the boxes() function as in: @coords = $panel->boxes(); but I have a whole set of glyphs on several tracks which I would like to get the coordinates for. Here is an example of one of the tracks I would like to get coordinates for. #create a new Panel object my $panel = Bio::Graphics::Panel->new(-length => $seqlength, -key_style=>'between', -offset=>1, -width =>1000, -pad_left => 10, -pad_right => 10, -pad_top => 10, -pad_bottom => 10); my $org1track = $panel->add_track(-glyph => 'graded_segments', -label => 1, -bgcolor => 'blue', -min_score => 0, -max_score => 100, -key =>'Org1'); #each glyph is drawn on the track foreach $glyph.... { $org1object = Bio::SeqFeature::Generic->new(-score=>$glyph[2],-start=>$glyph[0], -end=>$glyph[1]); $org1track->add_feature($org1object); } I want the coordinates for each of those features I added to the $org1track track. I tried using: @coords = $org1track->boxes(); but that didnt work. How can I achieve this? cheers, Adam From lstein at cshl.edu Wed May 5 14:21:04 2004 From: lstein at cshl.edu (Lincoln Stein) Date: Wed May 5 14:27:13 2004 Subject: [Bioperl-l] Getting Co-ordinates in Bio::Graphics::Panel In-Reply-To: References: Message-ID: <200405051421.04762.lstein@cshl.edu> HI Adam, Use $panel->boxes(). It returns the glyphs in all tracks. Since boxes() returns the feature object, you can simply ignore the ones you don't want. $track->boxes() should work too. I don't know why it isn't. Lincoln On Wednesday 05 May 2004 02:07 pm, Adam Woolfe wrote: > Im trying to get the co-ordinates of glyphs on each track drawn > using Bio::Graphics:Panel. > > i know from CPAN documentation that you can use the boxes() > function as in: > > @coords = $panel->boxes(); > > but I have a whole set of glyphs on several tracks which I would > like to get the coordinates for. Here is an example of one of the > tracks I would like to get coordinates for. > > #create a new Panel object > my $panel = Bio::Graphics::Panel->new(-length => $seqlength, > -key_style=>'between', > -offset=>1, > -width =>1000, > -pad_left => 10, > -pad_right => 10, > -pad_top => 10, > -pad_bottom => 10); > > my $org1track = $panel->add_track(-glyph => 'graded_segments', > -label => 1, > -bgcolor => 'blue', > -min_score => 0, > -max_score => 100, > -key =>'Org1'); > > #each glyph is drawn on the track > foreach $glyph.... { > > $org1object = > Bio::SeqFeature::Generic->new(-score=>$glyph[2],-start=>$glyph[0], > -end=>$glyph[1]); > > $org1track->add_feature($org1object); > > } > > I want the coordinates for each of those features I added to the > $org1track track. I tried using: > > @coords = $org1track->boxes(); > > but that didnt work. How can I achieve this? > > cheers, > > Adam > > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l -- Lincoln D. Stein Cold Spring Harbor Laboratory 1 Bungtown Road Cold Spring Harbor, NY 11724 From crabtree at tigr.org Wed May 5 14:50:03 2004 From: crabtree at tigr.org (Crabtree, Jonathan) Date: Wed May 5 14:54:34 2004 Subject: [Bioperl-l] Getting Co-ordinates in Bio::Graphics::Panel Message-ID: Adam, Lincoln- > Use $panel->boxes(). It returns the glyphs in all tracks. Since > boxes() returns the feature object, you can simply ignore the ones > you don't want. > > $track->boxes() should work too. I don't know why it isn't. > &Glyph::boxes relies on the Panel to supply its vertical position, so I think that in Adam's example a direct call to $track->boxes() would probably return all the bounding boxes, but incorrectly offset by 10 pixels (the value of the panel's pad_top, since the track appears at the top of the Panel.) Because of this, &Glyph::boxes shouldn't be called directly (unless, of course, you know what you're doing, but isn't that always the case in Perl...) Jonathan From lstein at cshl.edu Wed May 5 15:01:00 2004 From: lstein at cshl.edu (Lincoln Stein) Date: Wed May 5 15:06:10 2004 Subject: [Bioperl-l] Getting Co-ordinates in Bio::Graphics::Panel In-Reply-To: References: Message-ID: <200405051501.00348.lstein@cshl.edu> Quite right. The track knows nothing about its vertical position. It also doesn't know about the pad_left either. Lincoln On Wednesday 05 May 2004 02:50 pm, Crabtree, Jonathan wrote: > Adam, Lincoln- > > > Use $panel->boxes(). It returns the glyphs in all tracks. Since > > boxes() returns the feature object, you can simply ignore the > > ones you don't want. > > > > $track->boxes() should work too. I don't know why it isn't. > > &Glyph::boxes relies on the Panel to supply its vertical position, > so I think that in Adam's example a direct call to $track->boxes() > would probably return all the bounding boxes, but incorrectly > offset by 10 pixels (the value of the panel's pad_top, since the > track appears at the top of the Panel.) Because of this, > &Glyph::boxes shouldn't be called directly (unless, of course, you > know what you're doing, but isn't that always the case in Perl...) > > Jonathan -- Lincoln D. Stein Cold Spring Harbor Laboratory 1 Bungtown Road Cold Spring Harbor, NY 11724 From sdavis2 at mail.nih.gov Wed May 5 15:32:29 2004 From: sdavis2 at mail.nih.gov (Sean Davis) Date: Wed May 5 15:36:37 2004 Subject: [Bioperl-l] Gbrowse/BioSQL question Message-ID: Dear all, In the Gbrowse configuration file when using BioSQL as the underlying database schema, there is a requirement for version to be identified. I have loaded refSeq and would like to use Gbrowse to browse the entries, but, of course, there are varying version numbers in the current refSeq file, so I can only search a subset at any given time. Is there a way to deal with this issue so that one can include multiple version numbers in the default for searching? Thanks, Sean From Marc.Logghe at devgen.com Wed May 5 16:24:29 2004 From: Marc.Logghe at devgen.com (Marc Logghe) Date: Wed May 5 16:28:56 2004 Subject: [Bioperl-l] Gbrowse/BioSQL question Message-ID: Hi Sean, I did not find a way to pass multiple version numbers neither. Because in the back a find_by_unique_key is performed and *NOT* a find_by_query. Meaning, you need to pass a version *and* an accession number. The accession number is passed via the gbrowse interface, the version is fixed in the configuration file. THe workaround we are currently using is to set the version field to 0 for all the bioentries at the database level. Really dirty and too bad when you have different versions of the same entry :( I tried to set version to % in the hope that somewhere in the select query 'version like %' will be called but alas. BTW, this seems to work fine for the namespace ! You can query multiple namespaces for a certain accession by setting biodbname to % in the conf file. CHeers, Marc -----Original Message----- From: Sean Davis [mailto:sdavis2@mail.nih.gov] Sent: Wednesday, May 05, 2004 9:32 PM To: Bioperl Subject: [Bioperl-l] Gbrowse/BioSQL question Dear all, In the Gbrowse configuration file when using BioSQL as the underlying database schema, there is a requirement for version to be identified. I have loaded refSeq and would like to use Gbrowse to browse the entries, but, of course, there are varying version numbers in the current refSeq file, so I can only search a subset at any given time. Is there a way to deal with this issue so that one can include multiple version numbers in the default for searching? Thanks, Sean _______________________________________________ Bioperl-l mailing list Bioperl-l@portal.open-bio.org http://portal.open-bio.org/mailman/listinfo/bioperl-l From Marc.Logghe at devgen.com Wed May 5 17:07:50 2004 From: Marc.Logghe at devgen.com (Marc Logghe) Date: Wed May 5 17:12:15 2004 Subject: [Bioperl-l] Gbrowse/BioSQL question Message-ID: > BTW, this seems to work fine for the namespace ! You can > query multiple namespaces for a certain accession by setting > biodbname to % in the conf file. > Correction: just found out that you can set it to whatever you want; even leave it out. The namespace seems not to be taken into account at all, all of them are queried. This is a problem when you have different versions sitting in different namespaces: MSG: Unique key query in Bio::Das::BioSQL::PartialSeqAdaptor returned 2 rows instead of 1. Query was [version="0",accession_number="ZK822.4"] STACK Bio::DB::BioSQL::BasePersistenceAdaptor::_find_by_unique_key /usr/lib/perl5/site_perl/5.6.1/Bio/DB/BioSQL/BasePersistenceAdaptor.pm:960 STACK Bio::DB::BioSQL::BasePersistenceAdaptor::find_by_unique_key /usr/lib/perl5/site_perl/5.6.1/Bio/DB/BioSQL/BasePersistenceAdaptor.pm:856 STACK Bio::Das::BioSQL::PartialSeqAdaptor::find_by_unique_key /usr/lib/perl5/site_perl/5.6.1/Bio/Das/BioSQL/PartialSeqAdaptor.pm:22 STACK Bio::Das::BioSQL::BioDatabaseAdaptor::fetch_Seq_by_accession /usr/lib/perl5/site_perl/5.6.1/Bio/Das/BioSQL/BioDatabaseAdaptor.pm:129 STACK Bio::Das::BioSQL::get_feature_by_name /usr/lib/perl5/site_perl/5.6.1/Bio/Das/BioSQL.pm:201 STACK Bio::Graphics::Browser::_feature_get /usr/lib/perl5/site_perl/5.6.1/i386-linux/Bio/Graphics/Browser.pm:1416 STACK Bio::Graphics::Browser::name2segments /usr/lib/perl5/site_perl/5.6.1/i386-linux/Bio/Graphics/Browser.pm:1341 STACK main::lookup_segments /var/www/cgi-bin/gbrowse:1261 STACK main::get_segments /var/www/cgi-bin/gbrowse:1224 STACK toplevel /var/www/cgi-bin/gbrowse:168 From gulban at sickkids.ca Wed May 5 18:52:55 2004 From: gulban at sickkids.ca (omid gulban) Date: Thu May 6 05:13:14 2004 Subject: [Bioperl-l] problems with BLAST Message-ID: <000b01c432f3$b48cbae0$6fc1148e@omid> Hello all, I have a blast ouput that was generated via Blast2.28 it contained results for two query sequences. I am having difficulties parsing the output: Here is what I wrote: the problem is that I get parsed results for the first query sequence and not for the other. I checked the input file and the results are there. Maybe I an not instructing it to go the next query sequence????? *********************************************************************************************************************** #!/usr/bin/perl -w use lib 'E:/.cpan/Bioperl-1.2.3'; use strict; use Bio::Tools::BPlite; use Bio::SimpleAlign; use Bio::AlignIO; use Bio::SeqIO; use Bio::Seq; my $outputfile = '>parsed_output.txt") or die "Can't open\/create a file called [parsed_output.txt]\n"; my $blast_ouput_for_parsing = new Bio::Tools::BPlite (-fh => \*BLAST_OUTPUT_FILE); print PARSED_OUTPUT_FILE '*'x60 , "\n"; print PARSED_OUTPUT_FILE "Query Name: " , $blast_ouput_for_parsing -> query , "\n"; print PARSED_OUTPUT_FILE "Database Searched: " , $blast_ouput_for_parsing -> database , "\n\n"; print PARSED_OUTPUT_FILE '*'x60 , "\n"; #print PARSED_OUTPUT_FILE "The name of the subject is: ", $sbjct->name , "\n"; while(my $sbjct = $blast_ouput_for_parsing -> nextSbjct) { my $hsp = $sbjct -> nextHSP; print PARSED_OUTPUT_FILE '-'x60 , "\n\n"; print PARSED_OUTPUT_FILE "Percentage: " , $hsp->percent , "\n"; print PARSED_OUTPUT_FILE "Length: " , $hsp->length , "\n"; print PARSED_OUTPUT_FILE "Match: " , $hsp->match , "\n"; print PARSED_OUTPUT_FILE "Positive: " , $hsp->positive , "\n\n"; print PARSED_OUTPUT_FILE "QueryStart: " , $hsp->query->start , "\n"; print PARSED_OUTPUT_FILE "QueryEnd: " , $hsp->query->end , "\n"; print PARSED_OUTPUT_FILE "HitStart: " , $hsp->hit->start , "\n"; print PARSED_OUTPUT_FILE "HitEnd: " , $hsp->hit->end , "\n"; print PARSED_OUTPUT_FILE "QuerySeq: " , $hsp->querySeq , "\n"; print PARSED_OUTPUT_FILE "homologySeq: " , $hsp->homologySeq , "\n"; print PARSED_OUTPUT_FILE "sbjctSeq: " , $hsp->sbjctSeq , "\n"; print PARSED_OUTPUT_FILE '-'x60 , "\n"; } *********************************************************************************************************************** Any help you are able to provide is greatly appreciated. Many thanks Omid From amonida at sanger.otago.ac.nz Thu May 6 03:07:14 2004 From: amonida at sanger.otago.ac.nz (Amonida Zadissa) Date: Thu May 6 05:13:16 2004 Subject: [Bioperl-l] Error when parsing MEME file In-Reply-To: <409937A0.5090504@utk.edu> References: <20040505094613.GA22106@ou007034.otago.ac.nz> <409937A0.5090504@utk.edu> Message-ID: <20040506070714.GA1080@ou007034.otago.ac.nz> Stefan and Jason, Thanks for your replies. I was using bioperl-1.4 but now I have bioperl-live installed. Nevertheless, the problem seems to be there but I get new warnings complainging about both strands now. Argument "-" isn't numeric in addition (+) at /opt/share/perl/5.8.3/Bio/LocatableSeq.pm line 167, line 699. Argument "+" isn't numeric in addition (+) at /opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, line 700. Could this depend on my installation (which by the way went fine)? I'm attaching the MEME test file I have used. Thanks for any help, Amonida On Wed, May 05, 2004 at 02:51:12PM -0400, Stefan Kirov wrote: > Fixed now, check it from bioperl-live > Stefan > > Amonida Zadissa wrote: > > >Hi everyone, > > > >I'm trying to parse a MEME file using the Bio::Matrix::PSM > >modules but I'm experiencing problems and was hoping someone on > >the list could help me. > > > >The script is attached below. I get a warning saying the > >following for each "problematic" instance: > > > >Argument "-" isn't numeric in addition (+) at > >/opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, line > >1164. > > > >Whenever the strand sign is negative the start position is > >assigned the sign and the score is assigned the start position, > >so everything seems to shift one column. This happens only > >if the strand is negative. Note that '$instance' becomes a > >Bio::Matrix::PSM::InstanceSite object. > > > >Is this a parsing error in "InstanceSite.pm" or is my script > >somehow wrong? > > > >Would appreciate any help and by the way thanks for providing this > >forum! > > > >Cheers, > >Amonida > > > >******************************************************************** > >#!/usr/bin/perl -w > > > >use strict; > >use warnings; > >use Bio::Matrix::PSM::IO; > > > >my $psmIO = new Bio::Matrix::PSM::IO( -file => 'meme.file', > > -format => 'meme'); > > > >while (my $psm = $psmIO -> next_psm) { > > my $instances = $psm -> instances; > > foreach my $instance (@{ $instances }) { > > my $start = $instance -> start; > > my $score = $instance -> score; > > } > >} > > > >******************************************************************** > > > > > > -- Amonida Zadissa Biochemistry Department Otago University Dunedin, New Zealand -------------- next part -------------- ******************************************************************************** MEME - Motif discovery tool ******************************************************************************** MEME version 3.0 (Release date: 2002/04/02 00:11:59) For further information on how to interpret these results or to get a copy of the MEME software please access http://meme.sdsc.edu. This file may be used as input to the MAST algorithm for searching sequence databases for matches to groups of motifs. MAST is available for interactive use and downloading at http://meme.sdsc.edu. ******************************************************************************** ******************************************************************************** REFERENCE ******************************************************************************** If you use this program in your research, please cite: Timothy L. Bailey and Charles Elkan, "Fitting a mixture model by expectation maximization to discover motifs in biopolymers", Proceedings of the Second International Conference on Intelligent Systems for Molecular Biology, pp. 28-36, AAAI Press, Menlo Park, California, 1994. ******************************************************************************** ******************************************************************************** TRAINING SET ******************************************************************************** DATAFILE= bp_example.fa ALPHABET= ACGT Sequence name Weight Length Sequence name Weight Length ------------- ------ ------ ------------- ------ ------ gi|28302128|ref|NM_00051 1.0000 626 gi|27819607|ref|NM_17391 1.0000 821 gi|1484|emb|V00879.1|OCB 1.0000 589 gi|22873|emb|X61109.1|GG 1.0000 5881 gi|4760585|dbj|AB020013. 1.0000 441 ref|NW_047562.1|Rn1_2084 1.0000 2212 ******************************************************************************** ******************************************************************************** COMMAND LINE SUMMARY ******************************************************************************** This information can also be useful in the event you wish to report a problem with the MEME software. command: meme bp_example.fa -dna -mod tcm -nmotifs 5 -revcomp -minw 5 -maxw 8 model: mod= tcm nmotifs= 5 evt= inf object function= E-value of product of p-values width: minw= 5 maxw= 8 minic= 0.00 width: wg= 11 ws= 1 endgaps= yes nsites: minsites= 2 maxsites= 30 wnsites= 0.8 theta: prob= 1 spmap= uni spfuzz= 0.5 em: prior= dirichlet b= 0.01 maxiter= 50 distance= 1e-05 data: n= 10570 N= 6 strands: + - sample: seed= 0 seqfrac= 1 Letter frequencies in dataset: A 0.289 C 0.211 G 0.211 T 0.289 Background letter frequencies (from dataset with add-one prior applied): A 0.289 C 0.211 G 0.211 T 0.289 ******************************************************************************** ******************************************************************************** MOTIF 1 width = 8 sites = 30 llr = 299 E-value = 4.6e-017 ******************************************************************************** -------------------------------------------------------------------------------- Motif 1 Description -------------------------------------------------------------------------------- Simplified A 2:4::::a pos.-specific C 8a:::1a: probability G :::a99:: matrix T ::6:1::: bits 2.2 * * * 2.0 * * * 1.8 * * *** 1.6 ** ***** Information 1.3 ** ***** content 1.1 ** ***** (14.4 bits) 0.9 ******** 0.7 ******** 0.4 ******** 0.2 ******** 0.0 -------- Multilevel CCTGGGCA consensus A sequence -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 1 sites sorted by position p-value -------------------------------------------------------------------------------- Sequence name Strand Start P-value Site ------------- ------ ----- --------- -------- ref|NW_047562.1|Rn1_2084 - 1676 7.38e-06 GTGGCGAGGC CCTGGGCA GGTTGGTATC ref|NW_047562.1|Rn1_2084 - 650 7.38e-06 TCCCACAGCT CCTGGGCA ACATGATTGT ref|NW_047562.1|Rn1_2084 - 614 7.38e-06 TGGGCCACCA CCTGGGCA AGGAATTCTC gi|4760585|dbj|AB020013. + 351 7.38e-06 TGGGCCACCA CCTGGGCA AGGATTTCAC gi|4760585|dbj|AB020013. + 315 7.38e-06 ACTTCAGGCT CCTGGGCA ATATGATCGT gi|4760585|dbj|AB020013. + 81 7.38e-06 GTGGTGAGGC CCTGGGCA GGCTGCTGGT gi|22873|emb|X61109.1|GG + 5835 7.38e-06 TCCCACAGCT CCTGGGCA ATGTGCTGGT gi|22873|emb|X61109.1|GG + 4621 7.38e-06 GTGGTGAGGC CCTGGGCA GGTTGGTATC gi|1484|emb|V00879.1|OCB + 371 7.38e-06 ACTTCAGGCT CCTGGGCA ACGTGCTGGT gi|1484|emb|V00879.1|OCB + 137 7.38e-06 GTGGTGAGGC CCTGGGCA GGCTGCTGGT gi|27819607|ref|NM_17391 + 364 7.38e-06 ACTTCAAGCT CCTGGGCA ACGTGCTAGT gi|27819607|ref|NM_17391 + 130 7.38e-06 GTGGTGAGGC CCTGGGCA GGCTGCTGGT gi|28302128|ref|NM_00051 + 368 7.38e-06 ACTTCAGGCT CCTGGGCA ACGTGCTGGT gi|28302128|ref|NM_00051 + 134 7.38e-06 GTGGTGAGGC CCTGGGCA GGCTGCTGGT ref|NW_047562.1|Rn1_2084 + 548 1.48e-05 TACTTGTGAG CCAGGGCA CTGGCCACTC gi|4760585|dbj|AB020013. - 417 1.48e-05 TACTTGTGAG CCAGGGCA GTGGCCACTC gi|1484|emb|V00879.1|OCB - 473 1.48e-05 TATTTGTGAG CCAGGGCA TTGGCCACAC gi|27819607|ref|NM_17391 - 466 1.48e-05 TATCTGTGGG CCAGGGCA TTGGCCACAC gi|28302128|ref|NM_00051 - 470 1.48e-05 TACTTGTGGG CCAGGGCA TTAGCCACAC gi|22873|emb|X61109.1|GG + 4674 2.49e-05 ACCAATAGAA ACTGGGCA TGTGGAGACA ref|NW_047562.1|Rn1_2084 + 1219 4.51e-05 TCAACACTCC ACAGGGCA CATCCACACA ref|NW_047562.1|Rn1_2084 + 590 4.51e-05 TGGAAGGCAG CCTGTGCA CAGGGGGAGA gi|4760585|dbj|AB020013. - 375 4.51e-05 TGGAAGGCAG CCTGTGCA GCGGGGGTGA gi|22873|emb|X61109.1|GG - 4576 4.51e-05 ACCTTGCCCC ACAGGGCA GTAACGGCAG gi|1484|emb|V00879.1|OCB - 92 4.51e-05 ACCTTGCCCC ACAGGGCA GTGACCGCAG gi|28302128|ref|NM_00051 - 89 4.51e-05 ACCTTGCCCC ACAGGGCA GTAACGGCAG gi|27819607|ref|NM_17391 - 612 5.52e-05 TTTAAATACA CCAGTGCA ATGAAAATAA gi|28302128|ref|NM_00051 + 426 5.52e-05 ATTCACCCCA CCAGTGCA GGCTGCCTAT gi|22873|emb|X61109.1|GG - 4889 6.99e-05 TCCAGGTGAG CCAGGCCA TCACTAAAGG gi|28302128|ref|NM_00051 - 272 6.99e-05 TCCAGGTGAG CCAGGCCA TCACTAAAGG -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 1 block diagrams -------------------------------------------------------------------------------- SEQUENCE NAME POSITION P-VALUE MOTIF DIAGRAM ------------- ---------------- ------------- ref|NW_047562.1|Rn1_2084 4.5e-05 547_[+1]_34_[+1]_16_[-1]_28_[-1]_ 561_[+1]_449_[-1]_529 gi|4760585|dbj|AB020013. 4.5e-05 80_[+1]_226_[+1]_28_[+1]_16_[-1]_ 34_[-1]_17 gi|22873|emb|X61109.1|GG 7e-05 4575_[-1]_37_[+1]_45_[+1]_207_[-1]_ 938_[+1]_39 gi|1484|emb|V00879.1|OCB 4.5e-05 91_[-1]_37_[+1]_226_[+1]_94_[-1]_109 gi|27819607|ref|NM_17391 5.5e-05 129_[+1]_226_[+1]_94_[-1]_138_[-1]_ 202 gi|28302128|ref|NM_00051 7e-05 88_[-1]_37_[+1]_130_[-1]_88_[+1]_ 50_[+1]_36_[-1]_149 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 1 in BLOCKS format -------------------------------------------------------------------------------- BL MOTIF 1 width=8 seqs=30 ref|NW_047562.1|Rn1_2084 ( 1676) CCTGGGCA 1 ref|NW_047562.1|Rn1_2084 ( 650) CCTGGGCA 1 ref|NW_047562.1|Rn1_2084 ( 614) CCTGGGCA 1 gi|4760585|dbj|AB020013. ( 351) CCTGGGCA 1 gi|4760585|dbj|AB020013. ( 315) CCTGGGCA 1 gi|4760585|dbj|AB020013. ( 81) CCTGGGCA 1 gi|22873|emb|X61109.1|GG ( 5835) CCTGGGCA 1 gi|22873|emb|X61109.1|GG ( 4621) CCTGGGCA 1 gi|1484|emb|V00879.1|OCB ( 371) CCTGGGCA 1 gi|1484|emb|V00879.1|OCB ( 137) CCTGGGCA 1 gi|27819607|ref|NM_17391 ( 364) CCTGGGCA 1 gi|27819607|ref|NM_17391 ( 130) CCTGGGCA 1 gi|28302128|ref|NM_00051 ( 368) CCTGGGCA 1 gi|28302128|ref|NM_00051 ( 134) CCTGGGCA 1 ref|NW_047562.1|Rn1_2084 ( 548) CCAGGGCA 1 gi|4760585|dbj|AB020013. ( 417) CCAGGGCA 1 gi|1484|emb|V00879.1|OCB ( 473) CCAGGGCA 1 gi|27819607|ref|NM_17391 ( 466) CCAGGGCA 1 gi|28302128|ref|NM_00051 ( 470) CCAGGGCA 1 gi|22873|emb|X61109.1|GG ( 4674) ACTGGGCA 1 ref|NW_047562.1|Rn1_2084 ( 1219) ACAGGGCA 1 ref|NW_047562.1|Rn1_2084 ( 590) CCTGTGCA 1 gi|4760585|dbj|AB020013. ( 375) CCTGTGCA 1 gi|22873|emb|X61109.1|GG ( 4576) ACAGGGCA 1 gi|1484|emb|V00879.1|OCB ( 92) ACAGGGCA 1 gi|28302128|ref|NM_00051 ( 89) ACAGGGCA 1 gi|27819607|ref|NM_17391 ( 612) CCAGTGCA 1 gi|28302128|ref|NM_00051 ( 426) CCAGTGCA 1 gi|22873|emb|X61109.1|GG ( 4889) CCAGGCCA 1 gi|28302128|ref|NM_00051 ( 272) CCAGGCCA 1 // -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 1 position-specific scoring matrix -------------------------------------------------------------------------------- log-odds matrix: alength= 4 w= 8 n= 10528 bayes= 8.45094 E= 4.6e-017 -79 198 -1155 -1155 -1155 224 -1155 -1155 58 -1155 -1155 97 -1155 -1155 224 -1155 -1155 -1155 204 -112 -1155 -166 214 -1155 -1155 224 -1155 -1155 179 -1155 -1155 -1155 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 1 position-specific probability matrix -------------------------------------------------------------------------------- letter-probability matrix: alength= 4 w= 8 n= 10528 E= 4.6e-017 0.166707 0.833126 0.000070 0.000096 0.000096 0.999737 0.000070 0.000096 0.433285 0.000070 0.000070 0.566574 0.000096 0.000070 0.999737 0.000096 0.000096 0.000070 0.866448 0.133385 0.000096 0.066715 0.933093 0.000096 0.000096 0.999737 0.000070 0.000096 0.999763 0.000070 0.000070 0.000096 -------------------------------------------------------------------------------- Time 82.54 secs. ******************************************************************************** ******************************************************************************** MOTIF 2 width = 7 sites = 30 llr = 260 E-value = 8.7e-002 ******************************************************************************** -------------------------------------------------------------------------------- Motif 2 Description -------------------------------------------------------------------------------- Simplified A 8a::::7 pos.-specific C 2:::::3 probability G ::aa:a: matrix T ::::a:: bits 2.2 ** * 2.0 ** * 1.8 ***** 1.6 ***** Information 1.3 ***** content 1.1 ******* (12.5 bits) 0.9 ******* 0.7 ******* 0.4 ******* 0.2 ******* 0.0 ------- Multilevel AAGGTGA consensus C C sequence -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 2 sites sorted by position p-value -------------------------------------------------------------------------------- Sequence name Strand Start P-value Site ------------- ------ ----- --------- ------- ref|NW_047562.1|Rn1_2084 - 1709 6.55e-05 CCTGTGGGGA AAGGTGA ACCCTGATGA ref|NW_047562.1|Rn1_2084 - 1474 6.55e-05 GGGTAACCCT AAGGTGA AGGCCCATGG ref|NW_047562.1|Rn1_2084 - 1453 6.55e-05 CCATGGCAAG AAGGTGA TAAACGCCTT gi|4760585|dbj|AB020013. + 394 6.55e-05 TGCCTTCCAG AAGGTGA TGGCTGGAGT gi|4760585|dbj|AB020013. + 49 6.55e-05 CCTGTGGGGA AAGGTGA ACTCCGATGA gi|22873|emb|X61109.1|GG + 4980 6.55e-05 TGAGAACTTC AAGGTGA GTCTATGGGA gi|22873|emb|X61109.1|GG + 4845 6.55e-05 GGGCAACCCT AAGGTGA AGGCTCATGG gi|22873|emb|X61109.1|GG + 4589 6.55e-05 CCTGTGGGGC AAGGTGA ACGTGGATGA gi|22873|emb|X61109.1|GG + 2336 6.55e-05 AGTCTTTAAG AAGGTGA CAATTTCTGC gi|1484|emb|V00879.1|OCB + 231 6.55e-05 GAACAATCCT AAGGTGA AGGCTCATGG gi|1484|emb|V00879.1|OCB + 105 6.55e-05 CCTGTGGGGC AAGGTGA ATGTGGAAGA gi|27819607|ref|NM_17391 + 224 6.55e-05 GAACAACCCT AAGGTGA AGGCCCATGG gi|27819607|ref|NM_17391 + 98 6.55e-05 CTTTTGGGGC AAGGTGA AAGTGGATGA gi|28302128|ref|NM_00051 + 228 6.55e-05 GGGCAACCCT AAGGTGA AGGCTCATGG gi|28302128|ref|NM_00051 + 102 6.55e-05 CCTGTGGGGC AAGGTGA ACGTGGATGA ref|NW_047562.1|Rn1_2084 + 1401 1.13e-04 CAGATGAGCA AAGGTGC CCTTGAGGTT gi|4760585|dbj|AB020013. - 248 1.13e-04 GAGGCTGGCA AAGGTGC CCTTGAGGCT gi|22873|emb|X61109.1|GG - 4918 1.13e-04 CAGTGTGGCA AAGGTGC CCTTGAGGTT gi|22873|emb|X61109.1|GG - 117 1.13e-04 ATATAACAAC AAGGTGC CAAGTCTTTT gi|1484|emb|V00879.1|OCB - 304 1.13e-04 CAGCTTAGCA AAGGTGC CTTTGAGGTT gi|1484|emb|V00879.1|OCB + 252 1.13e-04 TCATGGCAAG AAGGTGC TGGCTGCCTT gi|27819607|ref|NM_17391 - 297 1.13e-04 CAGCGCAGCA AAGGTGC CCTTGAGGTC gi|27819607|ref|NM_17391 + 245 1.13e-04 CCATGGCAAG AAGGTGC TAGATTCCTT gi|28302128|ref|NM_00051 - 301 1.13e-04 CAGTGTGGCA AAGGTGC CCTTGAGGTT gi|22873|emb|X61109.1|GG - 4898 1.61e-04 TGAGGTTGTC CAGGTGA GCCAGGCCAT gi|22873|emb|X61109.1|GG - 3355 1.61e-04 ATTAACTCCT CAGGTGA CGAAAAACTT gi|22873|emb|X61109.1|GG - 16 1.61e-04 ATGTCCCATG CAGGTGA TGTTCTCATG gi|1484|emb|V00879.1|OCB - 284 1.61e-04 TGAGGTTGTC CAGGTGA CTCAGACCCT gi|28302128|ref|NM_00051 - 281 1.61e-04 TGAGGTTGTC CAGGTGA GCCAGGCCAT ref|NW_047562.1|Rn1_2084 + 1755 1.96e-04 CAGCATCAGT CAGGTGC ACCATGGTGT -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 2 block diagrams -------------------------------------------------------------------------------- SEQUENCE NAME POSITION P-VALUE MOTIF DIAGRAM ------------- ---------------- ------------- ref|NW_047562.1|Rn1_2084 0.0002 1400_[+2]_45_[-2]_14_[-2]_228_[-2]_ 39_[+2]_451 gi|4760585|dbj|AB020013. 0.00011 48_[+2]_192_[-2]_139_[+2]_41 gi|22873|emb|X61109.1|GG 0.00016 15_[-2]_94_[-2]_2212_[+2]_1012_ [-2]_1227_[+2]_249_[+2]_46_[-2]_ 13_[-2]_55_[+2]_895 gi|1484|emb|V00879.1|OCB 0.00016 104_[+2]_119_[+2]_14_[+2]_25_[-2]_ 13_[-2]_279 gi|27819607|ref|NM_17391 0.00011 97_[+2]_119_[+2]_14_[+2]_45_[-2]_518 gi|28302128|ref|NM_00051 0.00016 101_[+2]_119_[+2]_46_[-2]_13_[-2]_319 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 2 in BLOCKS format -------------------------------------------------------------------------------- BL MOTIF 2 width=7 seqs=30 ref|NW_047562.1|Rn1_2084 ( 1709) AAGGTGA 1 ref|NW_047562.1|Rn1_2084 ( 1474) AAGGTGA 1 ref|NW_047562.1|Rn1_2084 ( 1453) AAGGTGA 1 gi|4760585|dbj|AB020013. ( 394) AAGGTGA 1 gi|4760585|dbj|AB020013. ( 49) AAGGTGA 1 gi|22873|emb|X61109.1|GG ( 4980) AAGGTGA 1 gi|22873|emb|X61109.1|GG ( 4845) AAGGTGA 1 gi|22873|emb|X61109.1|GG ( 4589) AAGGTGA 1 gi|22873|emb|X61109.1|GG ( 2336) AAGGTGA 1 gi|1484|emb|V00879.1|OCB ( 231) AAGGTGA 1 gi|1484|emb|V00879.1|OCB ( 105) AAGGTGA 1 gi|27819607|ref|NM_17391 ( 224) AAGGTGA 1 gi|27819607|ref|NM_17391 ( 98) AAGGTGA 1 gi|28302128|ref|NM_00051 ( 228) AAGGTGA 1 gi|28302128|ref|NM_00051 ( 102) AAGGTGA 1 ref|NW_047562.1|Rn1_2084 ( 1401) AAGGTGC 1 gi|4760585|dbj|AB020013. ( 248) AAGGTGC 1 gi|22873|emb|X61109.1|GG ( 4918) AAGGTGC 1 gi|22873|emb|X61109.1|GG ( 117) AAGGTGC 1 gi|1484|emb|V00879.1|OCB ( 304) AAGGTGC 1 gi|1484|emb|V00879.1|OCB ( 252) AAGGTGC 1 gi|27819607|ref|NM_17391 ( 297) AAGGTGC 1 gi|27819607|ref|NM_17391 ( 245) AAGGTGC 1 gi|28302128|ref|NM_00051 ( 301) AAGGTGC 1 gi|22873|emb|X61109.1|GG ( 4898) CAGGTGA 1 gi|22873|emb|X61109.1|GG ( 3355) CAGGTGA 1 gi|22873|emb|X61109.1|GG ( 16) CAGGTGA 1 gi|1484|emb|V00879.1|OCB ( 284) CAGGTGA 1 gi|28302128|ref|NM_00051 ( 281) CAGGTGA 1 ref|NW_047562.1|Rn1_2084 ( 1755) CAGGTGC 1 // -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 2 position-specific scoring matrix -------------------------------------------------------------------------------- log-odds matrix: alength= 4 w= 7 n= 10534 bayes= 9.12753 E= 8.7e-002 147 -8 -1155 -1155 179 -1155 -1155 -1155 -1155 -1155 224 -1155 -1155 -1155 224 -1155 -1155 -1155 -1155 179 -1155 -1155 224 -1155 121 66 -1155 -1155 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 2 position-specific probability matrix -------------------------------------------------------------------------------- letter-probability matrix: alength= 4 w= 7 n= 10534 E= 8.7e-002 0.799830 0.200004 0.000070 0.000096 0.999763 0.000070 0.000070 0.000096 0.000096 0.000070 0.999737 0.000096 0.000096 0.000070 0.999737 0.000096 0.000096 0.000070 0.000070 0.999763 0.000096 0.000070 0.999737 0.000096 0.666541 0.333293 0.000070 0.000096 -------------------------------------------------------------------------------- Time 162.14 secs. ******************************************************************************** ******************************************************************************** MOTIF 3 width = 8 sites = 25 llr = 239 E-value = 6.8e-005 ******************************************************************************** -------------------------------------------------------------------------------- Motif 3 Description -------------------------------------------------------------------------------- Simplified A ::6::::: pos.-specific C ::4:4a:: probability G 7a::6::a matrix T 3::a::a: bits 2.2 * * * 2.0 * * * 1.8 * * *** 1.6 * * *** Information 1.3 * ***** content 1.1 ** ***** (13.8 bits) 0.9 ******** 0.7 ******** 0.4 ******** 0.2 ******** 0.0 -------- Multilevel GGATGCTG consensus T C C sequence -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 3 sites sorted by position p-value -------------------------------------------------------------------------------- Sequence name Strand Start P-value Site ------------- ------ ----- --------- -------- ref|NW_047562.1|Rn1_2084 - 1733 7.38e-06 ATGCTGAGAA GGCTGCTG TTAATGGCCT ref|NW_047562.1|Rn1_2084 - 1559 7.38e-06 TCCCTTTGTA GGCTGCTG GTTGTCTACC gi|4760585|dbj|AB020013. + 89 7.38e-06 GCCCTGGGCA GGCTGCTG GTTGTCTACC gi|4760585|dbj|AB020013. + 24 7.38e-06 ATGCTGAGAA GGCTGCTG TCTCTGGCCT gi|22873|emb|X61109.1|GG + 4759 7.38e-06 CCCACCCTTA GGCTGCTG GTGGTCTACC gi|1484|emb|V00879.1|OCB + 145 7.38e-06 GCCCTGGGCA GGCTGCTG GTTGTCTACC gi|27819607|ref|NM_17391 + 138 7.38e-06 GCCCTGGGCA GGCTGCTG GTTGTCTACC gi|28302128|ref|NM_00051 + 142 7.38e-06 GCCCTGGGCA GGCTGCTG GTGGTCTACC ref|NW_047562.1|Rn1_2084 + 1956 1.75e-05 ATCTCTCCCT GGATGCTG GGCCACTGGC ref|NW_047562.1|Rn1_2084 + 1859 2.49e-05 TGCTCTGCCT GGCTCCTG CTCTCGCTGT gi|22873|emb|X61109.1|GG - 4439 2.49e-05 GCCCAGCCCT GGCTCCTG CCCTCCCTGC ref|NW_047562.1|Rn1_2084 - 1354 3.50e-05 AGCTGCATGT GGATCCTG AGAACTTCAG gi|4760585|dbj|AB020013. + 294 3.50e-05 AGCTCCATGT GGATCCTG AGAACTTCAG gi|22873|emb|X61109.1|GG + 4964 3.50e-05 AGCTGCACGT GGATCCTG AGAACTTCAA gi|1484|emb|V00879.1|OCB + 350 3.50e-05 AGCTGCACGT GGATCCTG AGAACTTCAG gi|27819607|ref|NM_17391 + 343 3.50e-05 AGCTGCATGT GGATCCTG AGAACTTCAA gi|28302128|ref|NM_00051 + 347 3.50e-05 AGCTGCACGT GGATCCTG AGAACTTCAG ref|NW_047562.1|Rn1_2084 - 1917 5.89e-05 CACCGAAGCC TGATGCTG TAGAGCCACA ref|NW_047562.1|Rn1_2084 - 1745 5.89e-05 TGCACCTGAC TGATGCTG AGAAGGCTGC gi|4760585|dbj|AB020013. + 12 5.89e-05 TGCACCTGAC TGATGCTG AGAAGGCTGC gi|22873|emb|X61109.1|GG + 4823 5.89e-05 TGTCCACTCC TGATGCTG TTATGGGCAA gi|27819607|ref|NM_17391 + 202 5.89e-05 TGTCCACTGC TGATGCTG TTATGAACAA gi|28302128|ref|NM_00051 + 206 5.89e-05 TGTCCACTCC TGATGCTG TTATGGGCAA gi|22873|emb|X61109.1|GG - 4424 6.90e-05 CTGCCCTCCC TGCTCCTG GGAGTAGATT gi|22873|emb|X61109.1|GG - 5118 8.28e-05 GAAACTAAAA TGATCCTG AGAGTTCCAC -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 3 block diagrams -------------------------------------------------------------------------------- SEQUENCE NAME POSITION P-VALUE MOTIF DIAGRAM ------------- ---------------- ------------- ref|NW_047562.1|Rn1_2084 5.9e-05 1353_[-3]_197_[-3]_166_[-3]_4_[-3]_ 106_[+3]_50_[-3]_31_[+3]_249 gi|4760585|dbj|AB020013. 5.9e-05 11_[+3]_4_[+3]_57_[+3]_197_[+3]_140 gi|22873|emb|X61109.1|GG 8.3e-05 4423_[-3]_7_[-3]_312_[+3]_56_[+3]_ 133_[+3]_146_[-3]_756 gi|1484|emb|V00879.1|OCB 3.5e-05 144_[+3]_197_[+3]_232 gi|27819607|ref|NM_17391 5.9e-05 137_[+3]_56_[+3]_133_[+3]_471 gi|28302128|ref|NM_00051 5.9e-05 141_[+3]_56_[+3]_133_[+3]_272 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 3 in BLOCKS format -------------------------------------------------------------------------------- BL MOTIF 3 width=8 seqs=25 ref|NW_047562.1|Rn1_2084 ( 1733) GGCTGCTG 1 ref|NW_047562.1|Rn1_2084 ( 1559) GGCTGCTG 1 gi|4760585|dbj|AB020013. ( 89) GGCTGCTG 1 gi|4760585|dbj|AB020013. ( 24) GGCTGCTG 1 gi|22873|emb|X61109.1|GG ( 4759) GGCTGCTG 1 gi|1484|emb|V00879.1|OCB ( 145) GGCTGCTG 1 gi|27819607|ref|NM_17391 ( 138) GGCTGCTG 1 gi|28302128|ref|NM_00051 ( 142) GGCTGCTG 1 ref|NW_047562.1|Rn1_2084 ( 1956) GGATGCTG 1 ref|NW_047562.1|Rn1_2084 ( 1859) GGCTCCTG 1 gi|22873|emb|X61109.1|GG ( 4439) GGCTCCTG 1 ref|NW_047562.1|Rn1_2084 ( 1354) GGATCCTG 1 gi|4760585|dbj|AB020013. ( 294) GGATCCTG 1 gi|22873|emb|X61109.1|GG ( 4964) GGATCCTG 1 gi|1484|emb|V00879.1|OCB ( 350) GGATCCTG 1 gi|27819607|ref|NM_17391 ( 343) GGATCCTG 1 gi|28302128|ref|NM_00051 ( 347) GGATCCTG 1 ref|NW_047562.1|Rn1_2084 ( 1917) TGATGCTG 1 ref|NW_047562.1|Rn1_2084 ( 1745) TGATGCTG 1 gi|4760585|dbj|AB020013. ( 12) TGATGCTG 1 gi|22873|emb|X61109.1|GG ( 4823) TGATGCTG 1 gi|27819607|ref|NM_17391 ( 202) TGATGCTG 1 gi|28302128|ref|NM_00051 ( 206) TGATGCTG 1 gi|22873|emb|X61109.1|GG ( 4424) TGCTCCTG 1 gi|22873|emb|X61109.1|GG ( 5118) TGATCCTG 1 // -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 3 position-specific scoring matrix -------------------------------------------------------------------------------- log-odds matrix: alength= 4 w= 8 n= 10528 bayes= 8.49998 E= 6.8e-005 -1129 -1129 169 15 -1129 -1129 224 -1129 95 106 -1129 -1129 -1129 -1129 -1129 179 -1129 92 151 -1129 -1129 224 -1129 -1129 -1129 -1129 -1129 179 -1129 -1129 224 -1129 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 3 position-specific probability matrix -------------------------------------------------------------------------------- letter-probability matrix: alength= 4 w= 8 n= 10528 E= 6.8e-005 0.000116 0.000084 0.679812 0.319988 0.000116 0.000084 0.999685 0.000116 0.559892 0.439908 0.000084 0.000116 0.000116 0.000084 0.000084 0.999716 0.000116 0.399924 0.599844 0.000116 0.000116 0.999685 0.000084 0.000116 0.000116 0.000084 0.000084 0.999716 0.000116 0.000084 0.999685 0.000116 -------------------------------------------------------------------------------- Time 239.91 secs. ******************************************************************************** ******************************************************************************** MOTIF 4 width = 8 sites = 18 llr = 177 E-value = 1.9e+000 ******************************************************************************** -------------------------------------------------------------------------------- Motif 4 Description -------------------------------------------------------------------------------- Simplified A ::3:5::: pos.-specific C :3:::::a probability G a7:a:aa: matrix T ::7:5::: bits 2.2 * * *** 2.0 * * *** 1.8 * * *** 1.6 * * *** Information 1.3 ** * *** content 1.1 ** * *** (14.2 bits) 0.9 ******** 0.7 ******** 0.4 ******** 0.2 ******** 0.0 -------- Multilevel GGTGAGGC consensus CA T sequence -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 4 sites sorted by position p-value -------------------------------------------------------------------------------- Sequence name Strand Start P-value Site ------------- ------ ----- --------- -------- ref|NW_047562.1|Rn1_2084 + 1905 1.48e-05 CCAATACCAG GGTGTGGC TCTACAGCAT gi|4760585|dbj|AB020013. + 73 1.48e-05 TGAAGTTGGT GGTGAGGC CCTGGGCAGG gi|22873|emb|X61109.1|GG + 4613 1.48e-05 TGAAGTTGGT GGTGAGGC CCTGGGCAGG gi|22873|emb|X61109.1|GG - 4394 1.48e-05 CCAACCCTAG GGTGTGGC TCCACAGGGT gi|1484|emb|V00879.1|OCB + 462 1.48e-05 GGTGGTGGCT GGTGTGGC CAATGCCCTG gi|1484|emb|V00879.1|OCB + 129 1.48e-05 AGAAGTTGGT GGTGAGGC CCTGGGCAGG gi|27819607|ref|NM_17391 + 455 1.48e-05 GGTGGTGGCT GGTGTGGC CAATGCCCTG gi|27819607|ref|NM_17391 + 122 1.48e-05 TGAAGTTGGT GGTGAGGC CCTGGGCAGG gi|28302128|ref|NM_00051 + 459 1.48e-05 AGTGGTGGCT GGTGTGGC TAATGCCCTG gi|28302128|ref|NM_00051 + 126 1.48e-05 TGAAGTTGGT GGTGAGGC CCTGGGCAGG ref|NW_047562.1|Rn1_2084 - 559 4.43e-05 GGTGGTGGCT GGAGTGGC CAGTGCCCTG gi|4760585|dbj|AB020013. + 406 4.43e-05 GGTGATGGCT GGAGTGGC CACTGCCCTG gi|22873|emb|X61109.1|GG + 1897 4.43e-05 ACCTGCACCT GCTGTGGC ATCCATTCAC gi|22873|emb|X61109.1|GG + 951 4.43e-05 TACGCGGGAG GCTGAGGC AGGAGAATGG ref|NW_047562.1|Rn1_2084 + 1497 5.90e-05 ACCCATGATA GCAGAGGC AGAGGACAGG gi|4760585|dbj|AB020013. - 151 5.90e-05 ACCCATGATA GCAGAGGC AGAGGATAGG gi|22873|emb|X61109.1|GG - 1009 5.90e-05 AGGCTGGAGT GCAGTGGC GCGATCTCGG gi|27819607|ref|NM_17391 - 581 5.90e-05 TCTTTATTAG GCAGAGGC CAGATGCTCA -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 4 block diagrams -------------------------------------------------------------------------------- SEQUENCE NAME POSITION P-VALUE MOTIF DIAGRAM ------------- ---------------- ------------- ref|NW_047562.1|Rn1_2084 5.9e-05 558_[-4]_930_[+4]_400_[+4]_300 gi|4760585|dbj|AB020013. 5.9e-05 72_[+4]_70_[-4]_247_[+4]_28 gi|22873|emb|X61109.1|GG 5.9e-05 950_[+4]_50_[-4]_880_[+4]_2489_ [-4]_211_[+4]_1261 gi|1484|emb|V00879.1|OCB 1.5e-05 128_[+4]_325_[+4]_120 gi|27819607|ref|NM_17391 5.9e-05 121_[+4]_325_[+4]_118_[-4]_233 gi|28302128|ref|NM_00051 1.5e-05 125_[+4]_325_[+4]_160 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 4 in BLOCKS format -------------------------------------------------------------------------------- BL MOTIF 4 width=8 seqs=18 ref|NW_047562.1|Rn1_2084 ( 1905) GGTGTGGC 1 gi|4760585|dbj|AB020013. ( 73) GGTGAGGC 1 gi|22873|emb|X61109.1|GG ( 4613) GGTGAGGC 1 gi|22873|emb|X61109.1|GG ( 4394) GGTGTGGC 1 gi|1484|emb|V00879.1|OCB ( 462) GGTGTGGC 1 gi|1484|emb|V00879.1|OCB ( 129) GGTGAGGC 1 gi|27819607|ref|NM_17391 ( 455) GGTGTGGC 1 gi|27819607|ref|NM_17391 ( 122) GGTGAGGC 1 gi|28302128|ref|NM_00051 ( 459) GGTGTGGC 1 gi|28302128|ref|NM_00051 ( 126) GGTGAGGC 1 ref|NW_047562.1|Rn1_2084 ( 559) GGAGTGGC 1 gi|4760585|dbj|AB020013. ( 406) GGAGTGGC 1 gi|22873|emb|X61109.1|GG ( 1897) GCTGTGGC 1 gi|22873|emb|X61109.1|GG ( 951) GCTGAGGC 1 ref|NW_047562.1|Rn1_2084 ( 1497) GCAGAGGC 1 gi|4760585|dbj|AB020013. ( 151) GCAGAGGC 1 gi|22873|emb|X61109.1|GG ( 1009) GCAGTGGC 1 gi|27819607|ref|NM_17391 ( 581) GCAGAGGC 1 // -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 4 position-specific scoring matrix -------------------------------------------------------------------------------- log-odds matrix: alength= 4 w= 8 n= 10528 bayes= 10.5955 E= 1.9e+000 -1081 -1081 224 -1081 -1081 66 166 -1081 21 -1081 -1081 121 -1081 -1081 224 -1081 79 -1081 -1081 79 -1081 -1081 224 -1081 -1081 -1081 224 -1081 -1081 224 -1081 -1081 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 4 position-specific probability matrix -------------------------------------------------------------------------------- letter-probability matrix: alength= 4 w= 8 n= 10528 E= 1.9e+000 0.000160 0.000117 0.999562 0.000160 0.000160 0.333265 0.666414 0.000160 0.333309 0.000117 0.000117 0.666457 0.000160 0.000117 0.999562 0.000160 0.499883 0.000117 0.000117 0.499883 0.000160 0.000117 0.999562 0.000160 0.000160 0.000117 0.999562 0.000160 0.000160 0.999562 0.000117 0.000160 -------------------------------------------------------------------------------- Time 316.66 secs. ******************************************************************************** ******************************************************************************** MOTIF 5 width = 8 sites = 15 llr = 151 E-value = 4.3e+001 ******************************************************************************** -------------------------------------------------------------------------------- Motif 5 Description -------------------------------------------------------------------------------- Simplified A a:a:a:a: pos.-specific C :a:7:8:a probability G :::3:2:: matrix T :::::::: bits 2.2 * * 2.0 * * 1.8 *** * ** 1.6 *** **** Information 1.3 ******** content 1.1 ******** (14.5 bits) 0.9 ******** 0.7 ******** 0.4 ******** 0.2 ******** 0.0 -------- Multilevel ACACACAC consensus G G sequence -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 5 sites sorted by position p-value -------------------------------------------------------------------------------- Sequence name Strand Start P-value Site ------------- ------ ----- --------- -------- gi|22873|emb|X61109.1|GG - 1841 1.38e-05 ACCACAACAC ACACACAC ACACACACAC gi|22873|emb|X61109.1|GG - 1833 1.38e-05 ACACACACAC ACACACAC ACACACACAC gi|22873|emb|X61109.1|GG - 1825 1.38e-05 ACACACACAC ACACACAC ACACACACAC gi|22873|emb|X61109.1|GG - 1817 1.38e-05 ACACACACAC ACACACAC ACACACACAC gi|22873|emb|X61109.1|GG - 1809 1.38e-05 ACACACACAC ACACACAC ACACACACAC gi|22873|emb|X61109.1|GG - 1799 1.38e-05 ACACACACAC ACACACAC AAGTCCTCAA gi|22873|emb|X61109.1|GG - 533 1.38e-05 TTTCACACAC ACACACAC CCTTTCATTC ref|NW_047562.1|Rn1_2084 - 1768 2.77e-05 AAACTCAGAA ACAGACAC CATGGTGCAC gi|22873|emb|X61109.1|GG + 4529 2.77e-05 GCAACCTCAA ACAGACAC CATGGTGCAC gi|22873|emb|X61109.1|GG + 222 2.77e-05 GAATAGATCA ACAGACAC CCAGGCCTAC gi|27819607|ref|NM_17391 + 44 2.77e-05 AACTACACAA ACAGACAC CATGCTGACT gi|28302128|ref|NM_00051 + 42 2.77e-05 GCAACCTCAA ACAGACAC CATGGTGCAT gi|22873|emb|X61109.1|GG - 5851 4.15e-05 ATGGGCCAGC ACACAGAC CAGCACATTG gi|22873|emb|X61109.1|GG - 1273 4.15e-05 AATAAAGTCA ACACAGAC AGAACTTTGC gi|28302128|ref|NM_00051 - 384 4.15e-05 ATGGGCCAGC ACACAGAC CAGCACGTTG -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 5 block diagrams -------------------------------------------------------------------------------- SEQUENCE NAME POSITION P-VALUE MOTIF DIAGRAM ------------- ---------------- ------------- gi|22873|emb|X61109.1|GG 4.1e-05 221_[+5]_303_[-5]_732_[-5]_518_ [-5]_2_[-5]_[-5]_[-5]_[-5]_[-5]_ 2680_[+5]_1314_[-5]_23 ref|NW_047562.1|Rn1_2084 2.8e-05 1767_[-5]_437 gi|27819607|ref|NM_17391 2.8e-05 43_[+5]_770 gi|28302128|ref|NM_00051 4.1e-05 41_[+5]_334_[-5]_235 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 5 in BLOCKS format -------------------------------------------------------------------------------- BL MOTIF 5 width=8 seqs=15 gi|22873|emb|X61109.1|GG ( 1841) ACACACAC 1 gi|22873|emb|X61109.1|GG ( 1833) ACACACAC 1 gi|22873|emb|X61109.1|GG ( 1825) ACACACAC 1 gi|22873|emb|X61109.1|GG ( 1817) ACACACAC 1 gi|22873|emb|X61109.1|GG ( 1809) ACACACAC 1 gi|22873|emb|X61109.1|GG ( 1799) ACACACAC 1 gi|22873|emb|X61109.1|GG ( 533) ACACACAC 1 ref|NW_047562.1|Rn1_2084 ( 1768) ACAGACAC 1 gi|22873|emb|X61109.1|GG ( 4529) ACAGACAC 1 gi|22873|emb|X61109.1|GG ( 222) ACAGACAC 1 gi|27819607|ref|NM_17391 ( 44) ACAGACAC 1 gi|28302128|ref|NM_00051 ( 42) ACAGACAC 1 gi|22873|emb|X61109.1|GG ( 5851) ACACAGAC 1 gi|22873|emb|X61109.1|GG ( 1273) ACACAGAC 1 gi|28302128|ref|NM_00051 ( 384) ACACAGAC 1 // -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 5 position-specific scoring matrix -------------------------------------------------------------------------------- log-odds matrix: alength= 4 w= 8 n= 10528 bayes= 9.37792 E= 4.3e+001 179 -1055 -1055 -1055 -1055 224 -1055 -1055 179 -1055 -1055 -1055 -1055 166 66 -1055 179 -1055 -1055 -1055 -1055 192 -8 -1055 179 -1055 -1055 -1055 -1055 224 -1055 -1055 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Motif 5 position-specific probability matrix -------------------------------------------------------------------------------- letter-probability matrix: alength= 4 w= 8 n= 10528 E= 4.3e+001 0.999526 0.000141 0.000141 0.000193 0.000193 0.999474 0.000141 0.000193 0.999526 0.000141 0.000141 0.000193 0.000193 0.666363 0.333252 0.000193 0.999526 0.000141 0.000141 0.000193 0.000193 0.799608 0.200007 0.000193 0.999526 0.000141 0.000141 0.000193 0.000193 0.999474 0.000141 0.000193 -------------------------------------------------------------------------------- Time 392.22 secs. ******************************************************************************** ******************************************************************************** SUMMARY OF MOTIFS ******************************************************************************** -------------------------------------------------------------------------------- Combined block diagrams: non-overlapping sites with p-value < 0.0001 -------------------------------------------------------------------------------- SEQUENCE NAME COMBINED P-VALUE MOTIF DIAGRAM ------------- ---------------- ------------- gi|28302128|ref|NM_00051 2.85e-05 41_[+5(2.77e-05)]_39_[-1(4.51e-05)]_5_[+2(6.55e-05)]_17_[+4(1.48e-05)]_[+1(7.38e-06)]_[+3(7.38e-06)]_56_[+3(5.89e-05)]_14_[+2(6.55e-05)]_37_[-1(6.99e-05)]_45_[-1(9.76e-05)]_14_[+3(3.50e-05)]_13_[+1(7.38e-06)]_8_[-5(4.15e-05)]_34_[+1(5.52e-05)]_25_[+4(1.48e-05)]_3_[-1(1.48e-05)]_149 gi|27819607|ref|NM_17391 8.35e-05 43_[+5(2.77e-05)]_46_[+2(6.55e-05)]_17_[+4(1.48e-05)]_[+1(7.38e-06)]_[+3(7.38e-06)]_56_[+3(5.89e-05)]_14_[+2(6.55e-05)]_90_[-1(9.76e-05)]_14_[+3(3.50e-05)]_13_[+1(7.38e-06)]_83_[+4(1.48e-05)]_3_[-1(1.48e-05)]_107_[-4(5.90e-05)]_23_[-1(5.52e-05)]_202 gi|1484|emb|V00879.1|OCB 2.09e-04 91_[-1(4.51e-05)]_5_[+2(6.55e-05)]_17_[+4(1.48e-05)]_[+1(7.38e-06)]_[+3(7.38e-06)]_78_[+2(6.55e-05)]_90_[-1(9.76e-05)]_14_[+3(3.50e-05)]_13_[+1(7.38e-06)]_83_[+4(1.48e-05)]_3_[-1(1.48e-05)]_109 gi|22873|emb|X61109.1|GG 4.47e-02 221_[+5(2.77e-05)]_303_[-5(1.38e-05)]_410_[+4(4.43e-05)]_50_[-4(5.90e-05)]_256_[-5(4.15e-05)]_518_[-5(1.38e-05)]_[-5(1.38e-05)]_[-5(1.38e-05)]_[-5(1.38e-05)]_[-5(1.38e-05)]_[-5(1.38e-05)]_50_[+4(4.43e-05)]_431_[+2(6.55e-05)]_2051_[-4(1.48e-05)]_22_[-3(6.90e-05)]_7_[-3(2.49e-05)]_82_[+5(2.77e-05)]_39_[-1(4.51e-05)]_5_[+2(6.55e-05)]_17_[+4(1.48e-05)]_[+1(7.38e-06)]_45_[+1(2.49e-05)]_77_[+3(7.38e-06)]_56_[+3(5.89e-05)]_14_[+2(6.55e-05)]_37_[-1(6.99e-05)]_45_[-1(9.76e-05)]_14_[+3(3.50e-05)]_8_[+2(6.55e-05)]_131_[-3(8.28e-05)]_709_[+1(7.38e-06)]_8_[-5(4.15e-05)]_23 gi|4760585|dbj|AB020013. 9.31e-05 11_[+3(5.89e-05)]_4_[+3(7.38e-06)]_17_[+2(6.55e-05)]_17_[+4(1.48e-05)]_[+1(7.38e-06)]_[+3(7.38e-06)]_54_[-4(5.90e-05)]_135_[+3(3.50e-05)]_13_[+1(7.38e-06)]_28_[+1(7.38e-06)]_16_[-1(4.51e-05)]_11_[+2(6.55e-05)]_5_[+4(4.43e-05)]_3_[-1(1.48e-05)]_17 ref|NW_047562.1|Rn1_2084 3.25e-03 547_[+1(1.48e-05)]_3_[-4(4.43e-05)]_23_[+1(4.51e-05)]_16_[-1(7.38e-06)]_28_[-1(7.38e-06)]_561_[+1(4.51e-05)]_127_[-3(3.50e-05)]_91_[-2(6.55e-05)]_14_[-2(6.55e-05)]_16_[+4(5.90e-05)]_54_[-3(7.38e-06)]_109_[-1(7.38e-06)]_[-4(9.13e-05)]_17_[-2(6.55e-05)]_17_[-3(7.38e-06)]_4_[-3(5.89e-05)]_15_[-5(2.77e-05)]_60_[-4(6.98e-05)]_15_[+3(2.49e-05)]_38_[+4(1.48e-05)]_4_[-3(5.89e-05)]_31_[+3(1.75e-05)]_249 -------------------------------------------------------------------------------- ******************************************************************************** ******************************************************************************** Stopped because nmotifs = 5 reached. ******************************************************************************** CPU: veggie ******************************************************************************** From Marc.Logghe at devgen.com Thu May 6 05:21:56 2004 From: Marc.Logghe at devgen.com (Marc Logghe) Date: Thu May 6 05:26:14 2004 Subject: [Bioperl-l] problems with BLAST Message-ID: You have to tell to get to the next report if there is one with $report->_parseHeader. Have a look at the synopsis of Bio::Tools::BPlite (block around your while loop and test for end of report at the end) HTH, Marc > -----Original Message----- > From: omid gulban [mailto:gulban@sickkids.ca] > Sent: donderdag 6 mei 2004 0:53 > To: bioperl-l@bioperl.org > Subject: [Bioperl-l] problems with BLAST > > > Hello all, > > I have a blast ouput that was generated via Blast2.28 it > contained results for two query sequences. > I am having difficulties parsing the output: Here is what I wrote: > > the problem is that I get parsed results for the first query > sequence and not for the other. I checked the input file and > the results are there. Maybe I an not instructing it to go > the next query sequence????? > > > ************************************************************** > ********************************************************* > > #!/usr/bin/perl -w > > use lib 'E:/.cpan/Bioperl-1.2.3'; > use strict; > use Bio::Tools::BPlite; > use Bio::SimpleAlign; > use Bio::AlignIO; > use Bio::SeqIO; > use Bio::Seq; > > my $outputfile = ' Settings\me\Desktop\blastMendel\test_output.txt'; > open (BLAST_OUTPUT_FILE, "$outputfile") or die > "Can't open $outputfile: [$!]\n"; > > open (PARSED_OUTPUT_FILE, ">>parsed_output.txt") or die > "Can't open\/create a file called [parsed_output.txt]\n"; > > my $blast_ouput_for_parsing = new Bio::Tools::BPlite > (-fh => \*BLAST_OUTPUT_FILE); > > > print PARSED_OUTPUT_FILE '*'x60 , "\n"; > print PARSED_OUTPUT_FILE "Query Name: " , > $blast_ouput_for_parsing -> query , "\n"; > print PARSED_OUTPUT_FILE "Database Searched: " , > $blast_ouput_for_parsing -> database , "\n\n"; > print PARSED_OUTPUT_FILE '*'x60 , "\n"; > #print PARSED_OUTPUT_FILE "The name of the subject is: ", > $sbjct->name , "\n"; > > while(my $sbjct = $blast_ouput_for_parsing -> nextSbjct) { > > my $hsp = $sbjct -> nextHSP; > print PARSED_OUTPUT_FILE '-'x60 , "\n\n"; > print PARSED_OUTPUT_FILE "Percentage: " , $hsp->percent , "\n"; > print PARSED_OUTPUT_FILE "Length: " , $hsp->length , "\n"; > print PARSED_OUTPUT_FILE "Match: " , $hsp->match , "\n"; > print PARSED_OUTPUT_FILE "Positive: " , $hsp->positive , "\n\n"; > print PARSED_OUTPUT_FILE "QueryStart: " , > $hsp->query->start , "\n"; > print PARSED_OUTPUT_FILE "QueryEnd: " , $hsp->query->end , "\n"; > print PARSED_OUTPUT_FILE "HitStart: " , $hsp->hit->start > , "\n"; > print PARSED_OUTPUT_FILE "HitEnd: " , $hsp->hit->end , "\n"; > print PARSED_OUTPUT_FILE "QuerySeq: " , $hsp->querySeq , "\n"; > print PARSED_OUTPUT_FILE "homologySeq: " , > $hsp->homologySeq , "\n"; > print PARSED_OUTPUT_FILE "sbjctSeq: " , $hsp->sbjctSeq , "\n"; > print PARSED_OUTPUT_FILE '-'x60 , "\n"; > } > > > ************************************************************** > ********************************************************* > > > Any help you are able to provide is greatly appreciated. > > Many thanks > Omid > > > From skirov at utk.edu Thu May 6 06:48:36 2004 From: skirov at utk.edu (skirov) Date: Thu May 6 06:52:39 2004 Subject: [Bioperl-l] Error when parsing MEME file Message-ID: <40A184E2@webmail.utk.edu> Amonida, Wow, you have an amazing amount of ids... I am sure it will be much better if you can use a simple ID line like >X61109 someseq... Of course I could change the parser... but I am not sure it is worth it. Jason, forgive my ignorance, but current SeqIO will not parse fasta ID line like this one: >ref|NW_047562.1|Rn1_2084 I guess it will be best if meme parser is in sync with SeqIO with respect to IDs. Stefan >===== Original Message From Amonida Zadissa ===== >Stefan and Jason, > >Thanks for your replies. I was using bioperl-1.4 but now I have >bioperl-live installed. Nevertheless, the problem seems to be there >but I get new warnings complainging about both strands now. > >Argument "-" isn't numeric in addition (+) at >/opt/share/perl/5.8.3/Bio/LocatableSeq.pm line 167, line 699. >Argument "+" isn't numeric in addition (+) at >/opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, >line 700. > >Could this depend on my installation (which by the way went fine)? > >I'm attaching the MEME test file I have used. > >Thanks for any help, >Amonida > >On Wed, May 05, 2004 at 02:51:12PM -0400, Stefan Kirov wrote: >> Fixed now, check it from bioperl-live >> Stefan >> >> Amonida Zadissa wrote: >> >> >Hi everyone, >> > >> >I'm trying to parse a MEME file using the Bio::Matrix::PSM >> >modules but I'm experiencing problems and was hoping someone on >> >the list could help me. >> > >> >The script is attached below. I get a warning saying the >> >following for each "problematic" instance: >> > >> >Argument "-" isn't numeric in addition (+) at >> >/opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, line >> >1164. >> > >> >Whenever the strand sign is negative the start position is >> >assigned the sign and the score is assigned the start position, >> >so everything seems to shift one column. This happens only >> >if the strand is negative. Note that '$instance' becomes a >> >Bio::Matrix::PSM::InstanceSite object. >> > >> >Is this a parsing error in "InstanceSite.pm" or is my script >> >somehow wrong? >> > >> >Would appreciate any help and by the way thanks for providing this >> >forum! >> > >> >Cheers, >> >Amonida >> > >> >******************************************************************** >> >#!/usr/bin/perl -w >> > >> >use strict; >> >use warnings; >> >use Bio::Matrix::PSM::IO; >> > >> >my $psmIO = new Bio::Matrix::PSM::IO( -file => 'meme.file', >> > -format => 'meme'); >> > >> >while (my $psm = $psmIO -> next_psm) { >> > my $instances = $psm -> instances; >> > foreach my $instance (@{ $instances }) { >> > my $start = $instance -> start; >> > my $score = $instance -> score; >> > } >> >} >> > >> >******************************************************************** >> > >> > >> > > >-- >Amonida Zadissa >Biochemistry Department >Otago University >Dunedin, New Zealand From jason at cgt.duhs.duke.edu Thu May 6 08:29:04 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Thu May 6 08:33:30 2004 Subject: [Bioperl-l] Error when parsing MEME file In-Reply-To: <40A184E2@webmail.utk.edu> References: <40A184E2@webmail.utk.edu> Message-ID: Something was still wrong with your fix stefan - I committed something which should work. Do a CVS update Amonida and you should have thefix. As for whether or not Seqio can parse long IDs, it just takes whatever is after the > until the 1st space. We don't try and interpret the ID and get accession out of the ncbi id lines by default - although there have been proposals on the list for doing this, I can't really remember if anyone solved it. I just end up writing my own id parser if I need a particular thing out... We solve it for the HitI object when parsing blast reports and setting accessions. -jason On Thu, 6 May 2004, skirov wrote: > Amonida, > Wow, you have an amazing amount of ids... I am sure it will be much better if > you can use a simple ID line like > >X61109 > someseq... > Of course I could change the parser... but I am not sure it is worth it. > Jason, forgive my ignorance, but current SeqIO will not parse fasta ID line > like this one: > >ref|NW_047562.1|Rn1_2084 > I guess it will be best if meme parser is in sync with SeqIO with respect to > IDs. > Stefan > > >===== Original Message From Amonida Zadissa > ===== > >Stefan and Jason, > > > >Thanks for your replies. I was using bioperl-1.4 but now I have > >bioperl-live installed. Nevertheless, the problem seems to be there > >but I get new warnings complainging about both strands now. > > > >Argument "-" isn't numeric in addition (+) at > >/opt/share/perl/5.8.3/Bio/LocatableSeq.pm line 167, line 699. > >Argument "+" isn't numeric in addition (+) at > >/opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, > >line 700. > > > >Could this depend on my installation (which by the way went fine)? > > > >I'm attaching the MEME test file I have used. > > > >Thanks for any help, > >Amonida > > > >On Wed, May 05, 2004 at 02:51:12PM -0400, Stefan Kirov wrote: > >> Fixed now, check it from bioperl-live > >> Stefan > >> > >> Amonida Zadissa wrote: > >> > >> >Hi everyone, > >> > > >> >I'm trying to parse a MEME file using the Bio::Matrix::PSM > >> >modules but I'm experiencing problems and was hoping someone on > >> >the list could help me. > >> > > >> >The script is attached below. I get a warning saying the > >> >following for each "problematic" instance: > >> > > >> >Argument "-" isn't numeric in addition (+) at > >> >/opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, line > >> >1164. > >> > > >> >Whenever the strand sign is negative the start position is > >> >assigned the sign and the score is assigned the start position, > >> >so everything seems to shift one column. This happens only > >> >if the strand is negative. Note that '$instance' becomes a > >> >Bio::Matrix::PSM::InstanceSite object. > >> > > >> >Is this a parsing error in "InstanceSite.pm" or is my script > >> >somehow wrong? > >> > > >> >Would appreciate any help and by the way thanks for providing this > >> >forum! > >> > > >> >Cheers, > >> >Amonida > >> > > >> >******************************************************************** > >> >#!/usr/bin/perl -w > >> > > >> >use strict; > >> >use warnings; > >> >use Bio::Matrix::PSM::IO; > >> > > >> >my $psmIO = new Bio::Matrix::PSM::IO( -file => 'meme.file', > >> > -format => 'meme'); > >> > > >> >while (my $psm = $psmIO -> next_psm) { > >> > my $instances = $psm -> instances; > >> > foreach my $instance (@{ $instances }) { > >> > my $start = $instance -> start; > >> > my $score = $instance -> score; > >> > } > >> >} > >> > > >> >******************************************************************** > >> > > >> > > >> > > > > >-- > >Amonida Zadissa > >Biochemistry Department > >Otago University > >Dunedin, New Zealand > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From skirov at utk.edu Thu May 6 09:07:59 2004 From: skirov at utk.edu (Stefan Kirov) Date: Thu May 6 09:12:10 2004 Subject: [Bioperl-l] Error when parsing MEME file In-Reply-To: References: <40A184E2@webmail.utk.edu> Message-ID: <409A38AF.8050200@utk.edu> Weird.... It worked fine for me, including Amonida's example. Unless it is a Windows vs Unix issue, since I wrote and tested the fix under Windows. This reminds me of a good movie- "Kill Bill" :-). I should drop Win stuff completely I guess. Thanks Jason! Stefan Jason Stajich wrote: >Something was still wrong with your fix stefan - I committed something >which should work. Do a CVS update Amonida and you should have thefix. > >As for whether or not Seqio can parse long IDs, it just takes whatever is >after the > until the 1st space. We don't try and interpret the ID and >get accession out of the ncbi id lines by default - although there have >been proposals on the list for doing this, I can't really remember if >anyone solved it. I just end up writing my own id parser if I need a >particular thing out... We solve it for the HitI object when parsing >blast reports and setting accessions. > >-jason > >On Thu, 6 May 2004, skirov wrote: > > > >>Amonida, >>Wow, you have an amazing amount of ids... I am sure it will be much better if >>you can use a simple ID line like >> >> >>>X61109 >>> >>> >>someseq... >>Of course I could change the parser... but I am not sure it is worth it. >>Jason, forgive my ignorance, but current SeqIO will not parse fasta ID line >>like this one: >> >> >>>ref|NW_047562.1|Rn1_2084 >>> >>> >>I guess it will be best if meme parser is in sync with SeqIO with respect to >>IDs. >>Stefan >> >> >> >>>===== Original Message From Amonida Zadissa >>> >>> >>===== >> >> >>>Stefan and Jason, >>> >>>Thanks for your replies. I was using bioperl-1.4 but now I have >>>bioperl-live installed. Nevertheless, the problem seems to be there >>>but I get new warnings complainging about both strands now. >>> >>>Argument "-" isn't numeric in addition (+) at >>>/opt/share/perl/5.8.3/Bio/LocatableSeq.pm line 167, line 699. >>>Argument "+" isn't numeric in addition (+) at >>>/opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, >>>line 700. >>> >>>Could this depend on my installation (which by the way went fine)? >>> >>>I'm attaching the MEME test file I have used. >>> >>>Thanks for any help, >>>Amonida >>> >>>On Wed, May 05, 2004 at 02:51:12PM -0400, Stefan Kirov wrote: >>> >>> >>>>Fixed now, check it from bioperl-live >>>>Stefan >>>> >>>>Amonida Zadissa wrote: >>>> >>>> >>>> >>>>>Hi everyone, >>>>> >>>>>I'm trying to parse a MEME file using the Bio::Matrix::PSM >>>>>modules but I'm experiencing problems and was hoping someone on >>>>>the list could help me. >>>>> >>>>>The script is attached below. I get a warning saying the >>>>>following for each "problematic" instance: >>>>> >>>>>Argument "-" isn't numeric in addition (+) at >>>>>/opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line 106, line >>>>>1164. >>>>> >>>>>Whenever the strand sign is negative the start position is >>>>>assigned the sign and the score is assigned the start position, >>>>>so everything seems to shift one column. This happens only >>>>>if the strand is negative. Note that '$instance' becomes a >>>>>Bio::Matrix::PSM::InstanceSite object. >>>>> >>>>>Is this a parsing error in "InstanceSite.pm" or is my script >>>>>somehow wrong? >>>>> >>>>>Would appreciate any help and by the way thanks for providing this >>>>>forum! >>>>> >>>>>Cheers, >>>>>Amonida >>>>> >>>>>******************************************************************** >>>>>#!/usr/bin/perl -w >>>>> >>>>>use strict; >>>>>use warnings; >>>>>use Bio::Matrix::PSM::IO; >>>>> >>>>>my $psmIO = new Bio::Matrix::PSM::IO( -file => 'meme.file', >>>>> -format => 'meme'); >>>>> >>>>>while (my $psm = $psmIO -> next_psm) { >>>>> my $instances = $psm -> instances; >>>>> foreach my $instance (@{ $instances }) { >>>>> my $start = $instance -> start; >>>>> my $score = $instance -> score; >>>>> } >>>>>} >>>>> >>>>>******************************************************************** >>>>> >>>>> >>>>> >>>>> >>>>> >>>-- >>>Amonida Zadissa >>>Biochemistry Department >>>Otago University >>>Dunedin, New Zealand >>> >>> >>_______________________________________________ >>Bioperl-l mailing list >>Bioperl-l@portal.open-bio.org >>http://portal.open-bio.org/mailman/listinfo/bioperl-l >> >> >> > >-- >Jason Stajich >Duke University >jason at cgt.mc.duke.edu >_______________________________________________ >Bioperl-l mailing list >Bioperl-l@portal.open-bio.org >http://portal.open-bio.org/mailman/listinfo/bioperl-l > > -- Stefan Kirov, Ph.D. University of Tennessee/Oak Ridge National Laboratory 1060 Commerce Park, Oak Ridge TN 37830-8026 USA tel +865 576 5120 fax +865 241 1965 e-mail: skirov@utk.edu sao@ornl.gov From e-just at northwestern.edu Thu May 6 14:20:29 2004 From: e-just at northwestern.edu (Eric Just) Date: Thu May 6 14:24:51 2004 Subject: [Bioperl-l] EMBL file with no feature table Message-ID: <5.1.1.6.0.20040506131826.02580908@hecky.it.northwestern.edu> Hi, I have had a problem with the embl parser. I got some EMBL files that did not have a feature table, just sequence and it seems that the parser requires a feature table: # Exit at start of Feature table last if /^F[HT]/; if there is no feature table and it goes right to the SQ section (I THINK that's allowed in EMBL) then you have to exit when you hit the SQ line. You need to then do a pushback when you exit this loop in order to catch the SQ line later in the code last if /^(F[HT])|(SQ)/; Thanks ERic ============================================ Eric Just e-just@northwestern.edu dictyBase Programmer Center for Genetic Medicine Northwestern University http://dictybase.org ============================================ From brian_osborne at cognia.com Thu May 6 14:44:45 2004 From: brian_osborne at cognia.com (Brian Osborne) Date: Thu May 6 14:49:31 2004 Subject: [Bioperl-l] EMBL file with no feature table In-Reply-To: <5.1.1.6.0.20040506131826.02580908@hecky.it.northwestern.edu> Message-ID: Eric, Thank you for reporting this. What would also be helpful would be submitting this as a bug (http://bugzilla.bioperl.org/), this way we won't lose track of it. Another note, not really directed at you or this module, and this is only my personal opinion. Some of our modules are not really maintained, despite the fact that most of them contain a "Maintained by ..." line. If when you see a bug you actually know how to fix it, or are willing to put in that extra effort to find the fix, please do so and tell us how it's done. We do have a backlog of bugs that need to be addressed, some of them serious, and any effort towards this end is much appreciated. Brian O. -----Original Message----- From: bioperl-l-bounces@portal.open-bio.org [mailto:bioperl-l-bounces@portal.open-bio.org]On Behalf Of Eric Just Sent: Thursday, May 06, 2004 2:20 PM To: bioperl-l@bioperl.org Subject: [Bioperl-l] EMBL file with no feature table Hi, I have had a problem with the embl parser. I got some EMBL files that did not have a feature table, just sequence and it seems that the parser requires a feature table: # Exit at start of Feature table last if /^F[HT]/; if there is no feature table and it goes right to the SQ section (I THINK that's allowed in EMBL) then you have to exit when you hit the SQ line. You need to then do a pushback when you exit this loop in order to catch the SQ line later in the code last if /^(F[HT])|(SQ)/; Thanks ERic ============================================ Eric Just e-just@northwestern.edu dictyBase Programmer Center for Genetic Medicine Northwestern University http://dictybase.org ============================================ _______________________________________________ Bioperl-l mailing list Bioperl-l@portal.open-bio.org http://portal.open-bio.org/mailman/listinfo/bioperl-l From lstein at cshl.edu Thu May 6 16:34:33 2004 From: lstein at cshl.edu (Lincoln Stein) Date: Thu May 6 16:38:59 2004 Subject: [Bioperl-l] Gbrowse/BioSQL question In-Reply-To: References: Message-ID: <200405061634.33928.lstein@cshl.edu> Hi Simon, Would there be any way to specify alternative version numbers at runtime rather than in the config file? Lincoln On Wednesday 05 May 2004 03:32 pm, Sean Davis wrote: > Dear all, > > > In the Gbrowse configuration file when using BioSQL as the > underlying database schema, there is a requirement for version to > be identified. I have loaded refSeq and would like to use Gbrowse > to browse the entries, but, of course, there are varying version > numbers in the current refSeq file, so I can only search a subset > at any given time. Is there a way to deal with this issue so that > one can include multiple version numbers in the default for > searching? > > Thanks, > Sean > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l -- Lincoln D. Stein Cold Spring Harbor Laboratory 1 Bungtown Road Cold Spring Harbor, NY 11724 From rfreimut at im.wustl.edu Thu May 6 18:43:33 2004 From: rfreimut at im.wustl.edu (Freimuth,Robert) Date: Thu May 6 18:52:24 2004 Subject: [Bioperl-l] RE: population genetics Message-ID: > >>Hi all, > >> > >>I would like to go for an LD viewer and infer haplotypes based on EM > >>model. I was wondering is some on the list is doing > something like that. > >> > >>Cheers > >>Pedro. > > I don't know about LD (linkage disequilibrium?) and EM models on > >bioperl, but there are probably implementations for various > applications > >of it on R statistics software (I know there is for QTL analysis). I > >recently came across this module to control the R > interpreter from Perl: > > > > > http://search.cpan.org/~gmpassos/Statistics-R-0.02/lib/Statistics/R.pm > > > > Seeing that R is also Open Source, it might be > interesting to use it > >with BioPerl. > > > > -Paulo Almeida > > Regarding LD, I recently came across a program (written in perl) called ldSelect that calculates r-squared and selects tag SNPs (http://droog.gs.washington.edu/ldSelect.html). I haven't played with it yet, but it might do what you need. I do not know of any existing perl programs that calculate D', although there are some available in other languages. There are also a few programs available to infer haplotypes. A popular one, which uses Bayesian methods, is called PHASE (http://www.stat.washington.edu/stephens/software.html). It's free for non-commercial use but I don't think it is open source. I use a different program (also called PHASE) to infer haplotypes using the EM algorithm and calculate pairwise D' values. It was originally written by Dan Schaid in S+ and has since been convered to R so it can run on our web server (http://ilya.wustl.edu/~pgrn/programs.html). HTH, Bob From amonida at sanger.otago.ac.nz Thu May 6 19:21:19 2004 From: amonida at sanger.otago.ac.nz (Amonida Zadissa) Date: Thu May 6 19:25:33 2004 Subject: [Bioperl-l] Error when parsing MEME file In-Reply-To: References: <40A184E2@webmail.utk.edu> Message-ID: <20040506232119.GB10128@ou007034.otago.ac.nz> Thanks for the help, it works fine now! Thanks for your suggestion about the accession numbers, true I do have a wide range of them in my files but the ID length hasn't been a problem yet. But I do have parsers if I need to make them shorter. Cheers, Amonida On Thu, May 06, 2004 at 08:29:04AM -0400, Jason Stajich wrote: > Something was still wrong with your fix stefan - I committed > something which should work. Do a CVS update Amonida and you > should have thefix. > > As for whether or not Seqio can parse long IDs, it just takes > whatever is after the > until the 1st space. We don't try and > interpret the ID and get accession out of the ncbi id lines by > default - although there have been proposals on the list for > doing this, I can't really remember if anyone solved it. I > just end up writing my own id parser if I need a particular > thing out... We solve it for the HitI object when parsing > blast reports and setting accessions. > > -jason > > On Thu, 6 May 2004, skirov wrote: > > > Amonida, Wow, you have an amazing amount of ids... I am sure > > it will be much better if you can use a simple ID line like > > > > >X61109 > > > > someseq... Of course I could change the parser... but I am > > not sure it is worth it. Jason, forgive my ignorance, but > > current SeqIO will not parse fasta ID line like this one: > > > > >ref|NW_047562.1|Rn1_2084 > > > > I guess it will be best if meme parser is in sync with SeqIO > > with respect to IDs. Stefan > > > > >===== Original Message From Amonida Zadissa > > > > > > > ===== > > > > >Stefan and Jason, > > > > > >Thanks for your replies. I was using bioperl-1.4 but now I > > >have bioperl-live installed. Nevertheless, the problem seems > > >to be there but I get new warnings complainging about both > > >strands now. > > > > > >Argument "-" isn't numeric in addition (+) at > > >/opt/share/perl/5.8.3/Bio/LocatableSeq.pm line 167, > > >line 699. Argument "+" isn't numeric in addition (+) at > > >/opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line > > >106, line 700. > > > > > >Could this depend on my installation (which by the way went > > >fine)? > > > > > >I'm attaching the MEME test file I have used. > > > > > >Thanks for any help, Amonida > > > > > >On Wed, May 05, 2004 at 02:51:12PM -0400, Stefan Kirov > > >wrote: > > > > > >> Fixed now, check it from bioperl-live Stefan > > >> > > >> Amonida Zadissa wrote: > > >> > > >> >Hi everyone, > > >> > > > >> >I'm trying to parse a MEME file using the > > >> >Bio::Matrix::PSM modules but I'm experiencing problems > > >> >and was hoping someone on the list could help me. > > >> > > > >> >The script is attached below. I get a warning saying the > > >> >following for each "problematic" instance: > > >> > > > >> >Argument "-" isn't numeric in addition (+) at > > >> >/opt/share/perl/5.8.3/Bio/Matrix/PSM/InstanceSite.pm line > > >> >106, line 1164. > > >> > > > >> >Whenever the strand sign is negative the start position > > >> >is assigned the sign and the score is assigned the start > > >> >position, so everything seems to shift one column. This > > >> >happens only if the strand is negative. Note that > > >> >'$instance' becomes a Bio::Matrix::PSM::InstanceSite > > >> >object. > > >> > > > >> >Is this a parsing error in "InstanceSite.pm" or is my > > >> >script somehow wrong? > > >> > > > >> >Would appreciate any help and by the way thanks for > > >> >providing this forum! > > >> > > > >> >Cheers, Amonida > > >> > > > >> >********************************************************* > > >> >#!/usr/bin/perl -w > > >> > > > >> >use strict use warnings use Bio::Matrix::PSM::IO ; > > >> > > > >> >my $psmIO = new Bio::Matrix::PSM::IO( -file => > > >> >'meme.file', -format => 'meme'); > > >> > > > >> >while (my $psm = $psmIO -> next_psm) { my $instances = > > >> >$psm -> instances; foreach my $instance (@{ $instances }) > > >> >{ my $start = $instance -> start; my $score = $instance > > >> >-> score; } } > > >> > > > >> >********************************************************* -- Amonida Zadissa Biochemistry Department Otago University Dunedin, New Zealand From Luc.Gauthier at aventis.com Thu May 6 12:03:01 2004 From: Luc.Gauthier at aventis.com (Luc.Gauthier@aventis.com) Date: Fri May 7 04:12:48 2004 Subject: [Bioperl-l] New minor version ? Message-ID: <6FA8B454A1DF1E4A97F0A48DCC324EAB01391D07@crbsmxsusr05.pharma.aventis.com> An HTML attachment was scrubbed... URL: http://portal.open-bio.org/pipermail/bioperl-l/attachments/20040506/55ce627a/attachment.htm From jason at cgt.duhs.duke.edu Fri May 7 04:15:35 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Fri May 7 04:19:41 2004 Subject: [Bioperl-l] New minor version ? In-Reply-To: <6FA8B454A1DF1E4A97F0A48DCC324EAB01391D07@crbsmxsusr05.pharma.aventis.com> References: <6FA8B454A1DF1E4A97F0A48DCC324EAB01391D07@crbsmxsusr05.pharma.aventis.com> Message-ID: On Thu, 6 May 2004 Luc.Gauthier@aventis.com wrote: > > Hi everyone, > > My question is for people in charge of the Bioperl project, at least of > the releases. > > I just wanted to know if there was a plan to release a new minor version > (something like 1.4.1) in the near future, that would contain all bug > fixes since the 1.4.0 release. > > Does anyone know ? Thank you very much. This summer - Aaron Mackey graciously agreeded to be the coordinator for the 1.4.1 release. We don't have a target release date yet. We probably need to take stock of outstanding bugs and decide what will get fixed for 1.4.1 and what main trunk commits still need to migrate to 1.4 branch. -jason > > Best regards, > Luc Gauthier > > > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From amackey at pcbi.upenn.edu Fri May 7 09:53:58 2004 From: amackey at pcbi.upenn.edu (Aaron J. Mackey) Date: Fri May 7 09:57:58 2004 Subject: [Bioperl-l] New minor version ? In-Reply-To: References: <6FA8B454A1DF1E4A97F0A48DCC324EAB01391D07@crbsmxsusr05.pharma.aventis.com> Message-ID: Hmm, I guess it's time to start thinking about that. I thought that one idea was to have a 1.4.1 maintenance release before BOSC, and a 1.6.0 by September (i.e. quickly following on the heels of 1.4.1) I'll start looking over the bug tracker and CVS logs for the 1.4 maintenance branch soon ... but August is still just *so* far away ;) -Aaron On May 7, 2004, at 4:15 AM, Jason Stajich wrote: > On Thu, 6 May 2004 Luc.Gauthier@aventis.com wrote: > >> >> Hi everyone, >> >> My question is for people in charge of the Bioperl project, at least >> of >> the releases. >> >> I just wanted to know if there was a plan to release a new minor >> version >> (something like 1.4.1) in the near future, that would contain all bug >> fixes since the 1.4.0 release. >> >> Does anyone know ? Thank you very much. > > This summer - Aaron Mackey graciously agreeded to be the coordinator > for > the 1.4.1 release. We don't have a target release date yet. We > probably need to take stock of outstanding bugs and decide what will > get > fixed for 1.4.1 and what main trunk commits still need to migrate to > 1.4 > branch. > > > -jason > > >> >> Best regards, >> Luc Gauthier >> >> >> > > -- > Jason Stajich > Duke University > jason at cgt.mc.duke.edu > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > > -- Aaron J. Mackey, Ph.D. Dept. of Biology, Goddard 212 University of Pennsylvania email: amackey@pcbi.upenn.edu 415 S. University Avenue office: 215-898-1205 Philadelphia, PA 19104-6017 fax: 215-746-6697 From lstein at cshl.edu Fri May 7 12:31:09 2004 From: lstein at cshl.edu (Lincoln Stein) Date: Fri May 7 12:35:23 2004 Subject: [Bioperl-l] New minor version ? In-Reply-To: References: <6FA8B454A1DF1E4A97F0A48DCC324EAB01391D07@crbsmxsusr05.pharma.aventis.com> Message-ID: <200405071231.09200.lstein@cshl.edu> I haven't touched the 1.4 branch at all, so I should review what I've done recently and port over all the biographics bug fixes. If there's going to be a 1.6 release in September, why bother with a 1.4.1 release in August? I'd only get excited about this if the 1.4.1 release was going to be in June. Lincoln On Friday 07 May 2004 09:53 am, Aaron J. Mackey wrote: > Hmm, I guess it's time to start thinking about that. I thought > that one idea was to have a 1.4.1 maintenance release before BOSC, > and a 1.6.0 by September (i.e. quickly following on the heels of > 1.4.1) > > I'll start looking over the bug tracker and CVS logs for the 1.4 > maintenance branch soon ... but August is still just *so* far away > ;) > > -Aaron > > On May 7, 2004, at 4:15 AM, Jason Stajich wrote: > > On Thu, 6 May 2004 Luc.Gauthier@aventis.com wrote: > >> Hi everyone, > >> > >> My question is for people in charge of the Bioperl project, at > >> least of > >> the releases. > >> > >> I just wanted to know if there was a plan to release a new minor > >> version > >> (something like 1.4.1) in the near future, that would contain > >> all bug fixes since the 1.4.0 release. > >> > >> Does anyone know ? Thank you very much. > > > > This summer - Aaron Mackey graciously agreeded to be the > > coordinator for > > the 1.4.1 release. We don't have a target release date yet. We > > probably need to take stock of outstanding bugs and decide what > > will get > > fixed for 1.4.1 and what main trunk commits still need to migrate > > to 1.4 > > branch. > > > > > > -jason > > > >> Best regards, > >> Luc Gauthier > > > > -- > > Jason Stajich > > Duke University > > jason at cgt.mc.duke.edu > > _______________________________________________ > > Bioperl-l mailing list > > Bioperl-l@portal.open-bio.org > > http://portal.open-bio.org/mailman/listinfo/bioperl-l > > -- > Aaron J. Mackey, Ph.D. > Dept. of Biology, Goddard 212 > University of Pennsylvania email: amackey@pcbi.upenn.edu > 415 S. University Avenue office: 215-898-1205 > Philadelphia, PA 19104-6017 fax: 215-746-6697 > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l -- Lincoln D. Stein Cold Spring Harbor Laboratory 1 Bungtown Road Cold Spring Harbor, NY 11724 From jiben at jhu.edu Fri May 7 14:16:58 2004 From: jiben at jhu.edu (JAMES IBEN) Date: Fri May 7 14:20:57 2004 Subject: [Bioperl-l] Starting from scratch, a trivial problem? Message-ID: <169af01623d0.1623d0169af0@jhmimail.jhmi.edu> Hello. I'm relatively new to programming in perl to begin with, so I apologize for the foolish question. I would like to write a program to pull genomic sequences and clip out a specific intergenic region in species where it exists, but I am running into difficulty trying to incorporate the bioperl modules into my script to accomplish this. This coupled with a grasp of only the the ability to script the most rudimentary programs has left me at a bit of a loss. I believe the program should run with this rough outline unless someone has a more informed opinion: -Obtain sequence from online databank -Search annotations for sequential occurrence of gene X and gene Y (or gene Y and gene X) -Print to output file Sequence ID and sequence occurring between addresses of X and Y -loop to next sequence I would be very grateful if someone could please point me in the direction of perhaps a similar example script or a lower-level resource. It seems like it would be a fairly trivial problem. Thanks for your time, James From barry.moore at genetics.utah.edu Fri May 7 18:32:57 2004 From: barry.moore at genetics.utah.edu (Barry Moore) Date: Fri May 7 18:36:58 2004 Subject: [Bioperl-l] Starting from scratch, a trivial problem? In-Reply-To: <169af01623d0.1623d0169af0@jhmimail.jhmi.edu> References: <169af01623d0.1623d0169af0@jhmimail.jhmi.edu> Message-ID: <409C0E99.2090105@genetics.utah.edu> James- The SeqIO and the Features/Annotations HOWTO on the bioperl web site (http://www.bioperl.org/HOWTOs/) should be helpful. Below is a document that will fill in some of the gaps in the HOWTOs. Specifically it has some boilerplate code at the bottom that you can use to get sequences from NCBI, and then loop through them looking at the features and annotations of each one. Getting the gene name/locations and determining that your genes are sequential will be the part that you will have to add. It's Friday afternoon, and I was supposed to be home an hour ago, so hope this can at least get you started over the weekend. Let me know if you need more help. Barry -------------------------------------------------------------------------------------------- How to get values in a GenBank file with BioPerl This is a guide to accessing the value of each item in a GenBank file with BioPerl. Underneath each value in the sample GenBank file there is a number and a 3-letter code. The 3-letter code represents the object where the associated value is stored. Table 1 at the end of this file gives the object for each code. By looking up the numbers in Table 2 at the end of this file you will find the object where this information can be called from, and the method to get (and usually set) the value. Some values may be stored by, and accessible from methods in more than one object. There is perl code at the end that you can use as a starting point to get at all of the objects and their methods. ----------------------------------------------------------------------------------- LOCUS NM_079543 1821 bp mRNA linear INV 10-DEC-2003 1-BSR 2-BPS 3-BSR 4-BSR 5-BSR 6-BSR DEFINITION Drosophila melanogaster alpha-Esterase-3 CG1257-PA (alpha-Est3) mRNA, complete cds. 7-BPS ACCESSION NM_079543 XX_123456 8-BPS 9-BSR VERSION NM_079543.2 GI:24644853 | | 10-BPS 11-BSR KEYWORDS Esterases 12-BSR SOURCE Drosophila melanogaster (fruit fly) 13-BSC ORGANISM Drosophila melanogaster 14-BSC 15-BSC Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Diptera; Brachycera; Muscomorpha; Ephydroidea; Drosophilidae; Drosophila. 16-BSC REFERENCE 1 (bases 1 to 1821) 17-BAR 18-BAR AUTHORS Adams,M.D. et al.(additional authors deleted for brevity) 19-BAR TITLE The genome sequence of Drosophila melanogaster 20-BAR JOURNAL Science 287 (5461), 2185-2195 (2000) 21-BAR MEDLINE 20196006 22-BAR PUBMED 10731132 23-BAR COMMENT PROVISIONAL REFSEQ: This record has not yet been subject to final NCBI review. This record is derived from an annotated genomic sequence (NT_033777). The reference sequence was derived from CG1257-RA. On Nov 6, 2002 this sequence version replaced gi:17737826. 24-BAC FEATURES Location/Qualifiers source 1..1821 25-BLS 26-BLS /organism="Drosophila melanogaster" 27-BSG /mol_type="mRNA" /db_xref="taxon:7227" /chromosome="3R" /note="genotype: y[1]; cn[1] bw[1] sp[1]; Rh6[1]" gene 1..1821 /gene="alpha-Est3" /locus_tag="CG1257" /note="alpha-Esterase-3; synonyms: B, aE3, CG1257, alphaE3, alpha-Ests, fragment B; go_function: carboxylesterase activity [goid 0004091] [evidence NAS]" /map="84D9-84D9" /db_xref="FLYBASE:FBgn0015571" /db_xref="GeneID:40907" /db_xref="LocusID:40907" CDS 119..1750 /gene="alpha-Est3" /locus_tag="CG1257" /EC_number="3.1.1.1" /note="alpha-Est3 gene product" /codon_start=1 /product="alpha-Esterase-3 CG1257-PA" /protein_id="NP_524267.2" /db_xref="GI:24644854" /db_xref="FLYBASE:FBgn0015571" /db_xref="GeneID:40907" /db_xref="LocusID:40907" /translation="MESLQVNTTSGPVLGKQCTGVYGDEYVSFERIPYAQPPVGHLRF MAPLPVEPWSQPLDCTKPGQKPLQFNHYSKQLEGVEDCLYLNVYAKELDSPRPLPLIV FFFGGGFEKGDPTKELHSPDYFMMRDVVVVTVSYRVGPLGFLSLNDPAVGVPGNAGLK DQLLAMEWIKENAERFNGDPKNVTAFGESAGAASVHYLMLNPKAEGLFHKAILQSGNV LCSWALCTIKNLPHRLAVNLGMESAEHVTDAMVLDFLQKLPGEKLVRPYLLSAEEHLD DCVFQFGPMVEPYKTEHCALPNHPQELLDKAWGNRIPVLMSGTSFEGLLMYARVQMAP YLLTSLKKEPEHMLPLDVKRNLPQALARHLGQRLQETHFGGNDPSAMSPESLKAYCEY ASYKVFWHPILKTLRSRVKSSSASTYLYRFDFDSPTFNHQRLKYCGDKLRGVAHVDDH SYLWYGDFSWKLDKHTPEFLTIERMIDMLTSFARTSNPNCKLIQDQLPRAKEWKPLNS KSALECLNISENIKMMELPELQKLRVWESVCQSTG" ORIGIN 1 gtactatggc aaatggtact atgggcagtc gcgataataa taataaatga ggctttaaat 61 gtttttccac tacaagataa aaagttacga gtgcgcaccg agcatttagt agacgaacat 28-BPS ... (additional sequence deleted for brevity) // ----------------------------------------------------------------------------------- Table 1. Object Key BPS - Bio::PrimarySeq BSR - Bio::Seq::RichSeq BSC - Bio::Species BAC - Bio::Annotation::Comment BAR - Bio::Annotation::Reference BLS ? Bio::Location::Simple BSG - Bio::SeqFeature::Generic ----------------------------------------------------------------------------------- Table 2. Usage key 1. Bio::Seq::RichSeq $scalar = $self->display_name() or ->display_id() 2. Bio::PrimarySeq $scalar = $self->length() 3. Bio::Seq::RichSeq $scalar = $self->molecule() 4. Bio::PrimarySeq $scalar = $self->is_circular 5. Bio::Seq::RichSeq $scalar = $self->division() 6. Bio::seq::Richseq @array = $self->get_dates 7. Bio::PrimarySeq $scalar = $self->description() 8. Bio::PrimarySeq $scalar = $self->accession_number() Bio::Seq::RichSeq $scalar = $self->accession() 9. Bio::Seq::RichSeq @array = $self->get_secondary_accessions 10. Bio::PrimarySeq $scalar = $self->version() Bio::Seq::RichSeq $scalar = $self->seq_version() 11. Bio::PrimarySeq $scalar = $self->primary_id() 12. Bio::Seq::RichSeq @array = $self->get_keywords 13. Bio::Species $scalar = $self->common_name() 14. Bio::Species $scalar = $self->genus() 15. Bio::Species $scalar = $self->species() 16. Bio::Species @array = $self->classification() 17. Bio::Annotation::Reference $scalar = $self->start() 18. Bio::Annotation::Reference $scalar = $self->end() 19. Bio::Annotation::Reference $scalar = $self->authors() 20. Bio::Annotation::Reference $scalar = $self->title() 21. Bio::Annotation::Reference $scalar = $self->location() 22. Bio::Annotation::Reference $scalar = $self->medline() 23. Bio::Annotation::Reference $scalar = $self->pubmed() 24. Bio::Annotation::Comment $scalar = $self->text() or ->as_text 25. Bio::SeqFeature::Generic $scalar = $self->start() 26. Bio::SeqFeature::Generic $scalar = $self->end() 27. Bio::SeqFeature::Generic Get all features from the features table using a variation on the code below. You will need to vary the primary_tag (e.g. source, gene, CDS) and the get_tag_values (e.g. organism, db_xref, chromosome, note, gene, locus_tag, go_function, map, EC_number, codon_start, protein_id, etc.). If there is more than one primary tag associated with a give value (e.g. more than one gene) then you will have to step through the @source_feats array to find what you want rather than simply shifting the first scalar off the top. my @source_feats = grep { $_->primary_tag eq 'source' } $seq->get_SeqFeatures(); my $source_feat = shift @source_feats; my @mol_type = $source_feat->get_tag_values('mol_type'); 28. Bio::PrimarySeq $scalar = $self->seq() ----------------------------------------------------------------------------------- #!/usr/bin/perl use strict; use warnings; use Bio::SeqIO; use Bio::DB::GenBank; #use Bio::DB::GenPept or Bio::DB::RefSeq if needed #Get some sequence IDs either like below, or read in from a file. Note that #this sample script works with the accession numbers below (at least at the time #it was written). If you add different accession numbers, and you get errors, #you may be calling for something that the sequence doesn't have. You'll have #to add your own error trapping code to handle that. my @ids = ('U59228', 'AB039327', 'BC035972'); #Create the GenBank database object to read from the database. my $gb = new Bio::DB::GenBank(); #Create a sequence stream to pass the sequences from the database to the program. my $seqio = $gb->get_Stream_by_id(\@ids); #Loop over all of the sequences that you requested. while (my $seq = $seqio->next_seq) { #Here is how you get methods directly from the RichSeq object. Replace #'display_name' with any other method in Table 2. that can be called on #either the RichSeq object directly, or the PrimarySeq object which it has #inherited. print $seq->display_name,"\n"; #Here is how to access the classification data from the species object. my $species = $seq->species; print $species->common_name,"\n"; my @class = $species->classification; print "@class\n"; #Here is a general way to call things that are stored as a Bio::SeqFeature:: #Generic object. Replace 'source' with any other of the "major" headings in #the feature table (e.g gene, CDS, etc.) and replace 'organism' with any of #the tag values found under that heading (mol_type, locus_tag, gene, etc.) my @source_feats = grep { $_->primary_tag eq 'source' } $seq->get_SeqFeatures(); my $source_feat = shift @source_feats; my @mol_type = $source_feat->get_tag_values('mol_type'); print "@mol_type\n"; #Here is a general way to call things that are stored as some type of a #Bio::Annotation oject. This includes reference information, and comments. #Replace reference with 'comment' to get the comment, and replace #$ref->authors with $ref->title (or location, medline, etc.) to get other #reference categories my $ann = $seq->annotation(); my @references = ($ann->get_Annotations('reference')); my $ref = shift @references; my ($title, $authors, $location, $pubmed, $reference); if (defined $ref) { $authors = $ref->authors; print "$authors\n"; } print "\n"; } --------------------------------------------------------------------- This file is without copyright. It may be reproduced, edited, and redistributed at will without notice to the author, however I would appreciate it if any corrections or improvements were sent to barry.moore@genetics.utah.edu JAMES IBEN wrote: > Hello. I'm relatively new to programming in perl to begin with, so I > apologize for the foolish question. > I would like to write a program to pull genomic sequences and clip out > a specific intergenic region in species where it exists, but I am > running into difficulty trying to incorporate the bioperl modules into > my script to accomplish this. This coupled with a grasp of only the > the ability to script the most rudimentary programs has left me at a > bit of a loss. > I believe the program should run with this rough outline unless > someone has a more informed opinion: > > -Obtain sequence from online databank > -Search annotations for sequential occurrence of gene X and gene Y (or > gene Y and gene X) > -Print to output file Sequence ID and sequence occurring between > addresses of X and Y > -loop to next sequence > > I would be very grateful if someone could please point me in the > direction of perhaps a similar example script or a lower-level > resource. It seems like it would be a fairly trivial problem. > > Thanks for your time, > James > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l -- Barry Moore Dept. of Human Genetics University of Utah Salt Lake City, UT From brian_osborne at cognia.com Fri May 7 22:15:11 2004 From: brian_osborne at cognia.com (Brian Osborne) Date: Fri May 7 22:19:19 2004 Subject: [Bioperl-l] Starting from scratch, a trivial problem? In-Reply-To: <169af01623d0.1623d0169af0@jhmimail.jhmi.edu> Message-ID: James, The first part can be accomplished by using one of the Bio::DB* modules. This is what it would look like using a RefSeq id: use Bio::DB::RefSeq; my $db = Bio::DB::RefSeq; my $seq_obj = $db->get_Seq_by_acc("NC_001133"); See the module documentation or bptutorial for more on this approach. The second part can be achieved by looking at the coordinates of features. I'm assuming you're working with a whole chromosome Genbank sequence file, like NC_001133. In this sort of file each "gene" is contained within a single feature, and you already know that the coordinates are found in those join() statements. You could find the end and start and use Perl's substr() method or Bioperl's subseq() method to get that intergenic region. See the Feature-Annotation HOWTO for information on handling sequence features. Once you have this sequence you'll want to create a new Sequence object with it. The bptutorial can help you out here as well, I think you'll want to create a basic Sequence object of type Bio::Seq. Once you have this it's easy to write to a file, see the SeqIO HOWTO. I couldn't imagine a more perfect script to illustrate Bioperl than this, it touches on all the fundamentals: retrieving, features and annotations, making new Sequence objects, then SeqIO. Tell us how it goes. Brian O. -----Original Message----- From: bioperl-l-bounces@portal.open-bio.org [mailto:bioperl-l-bounces@portal.open-bio.org]On Behalf Of JAMES IBEN Sent: Friday, May 07, 2004 2:17 PM To: bioperl-l@portal.open-bio.org Cc: npanasik@jhu.edu Subject: [Bioperl-l] Starting from scratch, a trivial problem? Hello. I'm relatively new to programming in perl to begin with, so I apologize for the foolish question. I would like to write a program to pull genomic sequences and clip out a specific intergenic region in species where it exists, but I am running into difficulty trying to incorporate the bioperl modules into my script to accomplish this. This coupled with a grasp of only the the ability to script the most rudimentary programs has left me at a bit of a loss. I believe the program should run with this rough outline unless someone has a more informed opinion: -Obtain sequence from online databank -Search annotations for sequential occurrence of gene X and gene Y (or gene Y and gene X) -Print to output file Sequence ID and sequence occurring between addresses of X and Y -loop to next sequence I would be very grateful if someone could please point me in the direction of perhaps a similar example script or a lower-level resource. It seems like it would be a fairly trivial problem. Thanks for your time, James _______________________________________________ Bioperl-l mailing list Bioperl-l@portal.open-bio.org http://portal.open-bio.org/mailman/listinfo/bioperl-l From chenn at cshl.edu Sun May 9 00:02:05 2004 From: chenn at cshl.edu (Jack Chen) Date: Sun May 9 00:06:02 2004 Subject: [Bioperl-l] Bio/Search/Iteration/GenericIteration.pm In-Reply-To: <409C0E99.2090105@genetics.utah.edu> Message-ID: The current cvs version does not include this module. Why? Jack From mortimer21pacers at hotmail.com Sun May 9 01:04:40 2004 From: mortimer21pacers at hotmail.com (hank) Date: Sun May 9 01:08:45 2004 Subject: [Bioperl-l] This Drug puts VlAGRA to shame!! Message-ID: <1084079080-17885@excite.com> The Biggest New Drug since V1agra! Many times as powerful. C1AL1S has been seen all over TV as of late. So why is it so much better than V1agra? Why are so many switching brands? -A quicker more stable erection -More enjoyable sex for both -Longer sex -Known to add length to you erection -Lasts up to 36 hours (not a thrity-six hour erection, but enhancement for thirty-six) We have it at a discounted savings. Save when you go through our site on all your orders. See the difference today. http://medstown.com/sv/index.php?pid=eph9106 bull pedrodaddy roman sapphire kiss racoon fiona gocougs dexterscorpion fool fozzie softball gofish speedo From delivery at hosyou-r.mine.nu Sun May 9 05:06:16 2004 From: delivery at hosyou-r.mine.nu (=?iso-2022-jp?Q?=1B=24B=22!3t=3C02q=3CR7P=3AQJ88K=1B=28B?=) Date: Sun May 9 05:12:04 2004 Subject: [Bioperl-l] =?iso-2022-jp?b?GyRCRy88fSM2QGlLfDFfS3gkR0lUQi0bKEI=?= =?iso-2022-jp?b?GyRCJE5KfSRLQmc5JUk+ISokZCRDJEghIjdKNSQyc0l8O08kXiRrGyhC?= =?iso-2022-jp?b?GyRCJCskaTx9Rn4kTyM2QGlLfDBKPmUkckxcRSohKkJoIzAjMCM1GyhC?= =?iso-2022-jp?b?GyRCIzAjNDlmGyhCKQ==?= Message-ID: <31582318.1084093576473.JavaMail.postgres@hosyou-r.mine.nu> bioperl-l@bioperl.org$BMM!"(B $B!!(B[$B;~Be$N$a!<$k%^%,%8%s(B]$B99$J$k9b<}F~9bMx1W$X$4>7BT$N%A%c%s%9%K%e!<%9!&Bh#0#0#5#0#49f(B $B!!!!!!$"$J$?MM$b7J5$2sI|$KJX>h!*Cf9q%*%j%s%T%C%/$NFC<{7J5$$K$h$j!"K\3JE*$K7J5$2sI|$,;O$^$j$^$7$?!#(B $B(,(,!c(BPR$B!d(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B http://hosyou003.orgdns.org/qanda11.html $B(.(,!!Gd$l$F$$$^$9!!(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,#52/#9@iK|1_%S%8%M%9(,(,(/(B $B!!!!!!!!(B http://hosyou003.orgdns.org/page1.htm $B!!!!!!!!!!(B $B!|#2!!2/!!1_!"#3!!2/!!1_!!0J>e$N<}F~Z5r$G!!L\E*<}F~$O:G9b!*(B $B(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,!c(BPR$B!d(,(,(,(,(B $B!!!!!!"#"#!!!Z!!#52/#9@iK|1_!!>Z5rM-<}F~%M%C%H%S%8%M%9!&0l?M$G#52/#9@iK|1_<}F~$N;vZ5r$O(B>$BF|K\$N!"4Z9q$N%*%j%s%T%C%/7J5$$N;~!"<~JU$N9q!9$O@_HwEj;q$N287C$rh$7$??M!&4k6H$@$1$,5p3[$N<}F~$H$J$j$^$7$?!&7J5$$KJX>h$7$J$+$C$?8D?M!&4k6H$OK|G/IT(B $B7J5$$NJk$i$7$H$J$j$^$7$?!#F|K\$H4Z9q$N;~$HF1$8$K!"Cf9q$N%*%j%s%T%C%/=*N;$H$H$b$KIT7J5$$X5^9_2<(B $B$9$k$N$OEvA3$N7P:Q%5%$%/%k$G$9!#!!!!!!(B $B$d$C$H7J5$2sI|3+;O"#"#3t2A9bCM$N9b3[<}F~e>:$G$J$/(B $BF|K\$N8D?MEj;q$,30?M$h$jB?$/$J$j$^$7$?!"$3$l$O7J5$2sI|$N8=>]$G$9!#!zK~B-$rDI5a$9$k!z$=$N:`NA$K(B $B#32/1_$"$k$H$h$$!z4JC1!"Aa$/!"C#@.$7$?$$!z$=$N7J5$$K>h$k;~Be$K3p$C$?J}K!$O:_Bp%S%8%M%9$G$b$"$j(B $B$^$9!#(B $B"#"#LdBj$O!"3N$+$J<}F~$NN"IU$1$G$"$k!Z>Z5r$,M-$k$+H]$+![8+$;$k$+8+$;$J$$$+!&$G??56$,3NDj$7$^$9(B $B3NG'$O@.8y$NHk7m$G$9!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!J(B $B5-!'7P:QJ88KC4EvCf@nOBI'!K(B *********************************$B"#"#!|!Z!!!!L\!!e$N!!K~B-!!$rDI5a$9$k!!(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!!!(B [$B#2(B]$B!!!!9-!!!!!!!!!!9p(B 0675 $B!!!!!!!!!!!!!!!!!!!!".$*>.8/$$!"K~B-$9$k$[$IM_$7$$!"J}$O4?7^(B $B"#""(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!!!(B [$B#3(B] $B!!;~Be%a%k%^%,5-;v(B000430$B!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!(B $B!z(B $B2/K|D9Z5rM-!!![(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!!!(B [$B#4(B]$B!!9-!!!!!!!!!!9p(B 0676 $B!!!!!!!!!!(B $B!!".#22/#32/1_0J>e<}F~Z5r8+$;$^$9(B $B"#""(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!!!(B [$B#5(B] $B;~Be%a%k%^%,5-;v(B000431$B!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!(B $B!z(B $BF/$1$I!!LY$+$i$J$$$+$iC&=P(B $B!!(B $B"#""(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,!!!!!!!!!!(B <<<<<<<<<<<<<<<<<<<<<<<<<<<<$B"#"#"#!!!!!z5-;v!!!!".9-9p!!!!"#"#(B<<<<<<<<<<<<<<<<<<<<<<<<<<< $B!!!!"#"#(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(0(%(0(B $B!!!!(B[$B#1(B] $B;~Be$NGH%a%k%^%,5-;v(B000419$B!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!z(B $B$J$h$9$k!&2~3W$9$k!&40A4$K@Z$jBX$($k!&J}!J(BA$B$5$s!K!&!&;~Be(B $B!!!!!!!!!!$NGH$r46$8$J$$!"8+F($9!"J|CV$9$k!&J}!J(BB$B$5$s!K$H!"$N:9$G$"$k$3$H$O$I$s$J;~Be$G$bF1$8$G$9!#(B $B!!!!!!!!!!!D!y!DLY$+$kJ}K!!h$NJ}K!$O!.8/$$!"K~B-$9$k$[$IM_$7$$!"J}$O4?7^!!(B $B!!!!!!!!!|:_Bp$G!"e(B $B!!!!!!!!!!$70B?4@83h!*>\$7$/$O!!(B http://www.stage-one.jp/jc/ennko/$B!!$G$I$&$>!*(B $B!!!!"#"#(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(0(%(0(B $B!!!!(B[$B#3(B] $B;~Be%a%k%^%,5-;v(B000430$B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!z(B $B2/K|D9Z5r$,$"$j$^$9!#4JC1%S%8%M%9$K2~A1$NO"B3$G40@.$7$F$"$j$^$9!#(B $B!!!!!!!!@.?M$J$i$G$-$k!*>Z5r$+$i$G$-$k!*>Z5r$N$"$k$N$+$i;O$^$k$H!"qY$5$l$^$;$s!*C5$;$P$"$j$^$9!*BT$F(B $B!!$P9,1?$J$iIq$$9~$_$^$9!#B3JT$GZ5rZ5r>86!K(B $B!!!!"#"#(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(0(%(0(B $B!!!!(B[$B#4(B]$B!!9-!!!!!!!!!!9p(B 0675 $B".(B $B#22/!"#32/1_0J>e<}F~Z5r8+$;$^$9(B $B!!!!!|4{$K#22/1_#32/1_#52/#9@iK|1_$N<}F~Z5r$r8+$FGZ5r$O8+$;$^$9!&8+$F2<$5$$!&8+$k$^$G$O?.MQ$7$J$$$G2<$5$$!&2?;v$bF1$8$G$9!*(B $B!!!!!!!!!~C1$J$k>Z5r$G$J$/!VJ*E*>Z5r!W$O!":[H=H=7h$N:G=*E*7h$aM-!"G/7nF|M-!"6b3[M-$N?69~=q$r8+$F$+$iH=CG$7$F$/$@$5$$!#(B $B!!!!!!!!!!!!!!!!!!(B $B!~:_Bp$G!"@.?MCK=w$O!"%M%C%H$G!"$O$,$-$G!"#22/#32/L\E*$G!"7s6H$G!"=PMh$^$9!#(B $B!!(B $B>\:Y;qNA!ZL5NA![@A5a4uK>$NJ}$O$3$A$i$+$i!#(B $B!!!!(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(Bhttp://hosyou003.orgdns.org/ $B"#"#(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(0(%(0(B $B!!(B [$B#5(B] $B;~Be%a%k%^%,5-;v(B000431$B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $BF/$1$ILY$+$i$J$$$+$iC&=P(B $B!!!!!!!|@8367?<}F~$,F@$i$l$kLY$+$k%$%s%?!<%M%C%H%S%8%M%9!ZL5NA![$H$O!)"*>\$7$/$O8l$l$^$;$s!#(B $B:G$b8z2LE*$JZ:Q$_%$%s%?!<%M%C%H%S%8%M%9$H$O!)!!!!(B http://www.netlihe-oftice.com/ex/click $B""(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,""!!!!(B $B!Z9-9pEj9F?o;~Jg=8Cf(B $B![9-9p!!(B5$B2s7G:\(B10$BF|7G:\$G(B3000$B1_!!9-9p#1#72s7G:\#4#5F|7G:\$G#4#0#0#01_(B $B!!!!(B $B!!!!!!!!!!!!!!!!!!(B $B9-9p#1#02s7G:\#6#0F|7G:\$G#5#0#0#01_!!L5NAEj9F9-9p!!!!!!!!!!!!(B $B(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B"#LH@U;v9`"#!!Ev%a!<%k%^%,%8%s$K7G:\$7$F$$$k>pJs$K4X$7$FH/9T5$/$@$5$$!#7G:\5-;v$K4X$9$k$*Ld$$9g$o$;$OD>@\Ej9F?M$N%"%I%l%9$G9XFI?=$79~$_$H9-9pEj9F$,$"$j$4LBOG(B $B$r$*$+$1$7$F$$$k>l9g$b$"$j?=$7$o$1$"$j$^$;$s!#(B $B(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!H/9T85!'#S#B#CDL?.(B $B!!!!!!!!(B $B%5%P!<(B $B4IM}pJs8E20(B $B1+(B $B1+$N$AF^$j(B $B?73c(B $B1+(B $BF^$j0l;~1+(B $B6bBt(B $B1+(B $BF^$j0l;~1+(B $BBg:e(B $BF^$j$N$A0l;~1+(B $B1+$N$AF^$j(B $B2,;3(B $BF^$j0l;~1+(B $B1+$N$A@2$l(B $B9-Eg(B $BF^$j$N$A0l;~1+(B $B1+$N$A@2$l(B $B9b>>(B $BF^$j0l;~1+(B $B1+$N$AF^$j(B $BJ!2,(B $B1+$N$AF^$j(B $B@2$l;~!9F^$j(B $B References: Message-ID: Sure it does. http://cvs.open-bio.org/cgi-bin/viewcvs/viewcvs.cgi/bioperl-live/Bio/Search/Iteration/GenericIteration.pm?cvsroot=bioperl There does appear to be problems with long filenames and uncompressing distribution archives with StuffIt on OS X - you should use tar or unzip on the cmdline instead. -jason On Sun, 9 May 2004, Jack Chen wrote: > The current cvs version does not include this module. Why? > > Jack > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From bmb9jrm at bmb.leeds.ac.uk Sun May 9 09:56:04 2004 From: bmb9jrm at bmb.leeds.ac.uk (Jonathan Manning) Date: Sun May 9 09:59:54 2004 Subject: [Bioperl-l] Species in a BLAST hit Message-ID: <1084110905.9225.8.camel@localhost.localdomain> Hi all, Firstly apologies- I am aware this has been discussed in the archives, but couldn't find the resolution, so was wondering if there are any ideas (also any pointers on how to search the archives by keyword would be useful.......!!!). The problem is that the [organism] information seems to be truncated from the description fields in Bio::Search::Hit::BlastHit objects, and I'd like to be able to get the information. I've parsed the relevant part of the 'name' string, but some of these are fairly non-sensical (e.g. URSMA)- although if anyone has a list of what they mean that would solve my problem as well. I'm aware that I could extract the information by retrieving the relevant GenBank file, but this would slow things down significantly. Thanks in advance, Jon From jason at cgt.duhs.duke.edu Sun May 9 10:27:39 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Sun May 9 10:31:39 2004 Subject: [Bioperl-l] Species in a BLAST hit In-Reply-To: <1084110905.9225.8.camel@localhost.localdomain> References: <1084110905.9225.8.camel@localhost.localdomain> Message-ID: Well it's truncated in the BLAST report presumably - Hit->description only reports what is in the file so you'll have to get that information. The simplest is if you have the db which is being blasted you can just use Bio::Index::Fasta, Bio::DB::Fasta, or Bio::DB::Flat to retrieve that sequence and get the full description back out from there ($seq->description). This will be quite fast if you use any of the indexing systems. Another way to do it, which may be overkill for your needs but is still useful esp if you want to start filtering by different taxonomic groupings. If you have a gi number you can lookup the taxa id for it using the gi_taxid_nucl.dmp.gz in ftp://ftp.ncbi.nih.gov/pub/taxonomy The use Bio::DB::Taxonomy - eiter use the Bio::DB::Taxonomy::flatfile to index it locally or if you just want species name you can do the lookup via Entrez with Bio::DB::Taxonomy::entrez === We don't keyword our mails so I don't know that keyword searches work. Many people have found this to work: google.com site:bioperl.org +pipermail "query" We're discussing maybe having the mailing lists available through a news server so you can download and index it all locally although there are quite a few messages there I don't know that is what people want to do either... Still waiting for that donated google appliance to OBF =) -jason On Sun, 9 May 2004, Jonathan Manning wrote: > Hi all, > > Firstly apologies- I am aware this has been discussed in the archives, > but couldn't find the resolution, so was wondering if there are any > ideas (also any pointers on how to search the archives by keyword would > be useful.......!!!). > > The problem is that the [organism] information seems to be truncated > from the description fields in Bio::Search::Hit::BlastHit objects, and > I'd like to be able to get the information. I've parsed the relevant > part of the 'name' string, but some of these are fairly non-sensical > (e.g. URSMA)- although if anyone has a list of what they mean that would > solve my problem as well. > > I'm aware that I could extract the information by retrieving the > relevant GenBank file, but this would slow things down significantly. > > Thanks in advance, > > Jon > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From bioboy at uga.edu Mon May 10 03:05:52 2004 From: bioboy at uga.edu (Xian) Date: Mon May 10 07:58:16 2004 Subject: [Bioperl-l] optimal integration of primer3 into biopython and others using swig and biomoby In-Reply-To: <70D7B115-A117-11D8-A663-000A956845CE@stanfordalumni.org> References: <409CB249.2090900@uga.edu> <70D7B115-A117-11D8-A663-000A956845CE@stanfordalumni.org> Message-ID: <409F29D0.7010708@uga.edu> optimal integration of primer3 into biopython and others using swig and biomoby Abstract: Primer3 is the de facto open source C program for automated PCR primer selection; it is used by emboss and biopython, among others. There is no active development [last release 0.9 9/98]. I have used primer3 and python to study Arabidopsis genome function. I aim to integrate primer3 into biopython. Specifically, my goal is to develop primer3 into a set of C modules or libraries to provide: a) standardized access via python, perl, etc b) impetus to further primer3 development. I propose here an optimal development path that maximizes target audience while minimizing code rewriting. Discussion: TTBOMK, Biopython and bioperl each have a primer3 i/o parser. These multiple, unstandardized dependencies may hinder future primer3 development [such as the addition of R. Griffais's K-tuple frequency method, Nucl. Acids. Res. 1991 19: 3887-3891 ]. My aim is to develop primer3 into a maintainable and easily extendable set of C modules or libraries that are natively accessible by perl and python. Swig is a "C compiler" that provide this functionality; e.g. primer3's Tm analysis module [oligotm.h and oligotm.c] can be compiled and imported as a python module whose methods are native C functions. Once this is done adding new language support is trivial. Well-defined, standard i/o structures for these libraries will facilitate their use by the bioinformatics community from within perl or python, and should be considered in development. Biomoby is an XML-based data ontology which represents data as heirarchical objects in the ontology, e.g. the hypothetical object "PrimerPair" contains two instances of "DNASequence" along with any other data such as Tm, self-hybridization, etc. Designing a biomoby object for primer3 data i/o has the additional benefit of easing information-sharing with existing databases and other biomoby-aware services. Please reply if you are interested in using, testing, designing, or developing this project. Likewise, feel free to forward this to such people. If there is sufficient interest, I will spawn a mailing group or possibly a sourceforge project. Thanks for your time, xian References/Links: Primer3[down at time of writing]: http://www-genome.wi.mit.edu/genome_software/other/primer3.html Emboss's eprimer3 [primer3 wrapper]: http://www.rfcgr.mrc.ac.uk/Software/EMBOSS/Apps/eprimer3.html SWIG, Simplified Wrapper and Interface Generator: http://www.swig.org/ biomoby: http://www.biomoby.org/overview.html biomoby, bioperl, and much more: http://open-bio.org/ From lawcson_33 at hotmail.com Mon May 10 07:27:37 2004 From: lawcson_33 at hotmail.com (larry) Date: Mon May 10 14:23:02 2004 Subject: [Bioperl-l] Super hot CAS1N0 B0nus 0ffers! carlos mikael' Message-ID: <1084188457-19031@excite.com> PREMI!ERE ONLIN'E CAS|INO! 50% BONU!S for YOUR FIRST DEPO:SIT as a New Player. SI:GN UP now! Don't wait! http://www.casinoesunleashed.com/_e4faa55afa1972493c43ac8a3f66f869/ Once you're a Mem!ber, there are near WEEK'LY 2-T}O-1, and 3-T'O-1 depo:sit offers! Imagine, put in $25, GET $50 CRE{DIT BE{FORE YOU PL!ACE YO}UR FI!RST BET!! CLIC|K HER'E! http://www.casinoesunleashed.com/_e4faa55afa1972493c43ac8a3f66f869/ garnet charlie1 tarzan buttons bernie hello1 gambit marvin genius beanie corwin mailer dragonfl cyrano scooter1 rugby planet wanker zenith strawber medical meow dundee toronto sapphire strawber From skirov at utk.edu Mon May 10 14:59:20 2004 From: skirov at utk.edu (Stefan Kirov) Date: Mon May 10 15:03:16 2004 Subject: [Bioperl-l] New package: Bio::Constants/Bio::Root::Constants? Message-ID: <409FD108.1010003@utk.edu> Hi guys! I thought it might be useful if we had a module with common constants that are used across all other packages. Something a bit like Bio::Root::Version, but expanded. For example: $Bio::Root::Constants::Gap_character='-'; This means that any parser should convert the format specific gap character to $Bio::Root::Constants::Gap_character, therefore any other module/script will know to expect only Bio::Root::Constants::Gap_character. This can go further with versions and subformats. For example: @Bio::Root::Constants::ParsableMemeVer=qw(3.0.3 3.0.4); @Bio::Root::Constants::ParsableMemeSF=qw(text); So we'll know that only MEME reports in text format, generated by MEME 3.0.3/3.0.4 can be pasred. This could help especially with packages that are not maintained any more I guess... One can even do something like: throw unless ($constant->can_parse('meme','3.0.5')); At some moment we could even pass params to parsers, so they could possibly adapt ot a new format version... This is just an idea. There are a lot of people who will know to what extent this is going to be useful and I would love to hear from them. Stefan From dag at sonsorol.org Mon May 10 20:25:26 2004 From: dag at sonsorol.org (Chris Dagdigian) Date: Mon May 10 20:32:39 2004 Subject: [Bioperl-l] {off topic} Apple is giving away 5 workgroup sized clusters in a program for bioinformatics researchers Message-ID: <40A01D76.3010502@sonsorol.org> Hi folks, Apologies for the semi off topic posting but I think it may be appropriate because I know lots of people doing really clever informatics stuff tend to be on the open-bio.org mailing lists. I want to make sure many of the small group, individuals and DIY types hear about this as they can probably benefit the most from a influx of hardware. In short, Apple just announced a program to give away 5 fully provisioned mini-clusters (4 Xserve G5 nodes) in a judged process specifically aimed at bioinformatics types. Awards are announced on 29 June 2004. The URL is here: http://www.apple.com/science/clusteraward/ Regards, Chris From dag at sonsorol.org Tue May 11 10:01:20 2004 From: dag at sonsorol.org (Chris Dagdigian) Date: Tue May 11 10:05:22 2004 Subject: [Bioperl-l] testing a new Open-Bio website and mail list archive search Message-ID: <40A0DCB0.1050207@sonsorol.org> Hello Everyone, A fantastic volunteer (Kyle Jensen) has been steathily working on a problem for us that has long been a major issue for us -- website searching and indexing. We've tried various solutions and ht://dig implementations in the past and nothing really worked well. Kyle has been setting up a search indexing system based on the code from www.swish-e.org and so far it looks very very promising. We have 2 main indexed search sites: This page is a search index for all of the open-bio hosted websites: http://search.open-bio.org/cgi-bin/obf-search.cgi This page is just for searching mailing list archives: http://search.open-bio.org/cgi-bin/mail-search.cgi Please give the pages a whirl and let me know what you think. Thanks again Kyle! -Chris open-bio.org admin team From delivery at hosyou-b.mine.nu Tue May 11 09:53:03 2004 From: delivery at hosyou-b.mine.nu (=?iso-2022-jp?Q?=1B=24B3t=3C02q=3CR7P=3AQJ88K=1B=28B?=) Date: Tue May 11 11:00:47 2004 Subject: [Bioperl-l] =?iso-2022-jp?b?GyRCIiMjNkBpS3wxX0t4JEchIkcvPH0bKEI=?= =?iso-2022-jp?b?GyRCSVRCLSROSn0kSzQ/N14iIyMyQGlLfDFfIzEyLzFfIzQyLzFfGyhC?= =?iso-2022-jp?b?GyRCPlo1ck0tPH1GfiROSn1LISIjMj84TiRLTFkkKyRrJHJDTiRrGyhC?= =?iso-2022-jp?b?GyRCSn1LISIjGyhCMDA1MTAbJEI5ZhsoQg==?= Message-ID: <23721342.1084283583127.JavaMail.nobody@hosyou-b.mine.nu> bioperl-l@bioperl.org$BMM(B $B!!!!!!(B[$B;~Be$N$a!<$k%^%,%8%s(B]$B99$J$k9b<}F~9bMx1W$X$4>7BT$N%A%c%s%9%K%e!<%9!�#0#5#1#09f(B $B!!!!!!$"$J$?MM$b7J5$2sI|$KJX>h!*Cf9q%*%j%s%T%C%/$NFC<{7J5$$K$h$j!"K\3JE*$K7J5$2sI|$,;O$^$j$^$7$?!#(B $B(,(,!c(BPR$B!d(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!(B http://hosyou003.orgdns.org/zaitakubuisiness10.htm$B!!!!(B $B(.(,!!Gd$l$F$$$^$9!!(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,#52/#9@iK|1_%S%8%M%9(,(,(/!!!!!!!!(B http://hosyou003.orgdns.org/qanda11.html $B!!!!!!!!!!(B $B!|#2!!2/!!1_!"#3!!2/!!1_!!0J>e$N<}F~Z5r$G!!L\E*<}F~$O:G9b!*(B $B(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,!c(BPR$B!d(,(,(,(,(B $B!!!!!!"#"#!!!Z!!#52/#9@iK|1_!!>Z5rM-<}F~%M%C%H%S%8%M%9!&0l?M$G#52/#9@iK|1_<}F~$N;vZ5r$O(B>$BF|K\$N!"4Z9q$N%*%j%s%T%C%/7J5$$N;~!"<~JU$N9q!9$O@_HwEj;q$N287C$rh$7$??M!&4k6H$@$1$,5p3[$N<}F~$H$J$j$^$7$?!&7J5$$KJX>h$7$J$+$C$?8D?M!&4k6H$OK|G/IT(B $B7J5$$NJk$i$7$H$J$j$^$7$?!#F|K\$H4Z9q$N;~$HF1$8$K!"Cf9q$N%*%j%s%T%C%/=*N;$H$H$b$KIT7J5$$X5^9_2<(B $B$9$k$N$OEvA3$N7P:Q%5%$%/%k$G$9!#!!!!!!(B $B$d$C$H7J5$2sI|3+;O"#"#3t2A9bCM$N9b3[<}F~e>:$G$J$/(B $BF|K\$N8D?MEj;q$,30?M$h$jB?$/$J$j$^$7$?!"$3$l$O7J5$2sI|$N8=>]$G$9!#!zK~B-$rDI5a$9$k!z$=$N:`NA$K(B $B#32/1_$"$k$H$h$$!z4JC1!"Aa$/!"C#@.$7$?$$!z$=$N7J5$$K>h$k;~Be$K3p$C$?J}K!$O:_Bp%S%8%M%9$G$b$"$j(B $B$^$9!#(B $B"#"#LdBj$O!"3N$+$J<}F~$NN"IU$1$G$"$k!Z>Z5r$,M-$k$+H]$+![8+$;$k$+8+$;$J$$$+!&$G??56$,3NDj$7$^$9(B $B3NG'$O@.8y$NHk7m$G$9!#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!J(B $B5-!'7P:QJ88KC4EvCf@nOBI'!K(B *********************************$B"#"#!|!Z!!!!L\!!e$N!!K~B-!!$rDI5a$9$k!!(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!!!(B [$B#2(B]$B!!!!9-!!!!!!!!!!9p(B 0675 $B!!!!!!!!!!!!!!!!!!!!".$*>.8/$$!"K~B-$9$k$[$IM_$7$$!"J}$O4?7^(B $B"#""(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!!!(B [$B#3(B] $B!!;~Be%a%k%^%,5-;v(B000430$B!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!(B $B!z(B $B2/K|D9Z5rM-!!![(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!!!(B [$B#4(B]$B!!9-!!!!!!!!!!9p(B 0676 $B!!!!!!!!!!(B $B!!".#22/#32/1_0J>e<}F~Z5r8+$;$^$9(B $B"#""(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!!!(B [$B#5(B] $B;~Be%a%k%^%,5-;v(B000431$B!!!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!(B $B!z(B $BF/$1$I!!LY$+$i$J$$$+$iC&=P(B $B!!(B $B"#""(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,!!!!!!!!!!(B <<<<<<<<<<<<<<<<<<<<<<<<<<<<$B"#"#"#!!!!!z5-;v!!!!".9-9p!!!!"#"#(B<<<<<<<<<<<<<<<<<<<<<<<<<<< $B!!!!"#"#(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(0(%(0(B $B!!!!(B[$B#1(B] $B;~Be$NGH%a%k%^%,5-;v(B000419$B!!!!!!!!!!!!!!!!(B $B!!!!!!!!!!!!!!!z(B $B$J$h$9$k!&2~3W$9$k!&40A4$K@Z$jBX$($k!&J}!J(BA$B$5$s!K!&!&;~Be(B $B!!!!!!!!!!$NGH$r46$8$J$$!"8+F($9!"J|CV$9$k!&J}!J(BB$B$5$s!K$H!"$N:9$G$"$k$3$H$O$I$s$J;~Be$G$bF1$8$G$9!#(B $B!!!!!!!!!!!D!y!DLY$+$kJ}K!!h$NJ}K!$O!.8/$$!"K~B-$9$k$[$IM_$7$$!"J}$O4?7^!!(B $B!!!!!!!!!|:_Bp$G!"e(B $B!!!!!!!!!!$70B?4@83h!*>\$7$/$O!!(B http://www.stage-one.jp/jc/ennko/$B!!$G$I$&$>!*(B $B!!!!"#"#(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(0(%(0(B $B!!!!(B[$B#3(B] $B;~Be%a%k%^%,5-;v(B000430$B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!z(B $B2/K|D9Z5r$,$"$j$^$9!#4JC1%S%8%M%9$K2~A1$NO"B3$G40@.$7$F$"$j$^$9!#(B $B!!!!!!!!@.?M$J$i$G$-$k!*>Z5r$+$i$G$-$k!*>Z5r$N$"$k$N$+$i;O$^$k$H!"qY$5$l$^$;$s!*C5$;$P$"$j$^$9!*BT$F(B $B!!$P9,1?$J$iIq$$9~$_$^$9!#B3JT$GZ5rZ5r>86!K(B $B!!!!"#"#(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(0(%(0(B $B!!!!(B[$B#4(B]$B!!9-!!!!!!!!!!9p(B 0675 $B".(B $B#22/!"#32/1_0J>e<}F~Z5r8+$;$^$9(B $B!!!!!|4{$K#22/1_#32/1_#52/#9@iK|1_$N<}F~Z5r$r8+$FGZ5r$O8+$;$^$9!&8+$F2<$5$$!&8+$k$^$G$O?.MQ$7$J$$$G2<$5$$!&2?;v$bF1$8$G$9!*(B $B!!!!!!!!!~C1$J$k>Z5r$G$J$/!VJ*E*>Z5r!W$O!":[H=H=7h$N:G=*E*7h$aM-!"G/7nF|M-!"6b3[M-$N?69~=q$r8+$F$+$iH=CG$7$F$/$@$5$$!#(B $B!!!!!!!!!!!!!!!!!!(B $B!~:_Bp$G!"@.?MCK=w$O!"%M%C%H$G!"$O$,$-$G!"#22/#32/L\E*$G!"7s6H$G!"=PMh$^$9!#(B $B!!(B $B>\:Y;qNA!ZL5NA![@A5a4uK>$NJ}$O$3$A$i$+$i!#(B http://hosyou003.orgdns.org/page3.htm $B!!!!(B $B"#"#(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(0(%(0(B $B!!(B [$B#5(B] $B;~Be%a%k%^%,5-;v(B000431$B!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $BF/$1$ILY$+$i$J$$$+$iC&=P(B $B!!!!!!!|@8367?<}F~$,F@$i$l$kLY$+$k%$%s%?!<%M%C%H%S%8%M%9!ZL5NA![$H$O!)"*>\$7$/$O8l$l$^$;$s!#(B $B:G$b8z2LE*$JZ:Q$_%$%s%?!<%M%C%H%S%8%M%9$H$O!)!!!!(B http://www.netlihe-oftice.com/ex/click $B""(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,""!!!!(B $B!y!z!y!z!y(B $B>pJs%9%F!<%7%g%s!*$*F@$J>pJsK~:\!*$*$7$i$;!*!y!z!y!z!y!z!yWDWDWD(B $B!!!!!!!!!!!!!!!!!!!!Ds7H%-%c%s%Z!<%s$,%Q%o!<%"%C%W$7$^$7$?!#(B $B!!!!!!!!!!!!!!!!!!!!%/%j%C%/?t!a$"$J$?$N#H#P$re$KG[?.(B $B!!!!!!(B $B!!0MMj$,$"$C$?9-9p$r#7F|DxEY$GG[?.$7$^$9!#C;4|7h@oJ}$NJ}$KJXMx!*(B $B!!!!!!(B $B!!0lHV$N?M5$$O!"J#?t$N9-9p$,0MMj$G$-$k;v!*(B $B!!!!!!(B $B!!;0$D$N9-9pJ8$,$"$l$P!"#5#0;o$:$D$GG[?.!*%S%8%M%9$,0c$C$F$b#O#K!*(B $B!!!!!!(B $B!!$H$F$b7P:QE*$J!"9-9p%5%$%H$G$9!#(B $B!!!!!!(B $B!!!!(Bhttp://www.movezet.com/up/cgi/in.cgi?id=28 $B!!!!!!!!!!(B $B2?$O$J$/$F$b@i5RK|MhMM!9$JFCE5$rpJsK~:\!*0l3gL5NAEj9F"-!!!y!z!y!z!y!z!y!z(B $B!!!!!!!!!!!!!!!!!!!!!!!!!!40A4L5NA$GI{<}F~!*%[!<%`%Z!<%8$r%W%l%<%s%HCf!*(B $B!!(Bhttp://www.southernclub.net/members/shimasyou.html $B!!40A4L5NA$GEPO?Js=7$r0l5$$K3MF@=PMh$^$9!#@kEA5;=Q$N$"$kJ}$J$i$+$J$j$N(B $B!!<}F~$,F@$i$l$^$9!#%N!<%j%9%/$G;22C=PMh$^$9$N$GB;$O$7$J$$$H;W$$$^$9!#(B $B!!K\Ev$K9b<}F~!*L5NA%S%8%M%9;22CpJs$rD>$K#G#E#T!*(B $B$9$0$K!"$"$J$?$NM_$7$,$k!*$"$N$N5.J}!*I,8+$G$9%g!*!*!W(B http://ims326.fc2web.com/ $BDc%j%9%/$G5$7Z$K%S%8%M%93+;O#O#K!*5.J}$N7hCG/$J$$!K$H8@$&$3$H$O!&!&!&(B $B!!!!!!!!!!!!!!!!!!!!1JB3E*$J<}F~$,8+9~$a$k!*$=$s$J%S%8%M%9$rL\;X$7$^$9!*(B $BFH@j9-9p96N,$N$?$a$NR2p>u(B http://omosiro.com/~original1971/ $BAGE($J=P2q$$!#!#!!1?L?$N=P2q$$!#!#!!(B $B$A$$$5$JEg$G0l=o$K$5$,$7$^$;$s$+!)(B $B!!%M%C%H%o!<%+!<$X(B $B!!(Bhttp://www.mlmsupport.jp/no1ryo/ $B!!:#!"AH?%?^$/$j$KG:$^$l$F$kJ}$X!*(B $B!!F|K\(BMLM$BAm9g8&5f=j$,!"$"$J$?$N%S%8%M%9$r%5%]!<%H$7$^$9!z(B $B7r9/$H<}F~%"%C%W$K!*!*(B http://www5e.biglobe.ne.jp/~kumara/au1/index.htm $B$"$J$?$K7r9/$H<}F~$r!*!*!!(B $B%d%s%-!<%9$NA*EPO?$G$3$N%S%8%M%9$N$9$P$i$7$5$rBN46$7$F2<$5$$!#(B $B%*!<%@!<%9!<%D(B Pitty Savile Row http://www18.big.or.jp/~pitty/ $B%*!<%@!<%9!<%D@lLgE9!#(B $B#1#9#3#0G/AO6H$N9b5i?B;NI~E9%5%]!<%H%5%$%H!#!o#2#7#8#0#0!A(B $B:G6/$N%I%j!<%`!&%a!<%k!*(B http://plaza.rakuten.co.jp/chicyan10151003/ $B3$30HG%j!<%I!&%a!<%k$N:G6/HG$G$9!*K\Ev$K@($$$N0l8@$G$9!*!*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(B $BB>$K$O@dBP$K$"$j$^$;$s$h!*(B Four Pillars http://fpillars99.fc2web.com/ $B;M$D$NCl!J%S%8%M%9!&:_Bp!"%;%-%e%j%F%#!"%=%U%H!"Ey$J$I!K$+$i!"(B $B>pJs$NDs6!!"HNGd$^$?<+:n%=%U%H$N>R2p!"HNGd$9$k%5%$%H$G$9!#(B $B=85R$N%U%'%m%b%s!*!)(B $BBg9%I>!*9TNs$r:n$C$A$c$&%U%'%m%b%s=85RK!!*(B $B$b$&=85R$GG:$_$?$/$J$$J}$O%/%j%C%/!*!*(B http://1lejend.com/stepmail/kd.php?no=282 $B$&$=$G$O$"$j$^$;$s!#8e$O!!;d$?$A$,!!$7$C$+$j%5%]!<%H$7$^$9!#(B $B"#"#"#"#!X7HBS$+$1J|Bj!!%S%8%M%9%Q!<%H%J!Jg=8$7$^$9!*%A%c%s%9$rDO$`$N$O:#!*!*(B NEW!$BF|J'$$;~5k#3K|1_$N;E;v!*40A4$JFH<+pJs$K4X$7$FH/9T5$/$@$5$$!#7G:\5-;v$K4X$9$k$*Ld$$9g$o$;$OD>@\Ej9F?M$N%"%I%l%9$G9XFI?=$79~$_$H9-9pEj9F$,$"$j$4LBOG(B $B$r$*$+$1$7$F$$$k>l9g$b$"$j?=$7$o$1$"$j$^$;$s!#(B $B(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(,(B $B!!H/9T85!'#S#B#CDL?.(B $B!!!!!!!!(B $B%5%P!<(B $B4IM}pJs8E20(B $B@2$l(B $B@2$l(B $B?73c(B $BF^$j$N$A;~!9@2$l(B $B@2$l(B $B6bBt(B $BF^$j;~!9@2$l(B $B@2$l(B $BBg:e(B $B@2$l(B $B@2$l(B $B2,;3(B $B@2$l(B $B@2$l(B $B9-Eg(B $B@2$l(B $B@2$l(B $B9b>>(B $B@2$l(B $B@2$l(B $BJ!2,(B $B@2$l(B $B@2$l$N$A;~!9F^$j(B $B Hello BioPerlers. I am working on a smallish set of peptides and would like to bulk download all the SMART domain pngs from the SMART website. Is there anything in BioPerl for this? Or does anyone know how I could capture the PNG files generated on sequences containing SMART domains from SMART's website. Here is an LWP script I tried using: #!/usr/local/bin/perl use strict; use lib '/usr/ngasi/contexts/jakeysnakey/jakeysnakey/NewPerlLib/lib/perl5/site_perl'; use LWP::UserAgent; use HTTP::Headers; use URI::URL; use HTTP::Request; my $hders = HTTP::Headers->new(Accept => 'image/png'); my $url = qq(http://smart.embl-heidelberg.de/smart/DD2.cgi?smart=428:DEXDc(64|265)+HELICc(301|382)+"%20border=0%20usemap="#map00"%20ALT="Bubblogram"); my $url_ob = URI::URL->new($url); my $req = HTTP::Request->new('POST',$url_ob,$hders); my $ua = LWP::UserAgent->new(); my $resp = $ua->request($req); if($resp->is_success){ print $resp->content(); }else{ print $resp->message(); } I have tried using this LWP script which works in the fact that it does collect the png binary data but it will not open as a png file. If I compare the file I have collected with my script, than with one I have attained by right clicking in windows explorer and saved to my desktop, there are some differences. I have no idea why they would be different. If there are anyone who has any ideas on this, I would be grateful. thanks. John. From luisa.pugliese at safan-bioinformatics.it Tue May 11 11:04:06 2004 From: luisa.pugliese at safan-bioinformatics.it (luisa pugliese) Date: Tue May 11 12:27:05 2004 Subject: [Bioperl-l] remove gapped colums Message-ID: <001a01c43769$349d6300$f3ee669e@chagall> Hi, I am new at bioperl and I am working on alignments. I am splitting a multiple alignment into several pairwise alignments and I would like to remove the columns in which there are gaps in all the sequences. Does anybody knows if a method exists doing this or a method finding the columns in which there are gaps in all the sequences similar gap_line that find the gaps present in any columns? Thank you Luisa Pugliese ============================= Luisa Pugliese, Ph.D. luisa.pugliese@safan-bioinformatics.it S.A.F.AN. BIOINFORMATICS Corso Tazzoli 215/13 -10137 Torino tel +39 011 3026230 cell. +39 333 6130644 From hrb46 at columbia.edu Tue May 11 13:27:56 2004 From: hrb46 at columbia.edu (Henry R Bigelow) Date: Tue May 11 13:31:50 2004 Subject: [Bioperl-l] bioperl-db performance: load_seqdatabase.pl throughput speed Message-ID: Hi, my name is Henry Bigelow and I recently installed bioperl-1.4, bioperl-db, dbi and dbd-mysql, mysql-4.0 (with InnoDB enabled), biosql-schema, and instantiated biosqldb-mysql.sql. i've successfully loaded some sequences of release43.dat, the swissprot flat file, but the throughput is roughly 1 sequence every 5 to 10 seconds, on a (admittedly slow) 400 Mhz 2 CPU Pentium III with 256 Mb memory. I ran the command: perl load_seqdatabase.pl --host localhost --dbname bioseqdb --namespace swissprot --dbuser bigelow --dbpass XXX --driver mysql --format swiss /data/swissprot/release43.dat I also ran it (on a set of 15 swissprot entries) with a profiler: perl -d:DProf load_seqdatabase.pl ... then with dprofpp -u i got this: %Time ExclSec CumulS #Calls sec/call Csec/c Name 9.62 0.800 0.985 15282 0.0001 0.0001 Bio::DB::Persistent::PersistentObject::isa 9.54 0.793 1.403 11909 0.0001 0.0001 Bio::DB::Persistent::PersistentObject::AUTOLOAD 9.25 0.769 3.152 8888 0.0001 0.0004 Bio::DB::BioSQL::BasePersistenceAdaptor::_create_persistent 4.69 0.390 2.922 7733 0.0001 0.0004 Bio::DB::BioSQL::BasePersistentAdaptor::_process_child 4.59 0.382 0.382 26865 0.0000 0.0000 Bio::DB::Persistent::PersistentObject::obj 3.84 0.319 0.319 32822 0.0000 0.0000 UNIVERSAL::isa 3.69 0.307 0.372 86 0.0036 0.0043 Bio::DB::BioSQL::ReferenceAdaptor::_crc64 3.28 0.273 1.195 258 0.0011 0.0046 Bio::Root::Root::_load_module 2.80 0.233 3.545 5465 0.0000 0.0006 Bio::DB::BioSQL::BasePersistenceAdaptor::create_persistent 2.74 0.228 0.228 291 0.0008 0.0008 Bio::Root::RootI::stack_trace 1.92 0.160 0.160 1794 0.0001 0.0001 DBI::st::execute 1.84 0.153 0.534 1608 0.0001 0.0003 Bio::DB::Persistent::PersistentObject::new 1.80 0.150 0.150 7215 0.0000 0.0000 Bio::DB::Persistent::PersistentObject::primary_key 1.74 0.145 0.185 2640 0.0001 0.0001 Bio::Root::Root::new 1.71 0.142 1.078 474 0.0003 0.0023 Bio::DB::BioSQL::BaseDriver::insert_object i do realize that these perl objects are large, but it still seems quite slow. (i'm not even sure whether the profiler demonstrates that the majority of time is spent instantiating perl objects as opposed to running mysql commands.) all bioperl-db, bioperl, dbi and dbd-mysql tests came out ok (the vast majority of them anyway). incidentally, it took me a week of getting errors during load_seqdatabase.pl loading, before i discovered the true cause: that a perl executable with threading enabled does NOT work with this. (The author of dbd-mysql or dbi warns about this, but i didn't heed the warning at first). if anyone has any ideas about what might be making it slow, please let me know! i'd greatly appreciate it. Sincerely, Henry Bigelow From shawnh at stanford.edu Tue May 11 13:55:07 2004 From: shawnh at stanford.edu (Shawn Hoon) Date: Tue May 11 13:59:03 2004 Subject: [Bioperl-l] remove gapped colums In-Reply-To: <001a01c43769$349d6300$f3ee669e@chagall> References: <001a01c43769$349d6300$f3ee669e@chagall> Message-ID: <56B25C3E-A374-11D8-BAE1-000A95783436@stanford.edu> There are 2 methods that returns alignments with gaps or alignments removed. Try it and see this works for you. remove_columns Title : remove_column Usage : $aln2 = $aln->remove_columns(['mismatch','weak']) Function : Creates an aligment with columns removed corresponding to the specified criteria. Returns : a L object Args : array ref of types, 'match'|'weak'|'strong'|'mismatch'|'gaps' remove_gaps Title : remove_gaps Usage : $aln2 = $aln->remove_gaps('-') Function : Creates an aligment with gaps removed Returns : a L object Args : a gap character(optional) if no specified, taken from $self->gap_char cheers, shawn On May 11, 2004, at 8:04 AM, luisa pugliese wrote: > Hi, > I am new at bioperl and I am working on alignments. I am splitting > a multiple alignment into several pairwise alignments and I would like > to remove the columns in which there are gaps in all the sequences. > Does anybody knows if a method exists doing this or a method finding > the columns in which there are gaps in all the sequences similar > gap_line that find the gaps present in any columns? > Thank you > Luisa Pugliese > ============================= > Luisa Pugliese, Ph.D. > luisa.pugliese@safan-bioinformatics.it > S.A.F.AN. BIOINFORMATICS > Corso Tazzoli 215/13 -10137 Torino > tel +39 011 3026230 > cell. +39 333 6130644 > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l From shawnh at stanford.edu Tue May 11 14:20:08 2004 From: shawnh at stanford.edu (Shawn Hoon) Date: Tue May 11 14:24:02 2004 Subject: [Bioperl-l] remove gapped colums In-Reply-To: <001a01c43769$349d6300$f3ee669e@chagall> References: <001a01c43769$349d6300$f3ee669e@chagall> Message-ID: Sorry after re-reading my last mail it didn't seem very clear. You can do this: use Bio::AlignIO; my $aio = Bio::AlignIO->new(-file=>"myalign.txt",-format=>'clustalw'); my $aln = $aio->next_aln; my $new_aln = $aln->remove_gaps; my $aout = Bio::AlignIO->new(-fh=>\*STDOUT,-format=>'clustalw'); $aout->write_aln($new_aln); On May 11, 2004, at 8:04 AM, luisa pugliese wrote: > Hi, > I am new at bioperl and I am working on alignments. I am splitting > a multiple alignment into several pairwise alignments and I would like > to remove the columns in which there are gaps in all the sequences. > Does anybody knows if a method exists doing this or a method finding > the columns in which there are gaps in all the sequences similar > gap_line that find the gaps present in any columns? > Thank you > Luisa Pugliese > ============================= > Luisa Pugliese, Ph.D. > luisa.pugliese@safan-bioinformatics.it > S.A.F.AN. BIOINFORMATICS > Corso Tazzoli 215/13 -10137 Torino > tel +39 011 3026230 > cell. +39 333 6130644 > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l From james.wasmuth at ed.ac.uk Tue May 11 14:28:46 2004 From: james.wasmuth at ed.ac.uk (James Wasmuth) Date: Tue May 11 14:36:53 2004 Subject: [Bioperl-l] remove gapped colums In-Reply-To: <40A11A61.2060809@ed.ac.uk> References: <001a01c43769$349d6300$f3ee669e@chagall> <40A11A61.2060809@ed.ac.uk> Message-ID: <40A11B5E.9060208@ed.ac.uk> Hi Luisa, try $aln_nogaps = $aln->remove_columns(['gaps']) -james -- "There are some days when I think I'm going to die from an overdose of satisfaction." --- Salvador Dali Nematode Bioinformatics | Blaxter Nematode Genomics Group | School of Biological Sciences | Ashworth Laboratories | tel: +44 131 650 7403 University of Edinburgh | web: www.nematodes.org Edinburgh | EH9 3JT | UK | luisa pugliese wrote: >Hi, > I am new at bioperl and I am working on alignments. I am splitting a multiple alignment into several pairwise alignments and I would like to remove the columns in which there are gaps in all the sequences. Does anybody knows if a method exists doing this or a method finding the columns in which there are gaps in all the sequences similar gap_line that find the gaps present in any columns? >Thank you >Luisa Pugliese >============================= >Luisa Pugliese, Ph.D. >luisa.pugliese@safan-bioinformatics.it >S.A.F.AN. BIOINFORMATICS >Corso Tazzoli 215/13 -10137 Torino >tel +39 011 3026230 >cell. +39 333 6130644 > > > > >_______________________________________________ >Bioperl-l mailing list >Bioperl-l@portal.open-bio.org >http://portal.open-bio.org/mailman/listinfo/bioperl-l > From smathias at unm.edu Tue May 11 15:33:24 2004 From: smathias at unm.edu (Stephen L. Mathias) Date: Tue May 11 15:37:20 2004 Subject: [Bioperl-l] SMART domain sequence images In-Reply-To: References: Message-ID: <1084304004.23370.13.camel@poblano.health.unm.edu> John, I would try writing your output to a filehandle which is explicitly set to binary mode: open OUT < $file or die "Can't open file:$!\n"; binmode OUT; ... print OUT resp->content(); ... close OUT; HTH. -Steve On Tue, 2004-05-11 at 09:59, john herbert wrote: > Hello BioPerlers. > I am working on a smallish set of peptides and would like to bulk > download all the SMART domain pngs from the SMART website. Is there > anything in BioPerl for this? Or does anyone know how I could capture > the PNG files generated on sequences containing SMART domains from > SMART's website. > > Here is an LWP script I tried using: > #!/usr/local/bin/perl > > use strict; > use lib > '/usr/ngasi/contexts/jakeysnakey/jakeysnakey/NewPerlLib/lib/perl5/site_perl'; > use LWP::UserAgent; > use HTTP::Headers; > use URI::URL; > use HTTP::Request; > > my $hders = HTTP::Headers->new(Accept => 'image/png'); > my $url = > qq(http://smart.embl-heidelberg.de/smart/DD2.cgi?smart=428:DEXDc(64|265)+HELICc(301|382)+"%20border=0%20usemap="#map00"%20ALT="Bubblogram"); > > > my $url_ob = URI::URL->new($url); > my $req = HTTP::Request->new('POST',$url_ob,$hders); > my $ua = LWP::UserAgent->new(); > my $resp = $ua->request($req); > if($resp->is_success){ > print $resp->content(); > }else{ > print $resp->message(); > } > > > I have tried using this LWP script which works in the fact that it does > collect the png binary data but it will not open as a png file. If I > compare the file I have collected with my script, than with one I have > attained by right clicking in windows explorer and saved to my desktop, > there are some differences. I have no idea why they would be different. > > > If there are anyone who has any ideas on this, I would be grateful. > thanks. > > John. > > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l -- ( Stephen L. Mathias, Ph.D. ( ( ) Office of Biocomputing ) ) ( University of New Mexico School of Medicine ( s m a t h i a s ( ) MSC08 4560 ) @ u n m . e d u ) ( 1 University of New Mexico ( ( ) Albuquerque, NM 87131-0001 ) ) From hlapp at gnf.org Tue May 11 18:38:30 2004 From: hlapp at gnf.org (Hilmar Lapp) Date: Tue May 11 18:42:27 2004 Subject: [Bioperl-l] bioperl-db performance: load_seqdatabase.pl throughput speed In-Reply-To: Message-ID: With this little amount of memory you'll very quickly run into memory contention issues. I'm not exactly sure about the memory caching model of mysql, but AFAIR it will use its own memory pool (like Oracle does) rather than deferring that heavily to the OS (like Pg). Biosql-db caches a lot, specifically it caches species, ontology terms, and dbxrefs. With a database like swissprot that is very diverse in terms of species (you've got several thousand in there) and richly annotated with dbxrefs, you'll end up with *a lot* of memory for the loading script alone. Last time I uploaded swissprot (as Uniprot) I had about 700MB consumed by the loading script process. The db server was running on another machine ... I typically see 4-10 seqs/second on a 1.8GHz CPU (1GB memory) against an Oracle database running on an even faster machine. So, my conclusion as to what most likely you saw happening is bioperl-db being slow at the start because nothing is cached yet (species lookups are expensive if not cached), and not getting any better because it got more and more compounded by memory as well as disk I/O contention. If you really want this to fly, either get a really fast CPU, or better yet, two CPUs, and at least two disks. If you want the loader to run on the same machine as the db process, then get 3 disks if you can (sequence source file on one, db transaction log on the second, db data files on the third). And get no less than 1GB of RAM; if you want db and loader on the same box get at least 2GB. -hilmar On Tuesday, May 11, 2004, at 10:27 AM, Henry R Bigelow wrote: > Hi, > my name is Henry Bigelow and I recently installed bioperl-1.4, > bioperl-db, dbi and dbd-mysql, mysql-4.0 (with InnoDB enabled), > biosql-schema, and instantiated biosqldb-mysql.sql. i've successfully > loaded some sequences of release43.dat, the swissprot flat file, but > the > throughput is roughly 1 sequence every 5 to 10 seconds, on a > (admittedly > slow) 400 Mhz 2 CPU Pentium III with 256 Mb memory. I ran the command: > > perl load_seqdatabase.pl --host localhost --dbname bioseqdb --namespace > swissprot --dbuser bigelow --dbpass XXX --driver mysql --format swiss > /data/swissprot/release43.dat > > > I also ran it (on a set of 15 swissprot entries) with a profiler: > > perl -d:DProf load_seqdatabase.pl ... > then with > dprofpp -u > i got this: > > %Time ExclSec CumulS #Calls sec/call Csec/c Name > 9.62 0.800 0.985 15282 0.0001 0.0001 > Bio::DB::Persistent::PersistentObject::isa > 9.54 0.793 1.403 11909 0.0001 0.0001 > Bio::DB::Persistent::PersistentObject::AUTOLOAD > 9.25 0.769 3.152 8888 0.0001 0.0004 > Bio::DB::BioSQL::BasePersistenceAdaptor::_create_persistent > 4.69 0.390 2.922 7733 0.0001 0.0004 > Bio::DB::BioSQL::BasePersistentAdaptor::_process_child > 4.59 0.382 0.382 26865 0.0000 0.0000 > Bio::DB::Persistent::PersistentObject::obj > 3.84 0.319 0.319 32822 0.0000 0.0000 UNIVERSAL::isa > 3.69 0.307 0.372 86 0.0036 0.0043 > Bio::DB::BioSQL::ReferenceAdaptor::_crc64 > 3.28 0.273 1.195 258 0.0011 0.0046 > Bio::Root::Root::_load_module > 2.80 0.233 3.545 5465 0.0000 0.0006 > Bio::DB::BioSQL::BasePersistenceAdaptor::create_persistent > 2.74 0.228 0.228 291 0.0008 0.0008 > Bio::Root::RootI::stack_trace > 1.92 0.160 0.160 1794 0.0001 0.0001 DBI::st::execute > 1.84 0.153 0.534 1608 0.0001 0.0003 > Bio::DB::Persistent::PersistentObject::new > 1.80 0.150 0.150 7215 0.0000 0.0000 > Bio::DB::Persistent::PersistentObject::primary_key > 1.74 0.145 0.185 2640 0.0001 0.0001 Bio::Root::Root::new > 1.71 0.142 1.078 474 0.0003 0.0023 > Bio::DB::BioSQL::BaseDriver::insert_object > > i do realize that these perl objects are large, but it still seems > quite > slow. (i'm not even sure whether the profiler demonstrates that the > majority of time is spent instantiating perl objects as opposed to > running > mysql commands.) > > all bioperl-db, bioperl, dbi and dbd-mysql tests came out ok (the vast > majority of them anyway). > > incidentally, it took me a week of getting errors during > load_seqdatabase.pl loading, before i discovered the true cause: that > a perl executable with threading enabled does NOT work with this. (The > author of dbd-mysql or dbi warns about this, but i didn't heed the > warning > at first). > > > if anyone has any ideas about what might be making it slow, please let > me > know! i'd greatly appreciate it. > > Sincerely, > > Henry Bigelow > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > -- ------------------------------------------------------------- Hilmar Lapp email: lapp at gnf.org GNF, San Diego, Ca. 92121 phone: +1-858-812-1757 ------------------------------------------------------------- From bigelow at maple.bioc.columbia.edu Tue May 11 19:10:05 2004 From: bigelow at maple.bioc.columbia.edu (henry bigelow) Date: Tue May 11 19:13:56 2004 Subject: [Bioperl-l] bioperl-db performance: load_seqdatabase.pl throughput speed In-Reply-To: Message-ID: Hilmar, Thanks very much for your response! I will be eager to try it out on our more powerful machines with more memory, and I'll post the results of that run. Perhaps I will also discover a way to benchmark memory usage, although that appears more complicated... Sincerely, Henry From stephan.rosecker at ish.de Tue May 11 19:14:53 2004 From: stephan.rosecker at ish.de (stephan rosecker) Date: Tue May 11 19:18:45 2004 Subject: [Bioperl-l] Bio::Seq weight ? Message-ID: <40A15E6D.90409@ish.de> Hi, is it possible to get the weight form a Bio::Seq object ? regards, stephan From barry.moore at genetics.utah.edu Tue May 11 19:41:44 2004 From: barry.moore at genetics.utah.edu (Barry Moore) Date: Tue May 11 19:45:39 2004 Subject: [Bioperl-l] SMART domain sequence images In-Reply-To: References: Message-ID: <40A164B8.5020003@genetics.utah.edu> John- If you can parse out the path to the png file, then you can use LWP::Simple getstore method (http://search.cpan.org/~gaas/libwww-perl-5.65/lib/LWP/Simple.pm) to send it to a file. This has worked well for me in similar web server hacks with image files. Barry john herbert wrote: >Hello BioPerlers. >I am working on a smallish set of peptides and would like to bulk >download all the SMART domain pngs from the SMART website. Is there >anything in BioPerl for this? Or does anyone know how I could capture >the PNG files generated on sequences containing SMART domains from >SMART's website. > >Here is an LWP script I tried using: >#!/usr/local/bin/perl > >use strict; >use lib >'/usr/ngasi/contexts/jakeysnakey/jakeysnakey/NewPerlLib/lib/perl5/site_perl'; >use LWP::UserAgent; >use HTTP::Headers; >use URI::URL; >use HTTP::Request; > >my $hders = HTTP::Headers->new(Accept => 'image/png'); >my $url = >qq(http://smart.embl-heidelberg.de/smart/DD2.cgi?smart=428:DEXDc(64|265)+HELICc(301|382)+"%20border=0%20usemap="#map00"%20ALT="Bubblogram"); > > >my $url_ob = URI::URL->new($url); >my $req = HTTP::Request->new('POST',$url_ob,$hders); >my $ua = LWP::UserAgent->new(); >my $resp = $ua->request($req); >if($resp->is_success){ > print $resp->content(); >}else{ > print $resp->message(); >} > > >I have tried using this LWP script which works in the fact that it does >collect the png binary data but it will not open as a png file. If I >compare the file I have collected with my script, than with one I have >attained by right clicking in windows explorer and saved to my desktop, >there are some differences. I have no idea why they would be different. > > >If there are anyone who has any ideas on this, I would be grateful. >thanks. > >John. > > >_______________________________________________ >Bioperl-l mailing list >Bioperl-l@portal.open-bio.org >http://portal.open-bio.org/mailman/listinfo/bioperl-l > > -- Barry Moore Dept. of Human Genetics University of Utah Salt Lake City, UT From POSTMASTER at chori.co.jp Tue May 11 22:37:53 2004 From: POSTMASTER at chori.co.jp (POSTMASTER@chori.co.jp) Date: Tue May 11 22:34:54 2004 Subject: [Bioperl-l] Undeliverable message Message-ID: <200405120230.LAA03751@svos16.chori.co.jp> ------- Failure Reasons -------- User not listed in public Name & Address Book chung-me@chori.co.jp ------- Returned Message -------- Received: from svos16.chori.co.jp ([192.168.200.2]) by chori.co.jp (Lotus SMTP MTA v4.6.5 (863.2 5-20-1999)) with SMTP id 49256E92.000E4833; Wed, 12 May 2004 11:35:59 +0900 Received: from os23 by svos16.chori.co.jp (8.9.3p2/3.7W/chori-00071112) with SMTP id LAA03280 for ; Wed, 12 May 2004 11:28:51 +0900 (JST) From: bioperl-l@bioperl.org Message-Id: <200405120228.LAA03280@svos16.chori.co.jp> To: chung-me@chori.co.jp Subject: something for you Date: Wed, 12 May 2004 10:29:18 +0800 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="27777830" --27777830 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit kill the writer of this document! --27777830 Content-Type: application/x-zip-compressed; name="information.zip" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="information.zip" --27777830-- From heikki at ebi.ac.uk Wed May 12 09:50:25 2004 From: heikki at ebi.ac.uk (Heikki Lehvaslaiho) Date: Wed May 12 04:55:45 2004 Subject: [Bioperl-l] Bio::Seq weight ? In-Reply-To: <40A15E6D.90409@ish.de> References: <40A15E6D.90409@ish.de> Message-ID: <200405120950.25416.heikki@ebi.ac.uk> On Tuesday 11 May 2004 19:14, stephan rosecker wrote: > Hi, > > is it possible to get the weight form a Bio::Seq object ? This is from the bptutorial script: III.3.2 Obtaining basic sequence statistics (SeqStats,SeqWord) In addition to the methods directly available in the Seq object, bioperl provides various helper objects to determine additional information about a sequence. For example, SeqStats object provides methods for obtaining the molecular weight of the sequence as well the number of occurrences of each of the component residues (bases for a nucleic acid or amino acids for a protein.) For nucleic acids, SeqStats also returns counts of the number of codons used. For example: use SeqStats; $seq_stats = Bio::Tools::SeqStats->new($seqobj); $weight = $seq_stats->get_mol_wt(); $monomer_ref = $seq_stats->count_monomers(); $codon_ref = $seq_stats->count_codons(); # for nucleic acid sequence Note: sometimes sequences will contain ambiguous codes. For this reason, get_mol_wt() returns a reference to a two element array containing a greatest lower bound and a least upper bound of the molecular weight. -Heikki > regards, > stephan > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l -- ______ _/ _/_____________________________________________________ _/ _/ http://www.ebi.ac.uk/mutations/ _/ _/ _/ Heikki Lehvaslaiho heikki_at_ebi ac uk _/_/_/_/_/ EMBL Outstation, European Bioinformatics Institute _/ _/ _/ Wellcome Trust Genome Campus, Hinxton _/ _/ _/ Cambs. CB10 1SD, United Kingdom _/ Phone: +44 (0)1223 494 644 FAX: +44 (0)1223 494 468 ___ _/_/_/_/_/________________________________________________________ From luisa.pugliese at safan-bioinformatics.it Wed May 12 05:18:10 2004 From: luisa.pugliese at safan-bioinformatics.it (luisa pugliese) Date: Wed May 12 05:21:44 2004 Subject: [Bioperl-l] again on remove gapped columns Message-ID: <003a01c43802$0b5b9d60$f3ee669e@chagall> Hi, many thanks to everybody who reply to my message. I tryed your suggestions and I found the both: $aln->remove_gaps and $aln->remove_columns(['gaps']), remove all the columns where in one sequence there is a gap and if in the other sequence there are no gaps, the aa or nucleotides are removed. This changes the alignment and of course it is not what I want. Does anybody have any other suggestion other than reading the alignment files with another program and writing them out (I already tryed this with AlignIO and it doesn't work)? Best regards Luisa ============================= Luisa Pugliese, Ph.D. luisa.pugliese@safan-bioinformatics.it S.A.F.AN. BIOINFORMATICS Corso Tazzoli 215/13 -10137 Torino tel +39 011 3026230 cell. +39 333 6130644 From iain.wallace at ucd.ie Wed May 12 06:20:22 2004 From: iain.wallace at ucd.ie (Iain Wallace) Date: Wed May 12 06:24:15 2004 Subject: [Bioperl-l] remove gapped colums In-Reply-To: <001a01c43769$349d6300$f3ee669e@chagall> References: <001a01c43769$349d6300$f3ee669e@chagall> Message-ID: <1084357222.3491.6.camel@dhcp-892b8c8e.ucd.ie> Hi, I use the following function called filtering() to remove columns from an alignment which are all gap characters. It probably isn't the best way to do it but it works for me. It takes in a file which contains the original alignment, and outputs the file which has all of the columns removed. e.g. filtering('profile1.aln', '>out.aln'); Hope it makes sense Iain sub filtering(){ #function to eliminate columns that just contain gaps..... #pass the filename containing the profile to be cleaned,and the output #filename. #filtering('profile1.aln', '>out.aln'); use Bio::AlignIO; $withgaps=$_[0]; $withoutgaps=$_[1]; my $in = new Bio::AlignIO ( -file => $withgaps, -format => 'clustalw' ); my $out = new Bio::AlignIO ( -file => $withoutgaps, -format =>'clustalw'); my $aln = $in->next_aln(); # if you need to work on the columns, create a list containing all #columns as # strings my @aln_cols = (); foreach my $seq ( $aln->each_alphabetically() ) { my $colnr = 0; foreach my $chr ( split("", $seq->seq()) ) { $aln_cols[$colnr] .= $chr; $colnr++; } } # then do the work: # we want to eliminate all the columns containing gaps # 1/ we create a list containing all the columns without any gap my $gapchar = $aln->gap_char(); my @no_gap_cols = (); foreach my $col ( @aln_cols ) { my $columnlength = length($col); next if $col =~ /\Q$gapchar\E{$columnlength}/; push @no_gap_cols, $col; } # 2/ we modify the sequences in the alignment # 2a/ we reconstruct the sequence strings my @seq_strs = (); foreach my $col ( @no_gap_cols ) { my $colnr = 0; foreach my $chr ( split"", $col ) { $seq_strs[$colnr] .= $chr; $colnr++; }} # 2b/ we replace the old sequences strings with the new ones foreach my $seq ( $aln->each_alphabetically() ) { $seq->seq(shift @seq_strs);} $out->write_aln($aln); } On Tue, 2004-05-11 at 16:04, luisa pugliese wrote: > Hi, > I am new at bioperl and I am working on alignments. I am splitting a multiple alignment into several pairwise alignments and I would like to remove the columns in which there are gaps in all the sequences. Does anybody knows if a method exists doing this or a method finding the columns in which there are gaps in all the sequences similar gap_line that find the gaps present in any columns? > Thank you > Luisa Pugliese > ============================= > Luisa Pugliese, Ph.D. > luisa.pugliese@safan-bioinformatics.it > S.A.F.AN. BIOINFORMATICS > Corso Tazzoli 215/13 -10137 Torino > tel +39 011 3026230 > cell. +39 333 6130644 > > ______________________________________________________________________ > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l From jerm at gmx.net Wed May 12 06:58:35 2004 From: jerm at gmx.net (Jer-Ming Chia) Date: Wed May 12 07:02:31 2004 Subject: [Bioperl-l] again on remove gapped columns In-Reply-To: <003a01c43802$0b5b9d60$f3ee669e@chagall> References: <003a01c43802$0b5b9d60$f3ee669e@chagall> Message-ID: <50B81F15-A403-11D8-AA93-0003939E3562@gmx.net> The option for removing all-gaps columns was recently added into SimpleAlign. =head2 remove_gaps Title : remove_gaps Usage : $aln2 = $aln->remove_gaps('-'[,$all_gaps_columns]) Function : Creates an aligment with gaps removed Returns : a Bio::SimpleAlign object Args : a gap character(optional) if no specified, taken from $self->gap_char, optional $all_gaps_columns flag indicates that only all-gaps columns should be deleted =cut so check which bioperl release you have (you may need to grab it from the live branch), and try: my $aln_nogaps = $aln = $aln->remove_gaps('-',1); Jerm. On 12 May 2004, at 17:18, luisa pugliese wrote: > Hi, > many thanks to everybody who reply to my message. I tryed your > suggestions > and I found the both: > $aln->remove_gaps and $aln->remove_columns(['gaps']), remove all the > columns > where in one sequence there is a gap and if in the other sequence > there are > no gaps, the aa or nucleotides are removed. This changes the alignment > and > of course it is not what I want. Does anybody have any other suggestion > other than reading the alignment files with another program and > writing them > out (I already tryed this with AlignIO and it doesn't work)? > Best regards > Luisa > ============================= > Luisa Pugliese, Ph.D. > luisa.pugliese@safan-bioinformatics.it > S.A.F.AN. BIOINFORMATICS > Corso Tazzoli 215/13 -10137 Torino > tel +39 011 3026230 > cell. +39 333 6130644 > > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > From heikki at ebi.ac.uk Wed May 12 13:09:02 2004 From: heikki at ebi.ac.uk (Heikki Lehvaslaiho) Date: Wed May 12 08:14:22 2004 Subject: [Bioperl-l] Bio::Seq weight ? In-Reply-To: <40A205BC.5030604@ish.de> References: <40A15E6D.90409@ish.de> <200405120950.25416.heikki@ebi.ac.uk> <40A205BC.5030604@ish.de> Message-ID: <200405121309.02458.heikki@ebi.ac.uk> The current parsers do not read it in at all. The value is recreated using the Bio::Tools::SeqStats::get-mol_wt() for output. Is this crucial? What do you need it for? There are so many value sets that differ from each other very slightly that the last digit in hardly meaningful. If you need to verify the identity, use the checksum. I guess I could find out what are the amino acid weights used by SWISS-PROT programs and replace them in the SeqStats class. Is anyone relying heavily on current values? -Heikki On Wednesday 12 May 2004 07:08, stephan rosecker wrote: > thx, > but i use it already. > I want the weight from the original entry for example in swissprot the > Molecular weight enrty. > > SQ SEQUENCE 403 AA; 45542 MW; BC433B2D29587383 CRC64; > MEELGLATAK VTVTKEASHH READLYQKMK SLESKLDFFN IQEEYIKYEY KNLKRELLHA > QEEVKRIRSV PLLIGQLLEM VDSNTGIVQS TSGSTLCVRI LSTIDRELLK PSASVALQRH > SNALVDTLPP ESDSSIHLLG ADEKPSESYS DIGGGDIQKQ EMREAVELPL THHNLYKQIG > IDPPRGVLLY GPPGTGKTML AKAVAHHTSA AFIRVVGSEF VQKYLGEGPR LVRDVFRLAR > ENSPAIIFID EIDAIATKRF DAQTGADREV QRILMELLNQ MDGFDVSVNV KVIMATNRQD > TLDPALLRPG RLDRKIEFPL PDRRQKRLIF QVITSKMNLS DEVDLEDYVS RPDKLSGAEI > QSICQEAGMH AIRKNRYVIL PKDFEKGYKA SIKKNTHEFN FYN > > > =>(45542 MW) i want this. > get_mol_wt() differs. > > > > regards, > stephan > > Heikki Lehvaslaiho wrote: > > On Tuesday 11 May 2004 19:14, stephan rosecker wrote: > >>Hi, > >> > >>is it possible to get the weight form a Bio::Seq object ? > > > > This is from the bptutorial script: > > > > III.3.2 Obtaining basic sequence statistics (SeqStats,SeqWord) > > > > In addition to the methods directly available in the Seq object, > > bioperl provides various helper objects to determine additional > > information about a sequence. For example, SeqStats object provides > > methods for obtaining the molecular weight of the sequence as well the > > number of occurrences of each of the component residues (bases for a > > nucleic acid or amino acids for a protein.) For nucleic acids, > > SeqStats also returns counts of the number of codons used. For > > example: > > > > use SeqStats; > > $seq_stats = Bio::Tools::SeqStats->new($seqobj); > > $weight = $seq_stats->get_mol_wt(); > > $monomer_ref = $seq_stats->count_monomers(); > > $codon_ref = $seq_stats->count_codons(); # for nucleic acid sequence > > > > Note: sometimes sequences will contain ambiguous codes. For this > > reason, get_mol_wt() returns a reference to a two element array > > containing a greatest lower bound and a least upper bound of the > > molecular weight. > > > > > > -Heikki > > > >>regards, > >>stephan > >>_______________________________________________ > >>Bioperl-l mailing list > >>Bioperl-l@portal.open-bio.org > >>http://portal.open-bio.org/mailman/listinfo/bioperl-l -- ______ _/ _/_____________________________________________________ _/ _/ http://www.ebi.ac.uk/mutations/ _/ _/ _/ Heikki Lehvaslaiho heikki_at_ebi ac uk _/_/_/_/_/ EMBL Outstation, European Bioinformatics Institute _/ _/ _/ Wellcome Trust Genome Campus, Hinxton _/ _/ _/ Cambs. CB10 1SD, United Kingdom _/ Phone: +44 (0)1223 494 644 FAX: +44 (0)1223 494 468 ___ _/_/_/_/_/________________________________________________________ From bmb9jrm at bmb.leeds.ac.uk Wed May 12 08:28:04 2004 From: bmb9jrm at bmb.leeds.ac.uk (Jonathan Manning) Date: Wed May 12 08:32:06 2004 Subject: [Bioperl-l] Bioperl objects and subroutines Message-ID: <1084364884.6761.37.camel@localhost.localdomain> Hi all, Sorry if this seems more like a general perl question, but I can't find the answer I need in my books. How do I pass an object (specifically a Bio::Seq object) to a perl subroutine? I thought object variables were references anyway, but passing those variables didn't work. At the moment I pass a reference like: $reference = \$seqobject; &subroutine($reference); And within the subroutine attempt to access like: $sequence = bless @_[0]; But this doesn't work either, and I can't access the object methods. Obviously I'm no perl veteran, and don't really know how to do it. Thanks in advance for any help. Jon From skirov at utk.edu Wed May 12 10:43:54 2004 From: skirov at utk.edu (Stefan Kirov) Date: Wed May 12 10:47:58 2004 Subject: [Bioperl-l] Bioperl objects and subroutines In-Reply-To: <1084364884.6761.37.camel@localhost.localdomain> References: <1084364884.6761.37.camel@localhost.localdomain> Message-ID: <40A2382A.9030802@utk.edu> Hi Jonathan, I believe what you should do is: my $seq=new Bio::Seq (-seq=>'acagtcgatgc', -id=>'blabla'); somesub($seq); sub somesub { my $seq=shift; print $seq->id; } And I think you should not be blessing a blessed reference. If you have a debugger like ptkdb (perl -d:ptkdb somescript.pl) take a look at what actually $seq contains. Also depending on how you call the sub, @_[0] may contain the package name or other data. @_ is a tricky bussiness, be carefult with it. Caling &somesub makes current @_ available to somesub (which I don't know what is in your script). Try subroutine($seqobject) instead like in the above example. Hope this helps Stefan Jonathan Manning wrote: >Hi all, > >Sorry if this seems more like a general perl question, but I can't find >the answer I need in my books. > >How do I pass an object (specifically a Bio::Seq object) to a perl >subroutine? I thought object variables were references anyway, but >passing those variables didn't work. At the moment I pass a reference >like: > >$reference = \$seqobject; >&subroutine($reference); > >And within the subroutine attempt to access like: > >$sequence = bless @_[0]; > >But this doesn't work either, and I can't access the object methods. > >Obviously I'm no perl veteran, and don't really know how to do it. >Thanks in advance for any help. > >Jon > >_______________________________________________ >Bioperl-l mailing list >Bioperl-l@portal.open-bio.org >http://portal.open-bio.org/mailman/listinfo/bioperl-l > > From ak at ebi.ac.uk Wed May 12 10:55:09 2004 From: ak at ebi.ac.uk (Andreas Kahari) Date: Wed May 12 10:59:03 2004 Subject: [Bioperl-l] Bioperl objects and subroutines In-Reply-To: <1084364884.6761.37.camel@localhost.localdomain> References: <1084364884.6761.37.camel@localhost.localdomain> Message-ID: <20040512145509.GA28531@ebi.ac.uk> On Wed, May 12, 2004 at 01:28:04PM +0100, Jonathan Manning wrote: > Hi all, > > Sorry if this seems more like a general perl question, but I can't find > the answer I need in my books. > > How do I pass an object (specifically a Bio::Seq object) to a perl > subroutine? I thought object variables were references anyway, but > passing those variables didn't work. At the moment I pass a reference > like: > > $reference = \$seqobject; > &subroutine($reference); > > And within the subroutine attempt to access like: > > $sequence = bless @_[0]; > > But this doesn't work either, and I can't access the object methods. > > Obviously I'm no perl veteran, and don't really know how to do it. > Thanks in advance for any help. A Perl object is already a [blessed] reference. sub grok { my $birney = shift; return $birney->poke(); } my $thing = Bio::somemodule->new({ stuff => 'this' }); print grok($thing); (well, you get the idea) Andreas -- |-)(-| Andreas K?h?ri EMBL, European Bioinformatics Institute |(--)| Wellcome Trust Genome Campus |-)(-| Ensembl Developer Hinxton, Cambridgeshire, CB10 1SD |(--)| DAS Project Leader United Kingdom From jason at cgt.duhs.duke.edu Wed May 12 09:14:25 2004 From: jason at cgt.duhs.duke.edu (Jason Stajich) Date: Wed May 12 11:07:48 2004 Subject: [Bioperl-l] Bioperl objects and subroutines In-Reply-To: <1084364884.6761.37.camel@localhost.localdomain> References: <1084364884.6761.37.camel@localhost.localdomain> Message-ID: sub method { my ($seq) = @_; print $seq->length; } &method($seqobj); -jason On Wed, 12 May 2004, Jonathan Manning wrote: > Hi all, > > Sorry if this seems more like a general perl question, but I can't find > the answer I need in my books. > > How do I pass an object (specifically a Bio::Seq object) to a perl > subroutine? I thought object variables were references anyway, but > passing those variables didn't work. At the moment I pass a reference > like: > > $reference = \$seqobject; > &subroutine($reference); > > And within the subroutine attempt to access like: > > $sequence = bless @_[0]; > > But this doesn't work either, and I can't access the object methods. > > Obviously I'm no perl veteran, and don't really know how to do it. > Thanks in advance for any help. > > Jon > > _______________________________________________ > Bioperl-l mailing list > Bioperl-l@portal.open-bio.org > http://portal.open-bio.org/mailman/listinfo/bioperl-l > -- Jason Stajich Duke University jason at cgt.mc.duke.edu From Matthew.Betts at ii.uib.no Wed May 12 11:10:37 2004 From: Matthew.Betts at ii.uib.no (Matthew Betts) Date: Wed May 12 11:14:35 2004 Subject: [Bioperl-l] Bio::Index::AbstractSeq->fetch() overwrites primary_id with display_id Message-ID: Hi, I was wondering why the fetch method of Bio::Index::AbstractSeq overwrites primary_id with display_id: # we essentially assumme that the primary_id for the database # is the display_id $seq->primary_id($seq->display_id()) if( defined $seq && ref($seq) && $seq->isa('Bio::PrimarySeqI')); This means that I lose the GI number from GenBank entries, which doesn't happen if I read them directly with SeqIO (i.e. without using an index). Thanks, Matthew -- Matthew Betts, mailto:matthew.betts@ii.uib.no Phone: (+47) 55 58 40 22, Fax: (+47) 55 58 42 95 CBU, BCCS, HiB, UNIFOB / Universitetet i Bergen Thorm?hlensgt. 55, N-5008 Bergen, Norway From bmb9jrm at bmb.leeds.ac.uk Wed May 12 11:10:59 2004 From: bmb9jrm at bmb.leeds.ac.uk (Jonathan Manning) Date: Wed May 12 11:14:53 2004 Subject: [Bioperl-l] Bioperl objects and subroutines In-Reply-To: <20040512145509.GA28531@ebi.ac.uk> References: <1084364884.6761.37.camel@localhost.localdomain> <20040512145509.GA28531@ebi.ac.uk> Message-ID: <1084374659.6761.43.camel@localhost.localdomain> Thanks to all on this- I was clearly barking up the wrong tree! But everything seems to be working now. Cheers, Jon On Wed, 2004-05-12 at 15:55, Andreas Kahari wrote: > On Wed, May 12, 2004 at 01:28:04PM +0100, Jonathan Manning wrote: > > Hi all, > > > > Sorry if this seems more like a general perl question, but I can't find > > the answer I need in my books. > > > > How do I pass an object (specifically a Bio::Seq object) to a perl > > subroutine? I thought object variables were references anyway, but > > passing those variables didn't work. At the moment I pass a reference > > like: > > > > $reference = \$seqobject; > > &subroutine($reference); > > > > And within the subroutine attempt to access like: > > > > $sequence = bless @_[0]; > > > > But this doesn't work either, and I can't access the object methods. > > > > Obviously I'm no perl veteran, and don't really know how to do it. > > Thanks in advance for any help. > > A Perl object is already a [blessed] reference. > > sub grok > { > my $birney = shift; > return $birney->poke(); > } > > my $thing = Bio::somemodule->new({ stuff => 'this' }); > print grok($thing); > > (well, you get the idea) > > > > Andreas From brian_osborne at cognia.com Wed May 12 12:17:16 2004 From: brian_osborne at cognia.com (Brian Osborne) Date: Wed May 12 12:21:25 2004 Subject: [Bioperl-l] Bioperl objects and subroutines In-Reply-To: <40A2382A.9030802@utk.edu> Message-ID: Stefan, > If you have > a debugger like ptkdb (perl -d:ptkdb somescript.pl) take a look at what > actually $seq contains. Or use the "x" command in the perl debugger: >perl -d