From jan.aerts at bbsrc.ac.uk Mon Mar 3 09:04:18 2008 From: jan.aerts at bbsrc.ac.uk (jan aerts (RI)) Date: Mon, 3 Mar 2008 14:04:18 -0000 Subject: [BioRuby] gbrowse in ruby: call for names Message-ID: <1F16910BB8546C4DA5526FABB0C98D09AA9B37@ebre2ksrv1.ebrc.bbsrc.ac.uk> All, We might be looking into creating an application similar to gbrowse in perl and CGI, but rather based on Rails and the ruby Bio::Graphics (http://bio-graphics.rubyforge.org). Bottleneck at the moment: how to call the thing :-) Obviously, "gbrowse" is out the the question. I'd like the name to *not* include "rails" or "ruby", because those should be irrelevant to the end user. It should give the idea of a "generic genome browser", but not be called that... Any ideas are greatly appreciated. Witty or clever, but not too complicated... jan. From raoul.bonnal at itb.cnr.it Mon Mar 3 10:17:50 2008 From: raoul.bonnal at itb.cnr.it (Raoul Jean Pierre Bonnal) Date: Mon, 03 Mar 2008 16:17:50 +0100 Subject: [BioRuby] New Bio::Sequence and Handlers Message-ID: <1204557470.8697.24.camel@Graco> Hello Guys, my solution to generalize Bio::Sequence for lazy loading or not, discussed at Hackathon. Actually I don't know if this is the best solution but works and keeps compatibility with current release. rename Bio::Sequence --> Bio::SequenceScratch then define a new class reusing namespace Bio::Sequence: module Bio class Sequence #Handler for the generic sequence attr_accessor :handler #Class Sequence initializer, actually not well coded. def initialize(obj) if obj.is_a?(String) @handler= Bio::SequenceScratch.new(obj) else @handler=obj end end # Pass any unknown method calls to the wrapped sequence object. see # http://www.rubycentral.com/book/ref_c_object.html#Object.method_missing def method_missing(sym, *args, &block) #:nodoc: @handler.__send__(sym, *args, &block) end end end -- Ra From ngoto at gen-info.osaka-u.ac.jp Mon Mar 3 11:58:09 2008 From: ngoto at gen-info.osaka-u.ac.jp (Naohisa GOTO) Date: Tue, 4 Mar 2008 01:58:09 +0900 Subject: [BioRuby] New Bio::Sequence and Handlers In-Reply-To: <1204557470.8697.24.camel@Graco> References: <1204557470.8697.24.camel@Graco> Message-ID: <20080303165810.432151CBC58C@idnmail.gen-info.osaka-u.ac.jp> Hi, I think using duck-typing is better. Because the @obj acts the same as Bio::Sequence, there are no need to wrap Sequence class and to use method_missing. To distinguish the object can act as sequence, a module can be used to define method interfaces and data type. module SequenceInterface def seq NotImplementedError end #.... end class SequenceFromGenBank include SequenceInterface end a = SequenceFromGenBank.new a.kind_of?(SequenceInterface) # ==> true I have another question. How about modification of Sequence objects? Copy-on-write? s1 = Bio::Sequence.new('atg') s2 = Bio::Sequence.new('aag') s1.concat(s2) s1.definition = "test sequence" p s1 # => s3 = Bio::Sequence.new(XXXX) # from some object or duck typing? s3.concat(s1) s3.definition = 'this is test' p s3 # => ??? Thanks, Naohisa Goto ngoto at gen-info.osaka-u.ac.jp / ng at bioruby.org On Mon, 03 Mar 2008 16:17:50 +0100 Raoul Jean Pierre Bonnal wrote: > Hello Guys, > my solution to generalize Bio::Sequence for lazy loading or not, > discussed at Hackathon. Actually I don't know if this is the best > solution but works and keeps compatibility with current release. > rename Bio::Sequence --> Bio::SequenceScratch > > then define a new class reusing namespace Bio::Sequence: > module Bio > class Sequence > #Handler for the generic sequence > attr_accessor :handler > > #Class Sequence initializer, actually not well coded. > def initialize(obj) > if obj.is_a?(String) > @handler= Bio::SequenceScratch.new(obj) > else > @handler=obj > end > end > > # Pass any unknown method calls to the wrapped sequence object. see > # > http://www.rubycentral.com/book/ref_c_object.html#Object.method_missing > def method_missing(sym, *args, &block) #:nodoc: > @handler.__send__(sym, *args, &block) > end > end > end > > > -- > Ra > From jan.aerts at bbsrc.ac.uk Mon Mar 3 12:29:38 2008 From: jan.aerts at bbsrc.ac.uk (jan aerts (RI)) Date: Mon, 3 Mar 2008 17:29:38 -0000 Subject: [BioRuby] New Bio::Sequence and Handlers References: <1204557470.8697.24.camel@Graco> <20080303165810.432151CBC58C@idnmail.gen-info.osaka-u.ac.jp> Message-ID: <1F16910BB8546C4DA5526FABB0C98D09AA9B3A@ebre2ksrv1.ebrc.bbsrc.ac.uk> I like the idea of programming against an interface (will have to reread that first chapter of "Design Patterns in Ruby", though. But I'm a bit worried to see "class SequenceFromGenBank"... It should not matter what the source of the (annotated) sequence is. Whether it comes from GenBank, or EMBL, or Fasta, it's still just a Bio::Sequence with features and references. jan. -----Original Message----- From: bioruby-bounces at lists.open-bio.org on behalf of Naohisa GOTO Sent: Mon 3/3/2008 4:58 PM To: bioruby at lists.open-bio.org Subject: Re: [BioRuby] New Bio::Sequence and Handlers Hi, I think using duck-typing is better. Because the @obj acts the same as Bio::Sequence, there are no need to wrap Sequence class and to use method_missing. To distinguish the object can act as sequence, a module can be used to define method interfaces and data type. module SequenceInterface def seq NotImplementedError end #.... end class SequenceFromGenBank include SequenceInterface end a = SequenceFromGenBank.new a.kind_of?(SequenceInterface) # ==> true I have another question. How about modification of Sequence objects? Copy-on-write? s1 = Bio::Sequence.new('atg') s2 = Bio::Sequence.new('aag') s1.concat(s2) s1.definition = "test sequence" p s1 # => s3 = Bio::Sequence.new(XXXX) # from some object or duck typing? s3.concat(s1) s3.definition = 'this is test' p s3 # => ??? Thanks, Naohisa Goto ngoto at gen-info.osaka-u.ac.jp / ng at bioruby.org On Mon, 03 Mar 2008 16:17:50 +0100 Raoul Jean Pierre Bonnal wrote: > Hello Guys, > my solution to generalize Bio::Sequence for lazy loading or not, > discussed at Hackathon. Actually I don't know if this is the best > solution but works and keeps compatibility with current release. > rename Bio::Sequence --> Bio::SequenceScratch > > then define a new class reusing namespace Bio::Sequence: > module Bio > class Sequence > #Handler for the generic sequence > attr_accessor :handler > > #Class Sequence initializer, actually not well coded. > def initialize(obj) > if obj.is_a?(String) > @handler= Bio::SequenceScratch.new(obj) > else > @handler=obj > end > end > > # Pass any unknown method calls to the wrapped sequence object. see > # > http://www.rubycentral.com/book/ref_c_object.html#Object.method_missing > def method_missing(sym, *args, &block) #:nodoc: > @handler.__send__(sym, *args, &block) > end > end > end > > > -- > Ra > _______________________________________________ BioRuby mailing list BioRuby at lists.open-bio.org http://lists.open-bio.org/mailman/listinfo/bioruby From raoul.bonnal at itb.cnr.it Tue Mar 4 05:08:48 2008 From: raoul.bonnal at itb.cnr.it (Raoul Jean Pierre Bonnal) Date: Tue, 04 Mar 2008 11:08:48 +0100 Subject: [BioRuby] New Bio::Sequence and Handlers In-Reply-To: <20080303165810.432151CBC58C@idnmail.gen-info.osaka-u.ac.jp> References: <1204557470.8697.24.camel@Graco> <20080303165810.432151CBC58C@idnmail.gen-info.osaka-u.ac.jp> Message-ID: <1204625328.22366.12.camel@Graco> Hi Goto-San, my mail was referred to a previous Toshiaki's e-mail (reported below): By the way, I forgot to tell you but Raoul and me have discussed about the new Bio::Sequence design in a cafe on Sunday evening after the hackathon. Now, we take a way to copy all properties from Bio::GenBank/EMBL/SQL to Bio::Sequence, it is better if we can retain lazy loading for Bio::GenBank/EMBL and also keep access to the Bio::SQL database even after the Bio::Sequence is created (for performance). class Bio::Sequence def initialize @entry = Bio::GenBank/EMBL/SQL/Mock object end def method_missing(arg) @entry.__send__(arg) end end class Bio::Sequence::Mock attr_accessor :entry_id, :definition, .... end Actually I know that is not wonderful my initialize method, however the problem about concat is due to the fact in Bio::Sequence coders refer to @seq(variable) not to seq(method) Regards, Toshiaki Katayama I my example I called Bio::SequenceScratch but if I understood well perhaps it should be named Mock. Il giorno mar, 04/03/2008 alle 01.58 +0900, Naohisa GOTO ha scritto: > s3 = Bio::Sequence.new(XXXX) # from some object or duck typing? > s3.concat(s1) > s3.definition = 'this is test' > p s3 > # => ??? connection=Bio::SQL.establish_connection('config/database.yml','development') Bio::SQL.list_entries.each{|entry| entry.each_pair{|key,value| puts "#{key}=>#{value}"}; puts "---"} seq_sql=Bio::SQL.fetch_accession("AJ224122") #returns a Bio::Sequence obj Bio::Sequence.new(Bio::SQL.new(:entry => Bioentry.find_by_accession(accession))) seq_standard=Bio::Sequence.new('cccccccccc') seq_standard1=Bio::Sequence.new('aaaa') pp seq_sql.entry_id pp seq_sql.seq pp '-------------------------------------' pp seq_standard pp seq_standard.seq pp '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' pp seq_standard.concat(seq_sql) pp seq_sql.concat(seq_standard) #this doesn't work because concat is not implemented in Bio::SQL Console output: accession=>NC_003098 id=>37 --- accession=>NM_001113246 id=>38 --- accession=>AJ224122 id=>57 --- true "AJ224122" "aattaaaacgccacgcaagg..." "-------------------------------------" #> "cccccccccc" "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" "ccccccccccaattaaaacgccacgcaagg..." /home/febo/Work/Projects/Ruby/bioruby/lib/bio/sequence.rb:82:in `send': undefined method `concat' for # (NoMethodError) from /home/febo/Work/Projects/Ruby/bioruby/lib/bio/sequence.rb:82:in `method_missing' from lib/biosql.rb:170 -- Ra From raoul.bonnal at itb.cnr.it Tue Mar 4 06:41:53 2008 From: raoul.bonnal at itb.cnr.it (Raoul Jean Pierre Bonnal) Date: Tue, 04 Mar 2008 12:41:53 +0100 Subject: [BioRuby] BioSQL and Annotation Message-ID: <1204630913.22366.43.camel@Graco> Dear All, this page made by Hilmar is something similar to what Jan did using the images, I'll need to use it as reference for grabbing information by a "generic" Bio::Sequence obj: http://www.biosql.org/wiki/Annotation_Mapping we could create a wiki page describing, where annotations go. If this page already exists, sob, trash this mail. -- Ra From raoul.bonnal at itb.cnr.it Tue Mar 4 07:06:53 2008 From: raoul.bonnal at itb.cnr.it (Raoul Jean Pierre Bonnal) Date: Tue, 04 Mar 2008 13:06:53 +0100 Subject: [BioRuby] Most useful queries Message-ID: <1204632413.22366.49.camel@Graco> Dear All, is it possible to have a list of "most useful/common" queries you had implemented for your users ? We could think to implement them as set of predefined function in our preferred language ( my case is Ruby). *) Getting sequences with a specific qualifier *) Getting sequences with a specific feature *) Getting products .... etc -- Ra From robert.citek at gmail.com Thu Mar 6 00:21:14 2008 From: robert.citek at gmail.com (Robert Citek) Date: Wed, 5 Mar 2008 23:21:14 -0600 Subject: [BioRuby] installing bio::graphics In-Reply-To: <1F16910BB8546C4DA5526FABB0C98D09AA9AF2@ebre2ksrv1.ebrc.bbsrc.ac.uk> References: <4145b6790802140900p5de75698p43b06d0f5e98c0e6@mail.gmail.com> <1F16910BB8546C4DA5526FABB0C98D09AA9AEF@ebre2ksrv1.ebrc.bbsrc.ac.uk> <1F16910BB8546C4DA5526FABB0C98D09AA9AF0@ebre2ksrv1.ebrc.bbsrc.ac.uk> <4145b6790802141937i3cf2dda6w5c5c543c31569d36@mail.gmail.com> <1F16910BB8546C4DA5526FABB0C98D09AA9AF2@ebre2ksrv1.ebrc.bbsrc.ac.uk> Message-ID: <4145b6790803052121y1bab4896l7a51d7580e8550a4@mail.gmail.com> On Thu, Feb 14, 2008 at 10:30 PM, jan aerts (RI) wrote: > Does this help: http://ericbeland.com/2007/12/20/uninitialized-constant-gem-gemrunner ? Thanks, Jan. That made gem work. Complete notes here: http://ubuntuforums.org/showthread.php?p=4462021#post4462021 Now on to bio-graphics: $ sudo apt-get install libpango1-ruby libcairo-ruby $ sudo gem install bio Bulk updating Gem source index for: http://gems.rubyforge.org Successfully installed bio-1.2.1 1 gem installed $ sudo gem install bio-graphics Successfully installed bio-graphics-1.4 1 gem installed Installing ri documentation for bio-graphics-1.4... Installing RDoc documentation for bio-graphics-1.4... $ gem list *** LOCAL GEMS *** bio (1.2.1) bio-graphics (1.4) rubygems-update (1.0.1) So far so good. But I don't understand the following results: $ true ; ( set -x ruby -e "p 'hello'" ruby -rbio -e "p 'hello'" ruby -e "require 'bio'; puts 'hello' " export RUBYOPT=rubygems ruby -e "require 'bio'; puts 'hello' " ruby -e "require 'bio'; require 'bio-graphics' ; puts 'hello' " ruby -rbio -e "p 'hello'" ) >& output.txt $ cat output.txt + ruby -e 'p '\''hello'\''' "hello" + ruby -rbio -e 'p '\''hello'\''' ruby: no such file to load -- bio (LoadError) + ruby -e 'require '\''bio'\''; puts '\''hello'\'' ' -e:1:in `require': no such file to load -- bio (LoadError) from -e:1 + export RUBYOPT=rubygems + RUBYOPT=rubygems + ruby -e 'require '\''bio'\''; puts '\''hello'\'' ' hello + ruby -e 'require '\''bio'\''; require '\''bio-graphics'\'' ; puts '\''hello'\'' ' hello + ruby -rbio -e 'p '\''hello'\''' ruby: no such file to load -- bio (LoadError) So, the good new is that it seems as though I now have bio-graphics installed. Now the question I have is, is there any reason why the -r option does not seem to work as expected, i.e. doesn't load the bio library? Regards, - Robert From jan.aerts at bbsrc.ac.uk Fri Mar 14 09:23:24 2008 From: jan.aerts at bbsrc.ac.uk (Jan Aerts) Date: Fri, 14 Mar 2008 13:23:24 +0000 Subject: [BioRuby] installing bio::graphics In-Reply-To: <4145b6790803052121y1bab4896l7a51d7580e8550a4@mail.gmail.com> References: <4145b6790802140900p5de75698p43b06d0f5e98c0e6@mail.gmail.com> <1F16910BB8546C4DA5526FABB0C98D09AA9AEF@ebre2ksrv1.ebrc.bbsrc.ac.uk> <1F16910BB8546C4DA5526FABB0C98D09AA9AF0@ebre2ksrv1.ebrc.bbsrc.ac.uk> <4145b6790802141937i3cf2dda6w5c5c543c31569d36@mail.gmail.com> <1F16910BB8546C4DA5526FABB0C98D09AA9AF2@ebre2ksrv1.ebrc.bbsrc.ac.uk> <4145b6790803052121y1bab4896l7a51d7580e8550a4@mail.gmail.com> Message-ID: <47DA7C4C.8070603@bbsrc.ac.uk> Hey Robert, Sorry for not getting back to you earlier; this post completely slipped my system... I'm actually not completely sure why that does not work, although I can make an educated guess. (Getting the environment right is one of the most troublesome things for ruby and other languages as well is _my_ experience...) The thing is that 'bio' and 'bio-graphics' are released as gems. I think you can do the "ruby -r xyz" trick with those libraries in /usr/lib/ruby/1.8/. On my machine, this directory holds libraries such as cairo.rb, getopts.rb, irb.rb and more than 150 others. Indeed: rubygems.rb is there as well. And guess what: ruby -r cairo -e "puts 'hello'" _does_ work, as opposed to the example with -r bio. What also works, is: ruby -r rubygems -e "require 'bio'; puts 'hello'" However, ruby -r rubygems -r bio -e "puts 'hello'" does not work. Guess that is because rubygems is not actually loaded yet at the moment that ruby tries to load bio. Does this help? j. Dr Jan Aerts Bioinformatics Group Roslin Institute Roslin EH25 9PS Scotland, UK tel: +44 131 527 4198 ----...and the obligatory disclaimer---- Roslin Institute is a company limited by guarantee, registered in Scotland (registered number SC157100) and a Scottish Charity (registered number SC023592). Our registered office is at Roslin, Midlothian, EH25 9PS. VAT registration number 847380013. The information contained in this e-mail (including any attachments) is confidential and is intended for the use of the addressee only. The opinions expressed within this e-mail (including any attachments) are the opinions of the sender and do not necessarily constitute those of Roslin Institute (Edinburgh) ("the Institute") unless specifically stated by a sender who is duly authorised to do so on behalf of the Institute. Robert Citek wrote: > On Thu, Feb 14, 2008 at 10:30 PM, jan aerts (RI) wrote: >> Does this help: http://ericbeland.com/2007/12/20/uninitialized-constant-gem-gemrunner ? > > Thanks, Jan. That made gem work. Complete notes here: > > http://ubuntuforums.org/showthread.php?p=4462021#post4462021 > > Now on to bio-graphics: > > $ sudo apt-get install libpango1-ruby libcairo-ruby > > $ sudo gem install bio > Bulk updating Gem source index for: http://gems.rubyforge.org > Successfully installed bio-1.2.1 > 1 gem installed > > $ sudo gem install bio-graphics > Successfully installed bio-graphics-1.4 > 1 gem installed > Installing ri documentation for bio-graphics-1.4... > Installing RDoc documentation for bio-graphics-1.4... > > $ gem list > > *** LOCAL GEMS *** > > bio (1.2.1) > bio-graphics (1.4) > rubygems-update (1.0.1) > > So far so good. But I don't understand the following results: > > $ true ; ( set -x > ruby -e "p 'hello'" > ruby -rbio -e "p 'hello'" > ruby -e "require 'bio'; puts 'hello' " > export RUBYOPT=rubygems > ruby -e "require 'bio'; puts 'hello' " > ruby -e "require 'bio'; require 'bio-graphics' ; puts 'hello' " > ruby -rbio -e "p 'hello'" > ) >& output.txt > > $ cat output.txt > + ruby -e 'p '\''hello'\''' > "hello" > + ruby -rbio -e 'p '\''hello'\''' > ruby: no such file to load -- bio (LoadError) > + ruby -e 'require '\''bio'\''; puts '\''hello'\'' ' > -e:1:in `require': no such file to load -- bio (LoadError) > from -e:1 > + export RUBYOPT=rubygems > + RUBYOPT=rubygems > + ruby -e 'require '\''bio'\''; puts '\''hello'\'' ' > hello > + ruby -e 'require '\''bio'\''; require '\''bio-graphics'\'' ; puts > '\''hello'\'' ' > hello > + ruby -rbio -e 'p '\''hello'\''' > ruby: no such file to load -- bio (LoadError) > > So, the good new is that it seems as though I now have bio-graphics installed. > > Now the question I have is, is there any reason why the -r option > does not seem to work as expected, i.e. doesn't load the bio library? > > Regards, > - Robert > _______________________________________________ > BioRuby mailing list > BioRuby at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/bioruby From czmasek at burnham.org Wed Mar 26 19:02:35 2008 From: czmasek at burnham.org (Christian M Zmasek) Date: Wed, 26 Mar 2008 16:02:35 -0700 Subject: [BioRuby] Phyloinformatics Summer of Code 2008 [application deadline: Monday, March 31st] Message-ID: <47EAD60B.2090505@burnham.org> Phyloinformatics Summer of Code 2008 http://phyloinformatics.net/Phyloinformatics_Summer_of_Code_2008 *** Please disseminate this announcement widely to appropriate students at your institution *** The National Evolutionary Synthesis Center (NESCent: http://www.nescent.org/) is participating in 2008 for the second year as a mentoring organization in the Google Summer of Code (http://code.google.com/soc). Through this program, Google provides undergraduate, masters, and PhD students with a unique opportunity to obtain hands-on experience writing and extending open-source software under the mentorship of experienced developers from around the world. Our goal in participating is to train future researchers and developers to not only have awareness and understanding of the value of open-source and collaboratively developed software, but also to gain the programming and remote collaboration skills needed to successfully contribute to such projects. Students will receive a stipend from Google, and may work from their home, or home institution, for the duration of the 3 month program. Students will each have one or more dedicated mentors with expertise in phylogenetic methods and open-source software development. NESCent is particularly targeting students interested in both evolutionary biology and software development. Project ideas (see URL below) range from visualizing phylogenetic data in R, to development of a Mesquite module, web-services for phylogenetic data providers or geophylogeny mashups, implementing phyloXML support, navigating databases of networks, topology queries for PhyloCode registries, to phylogenetic tree mining in a MapReduce framework, and more. The project ideas are flexible and many can be adjusted in scope to match the skills of the student. If the program sounds interesting to you but you are unsure whether you have the necessary skills, please email the mentors at the address below. We will work with you to find a project that fits your interests and skills. INQUIRIES: Email any questions, including self-proposed project ideas, to phylosoc {at} nescent {dot} org. TO APPLY: Apply on-line at the Google Summer of Code website (http://code.google.com/soc/2008), where you will also find GSoC program rules and eligibility requirements. The 1-week application period for students opens on Monday March 24th and runs through Monday, March 31st, 2008. From raoul.bonnal at itb.cnr.it Thu Mar 27 12:04:59 2008 From: raoul.bonnal at itb.cnr.it (Raoul Jean Pierre Bonnal) Date: Thu, 27 Mar 2008 17:04:59 +0100 Subject: [BioRuby] Aptana JRuby BioRuby Test Message-ID: <1206633899.8310.5.camel@Graco> Hello Guys, this is a the result of running bioruby tests using Aptana Studio build: 1.1.5.009212, Rad Rails 1.0 and JRuby ruby 1.8.6 (2008-02-22 rev 5944) [i386-jruby1.1RC2]. I did the test on branch Biohackathon2008 :-) Loaded suite . Started ..............ID AJ224122; SV 3; linear; genomic DNA; STD; PLN; 3827 BP. XX AC AJ224122; XX DT 27-FEB-1998 (Rel. 54, Created) DT 14-NOV-2006 (Rel. 89, Last updated, Version 6) XX DE Arabidopsis thaliana DAG1 gene XX KW BBFa gene; transcription factor. XX OS Arabidopsis thaliana (thale cress) OC Eukaryota; Viridiplantae; Streptophyta; Embryophyta; Tracheophyta; OC Spermatophyta; Magnoliophyta; eudicotyledons; core eudicotyledons; rosids; OC eurosids II; Brassicales; Brassicaceae; Arabidopsis. XX XX FH Key Location/Qualifiers FH XX SQ Sequence 3827 BP; 1216 A; 1328 T; 693 C; 590 G; 0 other; aattaaaacg ccacgcaagg cgattctagg aaatcaaaac gacacgaaat gtggggtggg 60 tgtttgggta ggaaagacag ttgtcaacat cagggatttg gattgaatca aaaaaaaagt 120 ccttagattt cataaaagct aatcacgcct caaaactggg gcctatctct tcttttttgt 180 cgcttcctgt cggtccttct ctatttcttc tccaacccct catttttgaa tatttacata 240 acaaaccgtt ttactttctt tggtcaaaat tagacccaaa attctatatt agtttaagat 300 atgtggtctg taatttattg ttgtattgat ataaaaatta gttataagcg attatatttt 360 tatgctcaag taactggtgt tagttaacta tattccacca cgataacctg attacataaa 420 atatgatttt aatcatttta gtaaaccata tcgcacgttg gatgattaat tttaacggtt 480 taataacacg tgattaaatt atttttagaa tgattattta caaacggaaa agctatatgt 540 gacacaataa ctcgtgcagt attgttagtt tgaaaagtgt atttggtttc ttatatttgg 600 cctcgatttt cagtttatgt gctttttaca aagttttatt ttcgttatct gtttaacgcg 660 acatttgttg tatggcttta ccgatttgag aataaaatca tattaccttt atgtagccat 720 gtgtggtgta atatataata atggtccttc tacgaaaaaa gcagatcaca attgaaataa 780 agggtgaaat ttggtgtccc ttttcttcgt cgaaataaca gaactaaata aaagaaagtg 840 ttatagtata ttacgtccga agaataatcc atattcctga aatacagtca acatattata 900 tatttagtac tttatataaa gttaggaatt aaatcatatg ttttatcgac catattaagt 960 cacaacttta tcataaatta atctgtaatt agaattccaa gttcgccacc gaatttcgta 1020 acctaatcta catataatag ataaaatata tatatgtaga gtaattatga tatctatgta 1080 tgtagtcatg gtatatgaat tttgaaattg gcaaggtaac attgacggat cgtaacccaa 1140 caaataatat taattacaaa atgggtgggc gggaatagta tacaactcat aattccactc 1200 actttttgta ttattaggat atgaaataag agtaatcaac atgcataata aagatgtata 1260 atttcttcat cttaaaaaac ataactacat ggtttaatac acaattttac cttttatcaa 1320 aaaagtattt cacaattcac tcgcaaatta cgaaatgatg gctagtgctt caactccaaa 1380 tttcgaatat tttaaatcac gatgtgtaga accttttatt tactggatac taatcactag 1440 tttattgagc caaccaatta gttaaataga acaatcaata ttatagccag atattttttc 1500 ctttaaaaat atttaaaaga ggggccagaa aagaaccaga gagggaggcc atgagacatt 1560 attatcacta gtcaaaaaca acaaaccctc cttttgcttt ttcatataaa ttattatatt 1620 ttattttgca ggtttcttct cttcttcttc ttcttcttct tcttcttcct cttggctgct 1680 ttctttcatc atccataaag tgaaagctaa cgcatagaga gagccatatc gtcccaaaaa 1740 aagcaaaagt ccaaaaaaaa acaactccaa aacattctct cttagctctt tactctttag 1800 tttctctctc tctctctgcc tttctctttg ttgaagttca tggatgctac gaagtggact 1860 caggtacgta aaaagatatc tctctgctat atctgtttgt ttgtagcttc tccccgactc 1920 tcacgctctc tctctctctc tctctctctt tgtgtatctc tctactcaca taaatatata 1980 catgtgtgtg tatgcatgtt tatatgtatg tatgaaacca gtagtggtta tacagatagt 2040 ctatatagag atatcaatat gatgtgtttt aatttagact ttttatatat ccgtttgaaa 2100 cttccgaagt tctcgaatgg agttaaggaa gttttgttct ctacaagttc aatttttctt 2160 gtcattaatt ataaaactct gataactaat ggataaaaaa ggtatgcttt gttagttacc 2220 ttttgttctt ggtgctcagg tcttaccatt tttttcctaa attttaatta gtctcctttc 2280 tttaattaat tttatgttaa cgcactgacg atttaacgtt aacaaaaaaa cctagattct 2340 ttttcttttc aatagagcat aattattact tcaatttcat ttatctcaca ctaaacccta 2400 atcttggcga aattcctttt atatatataa atttaattaa tttttccaca atcttggcgg 2460 aattcaggac tcggttttgc ttgttattgt tctctctttt aatttgacat ggttagggaa 2520 tacttaaagt atgtcttaat tttatagggt tttcaagaaa tgataaacgt aaagccaatg 2580 gagcaaatga tttctagcac caacaacaac acaccgcaac aacaaccaac attcatcgcc 2640 accaacacaa ggccaaacgc caccgcatcc aatggtggct ccggaggaaa taccaacaac 2700 acggctacga tggaaactag aaaggcgagg ccacaagaga aagtaaattg tccaagatgc 2760 aactcaacaa acacaaagtt ctgttattac aacaactaca gtctcacgca accaagatac 2820 ttctgcaaag gttgtcgaag gtattggacc gaaggtggct ctcttcgtaa cgtcccagtc 2880 ggaggtagct caagaaagaa caagagatcc tctacacctt tagcttcacc ttctaatccc 2940 aaacttccag atctaaaccc accgattctt ttctcaagcc aaatccctaa taagtcaaat 3000 aaagatctca acttgctatc tttcccggtc atgcaagatc atcatcatca tggtatgtct 3060 catttttttc atatgcccaa gatagagaac aacaatactt catcctcaat ctatgcttca 3120 tcatctcctg tctcagctct tgagcttcta agatccaatg gagtctcttc aagaggcatg 3180 aacacgttct tgcctggtca aatgatggat tcaaactcag tcctgtactc atctttaggg 3240 tttccaacaa tgcctgatta caaacagagt aataacaacc tttcattctc cattgatcat 3300 catcaaggga ttggacataa caccatcaac agtaaccaaa gagctcaaga taacaatgat 3360 gacatgaatg gagcaagtag ggttttgttc cctttttcag acatgaaaga gctttcaagc 3420 acaacccaag agaagagtca tggtaataat acatattgga atgggatgtt cagtaataca 3480 ggaggatctt catggtgaaa aaaggttaaa aagagctcat gaactatcag ctttcttctc 3540 tttttctgtt tttttctcct attttattat agtttttact ttgatgatct tttgtttttt 3600 ctcacatggg gaactttact taaagttgtc agaacttagt ttacagattg tctttttatt 3660 ccttctttct ggttttcctt ttttcctttt tttatcagtc tttttaaaat atgtatttca 3720 taattgggtt tgatcattca tatttattag tatcaaaata gagtctatgt tcatgaggga 3780 gtgttaaggg gtgtgagggt agaagaataa gtgaatacgg gggcccg 3827 // ................................................................................................................................................................Bio::Features is obsoleted. Some methods are added to given array to keep backward compatibility. Bio::Features is obsoleted. Now, features are stored in an array. Bio::Features is obsoleted. Now, features are stored in an array. .Bio::Features is obsoleted. Some methods are added to given array to keep backward compatibility. .Bio::Features is obsoleted. Some methods are added to given array to keep backward compatibility. .Bio::Features is obsoleted. Some methods are added to given array to keep backward compatibility. Bio::Features is obsoleted. Now, features are stored in an array. .....................................................Bio::References is obsoleted. Some methods are added to given array to keep backward compatibility. Bio::References is obsoleted. Now, references are stored in an array. .Bio::References is obsoleted. Some methods are added to given array to keep backward compatibility. ......F.FFFF..F.....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................FFFF.................................................................................................................................................................................................................................................................................................................................................................................................................F......................................................................................................................... Finished in 60.986000000000004 seconds. 1) Failure: test_depth_first_search(Bio::TestSampleGraph) [test/runner.rb:10]: timestamps wrong. <{"v"=>[1, 6], "w"=>[2, 5], "x"=>[7, 10], "y"=>[11, 16], "z"=>[8, 9], "q"=>[12, 15], "r"=>[17, 20], "s"=>[3, 4], "t"=>[13, 14], "u"=>[18, 19]}> expected but was <{"q"=>[1, 16], "s"=>[2, 7], "v"=>[3, 6], "w"=>[4, 5], "t"=>[8, 15], "x"=>[9, 12], "z"=>[10, 11], "y"=>[13, 14], "r"=>[17, 20], "u"=>[18, 19]}>. 2) Failure: test_dump_list(Bio::TestSampleGraph) [test/runner.rb:10]: <"v => w (1)\nw => s (1)\nx => z (1)\ny => q (1)\nz => x (1)\nq => w (1), s (1), t (1)\nr => y (1), u (1)\ns => v (1)\nt => x (1), y (1)\nu => y (1)\n"> expected but was <"q => s (1), t (1), w (1)\ns => v (1)\nt => x (1), y (1)\nw => s (1)\nr => u (1), y (1)\nu => y (1)\ny => q (1)\nv => w (1)\nx => z (1)\nz => x (1)\n">. 3) Failure: test_dump_matrix(Bio::TestSampleGraph) [test/runner.rb:10]: <"[# v, w, x, y, z, q, r, s, t, u\n [0, 1, 0, 0, 0, 0, 0, 0, 0, 0],\n [0, 0, 0, 0, 0, 0, 0, 1, 0, 0],\n [0, 0, 0, 0, 1, 0, 0, 0, 0, 0],\n [0, 0, 0, 0, 0, 1, 0, 0, 0, 0],\n [0, 0, 1, 0, 0, 0, 0, 0, 0, 0],\n [0, 1, 0, 0, 0, 0, 0, 1, 1, 0],\n [0, 0, 0, 1, 0, 0, 0, 0, 0, 1],\n [1, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n [0, 0, 1, 1, 0, 0, 0, 0, 0, 0],\n [0, 0, 0, 1, 0, 0, 0, 0, 0, 0]\n]"> expected but was <"[# q, s, t, w, r, u, y, v, x, z\n [0, 1, 1, 1, 0, 0, 0, 0, 0, 0],\n [0, 0, 0, 0, 0, 0, 0, 1, 0, 0],\n [0, 0, 0, 0, 0, 0, 1, 0, 1, 0],\n [0, 1, 0, 0, 0, 0, 0, 0, 0, 0],\n [0, 0, 0, 0, 0, 1, 1, 0, 0, 0],\n [0, 0, 0, 0, 0, 0, 1, 0, 0, 0],\n [1, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n [0, 0, 0, 1, 0, 0, 0, 0, 0, 0],\n [0, 0, 0, 0, 0, 0, 0, 0, 0, 1],\n [0, 0, 0, 0, 0, 0, 0, 0, 1, 0]\n]">. 4) Failure: test_extract_subgraph_by_label(Bio::TestSampleGraph) [test/runner.rb:10]: <"v => w (1)\nw => s (1)\nq => w (1), s (1)\ns => v (1)\n"> expected but was <"q => s (1), w (1)\ns => v (1)\nw => s (1)\nv => w (1)\n">. 5) Failure: test_extract_subgraph_by_list(Bio::TestSampleGraph) [test/runner.rb:10]: <"x => z (1)\ny => q (1)\nz => x (1)\nq => t (1)\nt => x (1), y (1)\n"> expected but was <"q => t (1)\nt => x (1), y (1)\ny => q (1)\nx => z (1)\nz => x (1)\n">. 6) Failure: test_to_matrix(Bio::TestSampleGraph) [test/runner.rb:10]: matrix wrong. expected but was . 7) Failure: test_list_falsenegative(Bio::TestPROSITE) [test/runner.rb:10]: <["P18259", "Q13813", "Q55593", "Q00274", "P54466", "Q9HJA4", "P55687", "Q9W0K0", "Q42608", "P45873", "P45198", "P15828", "P18609", "Q51758", "P24151", "P23892", "P41510", "P22817", "P46457", "O15910", "P23515", "O59098", "P26560", "P26561", "P47551", "P22023", "P21503", "Q9VNB3", "P25147", "Q42675", "P21524", "P06882", "Q61647", "P42790", "Q10775", "O84877", "P51656", "P75548", "Q92839", "P51657", "P37274", "P34724", "P07751", "P00498", "P07886", "P26258", "O67284", "Q25410", "P46724", "P76097", "P16086", "P08032", "P14198", "P77916", "O60779", "P13688", "Q03834", "Q63912", "O68824", "P77932", "Q53547", "P77933", "P34529", "Q00126"]> expected but was <["P14198", "P13688", "P23892", "P51656", "P51657", "P77916", "P77933", "P77932", "Q51758", "Q53547", "O68824", "P15828", "Q92839", "Q61647", "P46724", "P45873", "P00498", "P75548", "P22817", "P25147", "P22023", "Q55593", "Q25410", "Q03834", "P24151", "Q9VNB3", "P23515", "Q63912", "P34724", "P37274", "P42790", "Q10775", "Q42608", "P41510", "O84877", "Q9HJA4", "P21524", "O15910", "P46457", "Q9W0K0", "P08032", "P07751", "Q13813", "P16086", "P26258", "O60779", "P06882", "Q42675", "Q00126", "P07886", "P18609", "P26560", "P18259", "P26561", "Q00274", "P47551", "P55687", "O67284", "P21503", "P76097", "P45198", "O59098", "P34529", "P54466"]>. 8) Failure: test_list_falsepositive(Bio::TestPROSITE) [test/runner.rb:10]: <["P41985", "P41986", "P17645", "Q60612", "Q60879", "P52592", "Q60882", "Q60883", "Q60884", "Q60885", "Q60886", "Q60887", "Q60888", "Q60889", "Q60890", "P49218", "Q60891", "Q60892", "P49220", "Q60893", "Q60894", "Q60895", "O70430", "O70432", "P51046", "P51047", "P51048", "P51049", "P51051", "P51052", "Q98913", "Q98914", "Q61616", "Q61618", "P79250", "P14803", "P49287", "Q28602", "P97267", "Q90305", "Q29006", "Q95252", "P34985", "Q90456", "Q95136", "Q95137", "Q62953", "Q95195"]> expected but was <["P79250", "P97267", "Q29006", "Q60612", "Q61618", "P41985", "P41986", "O70430", "O70432", "Q95252", "Q95136", "Q61616", "Q95137", "Q95195", "P52592", "P51046", "P51047", "P51049", "Q90456", "P49218", "P51048", "P49287", "P51051", "P51052", "Q62953", "Q28602", "P14803", "Q60883", "Q60890", "Q60894", "P34985", "Q60882", "Q60884", "Q60886", "Q60887", "Q60888", "Q60893", "Q60895", "Q60891", "Q60879", "Q60889", "Q98913", "Q60892", "Q98914", "Q60885", "P17645", "Q90305", "P49220"]>. 9) Failure: test_list_potentialhit(Bio::TestPROSITE) [test/runner.rb:10]: <["P41985", "P41986", "P17645", "Q60612", "Q60879", "P52592", "Q60882", "Q60883", "Q60884", "Q60885", "Q60886", "Q60887", "Q60888", "Q60889", "Q60890", "P49218", "Q60891", "Q60892", "P49220", "Q60893", "Q60894", "Q60895", "O70430", "O70432", "P51046", "P51047", "P51048", "P51049", "P51051", "P51052", "Q98913", "Q98914", "Q61616", "Q61618", "P79250", "P14803", "P49287", "Q28602", "P97267", "Q90305", "Q29006", "Q95252", "P34985", "Q90456", "Q95136", "Q95137", "Q62953", "Q95195"]> expected but was <["P79250", "P97267", "Q29006", "Q60612", "Q61618", "P41985", "P41986", "O70430", "O70432", "Q95252", "Q95136", "Q61616", "Q95137", "Q95195", "P52592", "P51046", "P51047", "P51049", "Q90456", "P49218", "P51048", "P49287", "P51051", "P51052", "Q62953", "Q28602", "P14803", "Q60883", "Q60890", "Q60894", "P34985", "Q60882", "Q60884", "Q60886", "Q60887", "Q60888", "Q60893", "Q60895", "Q60891", "Q60879", "Q60889", "Q98913", "Q60892", "Q98914", "Q60885", "P17645", "Q90305", "P49220"]>. 10) Failure: test_list_truepositive(Bio::TestPROSITE) [test/runner.rb:10]: <["O42427", "P11617", "P46090", "P30939", "P28336", "Q9Z2J6", "Q64326", "P46092", "P07550", "Q9UKL2", "P30940", "P46093", "Q61224", "Q63384", "P46094", "Q28309", "P22328", "P46095", "O77590", "O02813", "Q9R1C8", "P22329", "O93441", "O42300", "Q10904", "O43613", "Q9Z0D9", "P18130", "O42301", "O43614", "P22330", "P22331", "Q9GLJ8", "O15552", "O43193", "P22332", "O43194", "Q9WV26", "Q9TST4", "Q62053", "P58307", "O42307", "Q9TST5", "P58308", "Q9TST6", "P41983", "P30951", "P41984", "O02824", "O88626", "P91657", "P30953", "P18825", "O62709", "O42574", "P30954", "Q28585", "O88628", "P30955", "P28221", "Q9WU02", "P28222", "P32299", "P70310", "P28223", "O76099", "P04201", "P35894", "Q15722", "P35895", "O93459", "P14416", "P35897", "P35898", "P35899", "P49578", "O42451", "P47745", "Q9Y5N1", "O42452", "P50052", "P47746", "O97878", "O02835", "Q09502", "Q28596", "O00254", "P31355", "P47747", "O97879", "O02836", "P31356", "P30966", "P79436", "P47748", "P87365", "P08099", "Q9JL21", "P47749", "P87366", "O18481", "P16582", "P87367", "P30968", "O97880", "P47750", "P87368", "Q62758", "P30969", "Q28468", "O97881", "Q09638", "P09703", "P87369", "O95918", "Q9TUE1", "O97882", "P22909", "P09704", "O18485", "O42327", "P47751", "P47883", "P18841", "O55193", "O97883", "O18486", "O42328", "P47884", "Q9EP86", "O42329", "O14626", "P48145", "P47887", "O08725", "P48146", "P30974", "O08858", "O18910", "O42330", "O55197", "O08726", "O70526", "P30975", "O18911", "Q28474", "O18912", "O70528", "O18913", "P34311", "O18914", "O42466", "O95371", "Q9WU25", "P47892", "P70596", "P33396", "P70597", "Q61130", "Q15743", "Q15612", "P51144", "P32745", "O00270", "Q00991", "Q9YGY9", "P29754", "Q9GZK3", "O02721", "Q9GZK4", "Q15615", "Q9Y5P1", "Q60613", "Q15062", "P29755", "Q9UKP6", "Q28905", "Q9YGZ0", "P47898", "Q60614", "P47899", "Q9GZK7", "Q9YGZ1", "Q9YGZ2", "O97504", "Q15619", "P30987", "Q9YGZ3", "Q9YGZ4", "Q93126", "Q15620", "Q9YGZ5", "P30989", "Q13725", "Q93127", "P16473", "P23749", "Q9YGZ6", "O54814", "O62743", "Q9YGZ7", "P52202", "Q15622", "Q9YGZ8", "P56514", "P30728", "O97772", "Q9YGZ9", "P30991", "P56515", "P30729", "Q9J529", "P56516", "P47774", "O62747", "P30992", "P35403", "P15823", "P47775", "Q9WUK7", "P30993", "O97512", "P35404", "P06002", "O08878", "P30730", "P30994", "O46635", "P35405", "P30731", "P21728", "P35406", "P42288", "P21729", "P35407", "P49217", "P31387", "P35408", "P42289", "O00155", "P31388", "O46639", "P48039", "Q64121", "P35409", "P49219", "P31389", "O18935", "Q9TU05", "P42290", "P21730", "P21731", "P18871", "P31390", "P42291", "P48040", "P31391", "P35410", "P20789", "Q13606", "P48042", "O42490", "P35411", "O88410", "P31392", "P29089", "Q13607", "P48043", "P35412", "P48044", "O89039", "P35413", "P30872", "O01668", "P35414", "P30873", "Q9YH00", "P79211", "P30874", "Q9YH01", "Q28927", "P30875", "Q9YH02", "P49912", "O08890", "P25100", "Q28928", "O95006", "Q9YH03", "P25101", "Q28929", "O95007", "O15218", "O88680", "Q9YH04", "O08892", "Q05394", "P79901", "Q9YH05", "P25102", "P33032", "Q64264", "Q9ERZ3", "P79902", "P25103", "P79217", "Q9UGF5", "Q9ERZ4", "Q9N2A2", "P79903", "P13945", "P25104", "P79218", "P33033", "Q9UGF6", "Q9N2A3", "P25105", "O97661", "O70431", "P79350", "Q9UGF7", "Q9N2A4", "P48974", "P25106", "O97663", "P03999", "P16235", "O95013", "P22269", "O97665", "P26684", "P97468", "P47798", "O97666", "P22270", "O18821", "P47799", "P49922", "Q61038", "P51050", "P25929", "P49238", "Q28807", "P28285", "P79911", "P28286", "P13953", "Q19084", "O61303", "P04000", "P25930", "P04001", "Q9NPB9", "P25931", "Q9R1K6", "P42866", "P56412", "P79914", "Q61041", "Q9GK74", "P25115", "P04950", "P25116", "P19020", "P18762", "O12948", "Q26495", "Q09561", "Q25157", "P70115", "O77830", "Q83207", "P02699", "O12000", "Q01717", "Q25158", "P29403", "P50406", "Q01718", "P29404", "O42384", "P50407", "P79234", "O42385", "O02769", "Q17232", "P79236", "P21761", "P79237", "P04274", "Q28003", "O75388", "P24603", "Q9TUK4", "P53452", "P08588", "Q28005", "P43240", "Q61184", "O08786", "P79240", "P53453", "Q13639", "Q9Y3N9", "Q9UP62", "P18089", "P53454", "P79928", "P79242", "Q01726", "P24053", "P79243", "Q17239", "Q01727", "Q14330", "P18090", "Q9R024", "O62791", "O02777", "P43114", "O62792", "P79113", "O77713", "O08790", "O62793", "P54833", "P43116", "O62794", "Q61614", "O77715", "Q00788", "P43117", "O42266", "O62795", "O88319", "Q03566", "P43118", "O62796", "O02781", "O08530", "P43119", "O42268", "P16395", "O62798", "Q9DDN6", "P05363", "P30518", "O13227", "Q9GZQ6", "P43252", "O18982", "P43253", "P79807", "O18983", "P79808", "O77721", "O35786", "P30098", "P56439", "P79809", "P20309", "O77723", "P56440", "Q28838", "P55919", "Q9UHM6", "Q9TT23", "P56441", "P97926", "Q63652", "P55920", "P56442", "P79812", "P25962", "P56443", "P35462", "P56444", "P35463", "P56445", "O97571", "P79393", "P56446", "O02662", "P49144", "P56447", "P79394", "Q25188", "P49145", "P28190", "P56448", "P24628", "P56449", "O02664", "P49146", "P33765", "Q9EQD2", "Q24563", "P33766", "Q90674", "O02666", "P56450", "P06199", "Q25190", "O02667", "Q99500", "P25021", "P56451", "P08482", "P30796", "Q9H1Y3", "Q28031", "P79266", "O14581", "P08483", "P25023", "P49019", "P25024", "P08485", "P12657", "P12526", "Q9QXZ9", "P08908", "P07700", "P25025", "P32300", "Q9Z1S9", "P35342", "P17200", "O09047", "P08909", "O76100", "Q91175", "P43140", "P49285", "P32302", "P35343", "P43141", "P49286", "P32303", "P35344", "Q91178", "P32304", "Q9Y5X5", "P35345", "P08911", "P43142", "O08556", "P49288", "P35346", "P52702", "P32305", "P08912", "P11483", "P32306", "P52703", "Q9R0M1", "P08913", "P32307", "Q62463", "P35348", "O42294", "P30542", "P32308", "P30411", "P30543", "P32309", "Q9TU77", "Q02152", "Q02284", "Q18904", "P35350", "P30545", "Q28044", "P08100", "O77616", "P35351", "P70031", "P30546", "P79148", "P30547", "P32310", "P16849", "P32311", "Q9JI35", "P30548", "P32312", "P30549", "Q9Y5Y4", "P30680", "P32313", "O08565", "Q28997", "P97266", "P11229", "Q28998", "Q9NYM4", "O93603", "P35356", "P30550", "O15973", "P35357", "P30551", "O77621", "P35358", "P58173", "P34968", "P30552", "P35359", "P34969", "P22888", "P30553", "O19012", "P30554", "P30555", "O19014", "P35360", "Q9MZV8", "P30556", "Q99788", "P35361", "Q04683", "P34970", "P35362", "P70174", "P34971", "Q9WUT7", "P30558", "Q9TUP7", "P79291", "P28088", "P35363", "P34972", "O42179", "P30559", "P79292", "Q99527", "Q01776", "P35364", "P34973", "Q64077", "P41591", "P21554", "P34974", "Q9XT45", "O88495", "P46002", "Q90309", "P41592", "P79848", "P56479", "P21555", "Q9GLX8", "P35365", "P34975", "Q29003", "P30560", "P35366", "P21556", "P47211", "P16177", "P34976", "P10980", "O42604", "P35367", "Q95247", "P34977", "Q29005", "P33533", "P34978", "P28646", "Q17292", "P41595", "P35368", "P33534", "P56481", "P79166", "P41596", "P20905", "P35369", "P28647", "P33535", "P56482", "P41597", "P24530", "P56483", "P47900", "O19024", "P35370", "P56484", "P47901", "O18766", "Q17296", "O19025", "P35371", "P51651", "P34981", "P56485", "Q9H207", "P35372", "P56486", "Q13304", "P35373", "P34982", "Q29010", "Q9H209", "P35374", "P34983", "O76000", "P08255", "P04761", "P22086", "P56488", "P35375", "Q98980", "Q28886", "Q95254", "P14842", "P34984", "O76001", "O76002", "P56489", "P35376", "P34986", "Q9XT57", "Q98982", "Q95125", "Q28756", "Q9H343", "O13018", "P35377", "P34987", "Q9XT58", "P97288", "P56490", "Q9H344", "P35378", "P70612", "P56491", "P79175", "P34989", "P35379", "P16610", "P56492", "O19032", "P79176", "Q9H346", "P49059", "P56493", "P79177", "P56494", "Q9NQN1", "P56495", "P79863", "P97292", "Q91081", "P79178", "P97714", "Q99677", "P35382", "P35383", "O54798", "P56496", "Q99678", "O19037", "Q04573", "P34992", "P34993", "P15409", "O54799", "P56497", "Q99679", "Q94741", "P97717", "P34994", "Q29154", "P97295", "Q90328", "P56498", "P32211", "Q92847", "P34995", "P32212", "P34996", "Q60474", "P34997", "Q63447", "Q60475", "P10608", "Q60476", "Q62928", "Q13585", "O95665", "P79188", "P37288", "Q9DGG4", "Q90334", "P51436", "P26255", "P37289", "Q17053", "O16005", "Q28509", "P21450", "P55167", "Q9Z2D5", "P79190", "P21451", "Q9QZN9", "P79191", "P21452", "P51675", "Q28642", "P21453", "P51676", "Q60483", "P49892", "P14600", "P51677", "Q60484", "Q9ES90", "Q9HC97", "P51678", "P17124", "P79748", "P51679", "O18793", "Q62805", "P41231", "P28678", "P41232", "Q9Y2T5", "P51680", "P18599", "Q9TT96", "Q9WVD0", "P28679", "O19054", "Q18007", "P32229", "Q9XT82", "O35599", "P51681", "P51682", "P47800", "P28680", "Q25414", "P28681", "P51683", "Q90214", "Q28519", "Q90215", "P51684", "P28682", "O60755", "P28683", "P29371", "P51685", "Q9H3N8", "O16017", "P21462", "P25089", "O00574", "P21463", "P28684", "P79756", "O54689", "P51686", "P47936", "O16018", "P51582", "O16019", "P22671", "Q9UM60", "P47937", "O77408", "Q9TTQ9", "Q95154", "P26824", "P25090", "Q95155", "O16020", "P52500", "Q95156", "Q28524", "O35210", "P32236", "Q95157", "P48302", "Q90352", "P32237", "O35476", "P02700", "P48303", "P32238", "O02213", "P25095", "P32239", "O35214", "O35478", "P32240", "P20395", "P79763", "P18901", "Q16581", "P25099", "P79898", "O77680", "P32244", "Q9PUI7", "P28564", "P49650", "P32245", "P28565", "P49651", "P32246", "P28566", "P49652", "Q98894", "P32247", "Q9H255", "Q98895", "P32248", "P32249", "P20272", "P43088", "Q95170", "P50128", "P32250", "P50391", "P70658", "P08172", "P50129", "P08173", "P32251", "P46616", "Q9QYN8", "P50130", "P51470", "P14763", "P51471", "P50132", "Q27987", "P49660", "P51472", "P51473", "O60412", "P51474", "P51475", "Q90373", "Q95179", "P51476", "P58406", "O88853", "P70536", "Q17094", "O88854", "Q11082", "P37067", "Q90245", "P79785", "P37068", "O13076", "Q92633", "P46626", "Q91559", "P37069", "P46627", "P21917", "P23944", "O97967", "P46628", "P56971", "P43657", "O62809", "Q28553", "P21918", "P23945", "P20288", "O19091", "O15529", "P37070", "Q28422", "P29274", "P37071", "P29275", "Q9Z0Z6", "P29276", "Q25321", "Q18179", "P30372", "Q90252", "O14843", "Q9Z2I3", "Q25322", "Q08520", "Q28558", "P51488", "P41143", "P23265", "Q28691", "P51489", "P09241", "O18312", "P41144", "Q61212", "P23266", "Q9WV08", "P41145", "P46636", "P23267", "P56718", "P41146", "P21109", "P51490", "P79400", "Q9UPC5", "Q62035", "P56719", "P23269", "O14718", "P79798", "P51491", "O18315", "P41149", "P23270", "O60431", "P49681", "P23271", "P19327", "P30935", "P11613", "P49682", "P23272", "P41968", "O43603", "P19328", "Q63931", "P30936", "P49683", "P11614", "P23273", "P46089", "P28334", "P49684", "P30937", "P11615", "P23274", "P28335", "O13092", "O43869", "P97520", "Q01337", "P30938", "P49685", "P11616", "P23275", "Q01338"]> expected but was <["O42385", "P08908", "Q64264", "P19327", "O08892", "P46636", "P35404", "O42384", "P28222", "P28334", "P49144", "P28564", "P56496", "P11614", "Q60484", "P79748", "P28221", "Q61224", "P79400", "P49145", "P28565", "P28566", "Q29003", "O08890", "P30939", "Q02284", "P30940", "O46635", "P35382", "P18599", "P28223", "P50128", "P35363", "P50129", "P14842", "P41595", "Q02152", "Q29005", "P30994", "P28335", "P34968", "P08909", "O70528", "Q13639", "P97288", "Q62758", "P47898", "P30966", "P35364", "P31387", "P35365", "P50406", "Q9R1C8", "P31388", "P50407", "P34969", "P32304", "P32305", "Q91559", "P20905", "Q17239", "Q25190", "Q25414", "P28285", "P28286", "P18130", "O77621", "Q9WU25", "P35348", "Q91175", "O02824", "P43140", "P11615", "P35368", "P18841", "P97717", "P15823", "P25100", "P97714", "O02666", "P23944", "Q28838", "Q60474", "P08913", "Q01338", "P18871", "P22909", "O18935", "Q60475", "O77715", "O77713", "O77723", "O19014", "O19012", "O77721", "P18089", "O19025", "P30545", "O19032", "O19054", "O77830", "P19328", "O19091", "Q60476", "P35405", "P18825", "Q01337", "P22086", "P35369", "P32251", "Q91081", "P28190", "P11616", "P47745", "P49892", "P30542", "P34970", "P25099", "P11617", "P46616", "P29274", "Q60613", "P30543", "O13076", "P29275", "Q60614", "P29276", "Q28309", "P33765", "O02667", "P28647", "P35342", "P16395", "P11229", "P56489", "P12657", "P04761", "P08482", "P30372", "P08172", "Q9ERZ4", "P06199", "P10980", "P41984", "P49578", "Q9N2A3", "P20309", "Q9ERZ3", "Q9N2A4", "P11483", "Q9N2A2", "P08483", "P17200", "P08173", "P32211", "P08485", "P08912", "P56490", "P08911", "P34974", "Q9Z1S9", "Q01718", "P70115", "Q64326", "Q28928", "Q9TU77", "O15218", "P43142", "P31392", "P50052", "Q9Z0Z6", "P35374", "P35351", "Q28929", "P25104", "P43240", "Q9WV26", "P79785", "P30556", "P33396", "O35210", "P29754", "P30555", "P34976", "P25095", "O77590", "P32303", "Q13725", "P29755", "P29089", "P35373", "P34977", "P35414", "O97666", "Q9WV08", "Q90352", "Q9TT96", "P79148", "Q9TST6", "P08588", "P47899", "P07700", "P34971", "Q28998", "P18090", "Q28927", "O42574", "Q28044", "P54833", "Q9TST5", "P07550", "Q28509", "O70431", "P04274", "P18762", "Q28997", "P10608", "P46626", "O02662", "Q9XT57", "Q60483", "Q9TST4", "P13945", "Q28524", "P25962", "P26255", "Q9XT58", "P43141", "O70526", "P30411", "P32299", "Q9GLX8", "Q28642", "P25023", "P35371", "P32247", "O54798", "O97967", "P47751", "O88680", "Q16581", "O09047", "O55197", "P49238", "Q9Z0D9", "P35411", "P30992", "P79175", "P21730", "P79188", "P30993", "P79240", "P79234", "Q9TUE1", "P97520", "Q98894", "Q98895", "O02777", "P21554", "P47746", "P56971", "P20272", "Q9PUI7", "P34972", "P47936", "Q9QZN9", "Q63931", "P32238", "O08786", "O97772", "P30551", "P70031", "P49682", "O88410", "P25930", "O62747", "P56498", "P30991", "Q28474", "P79394", "P70658", "P56491", "O08565", "Q28553", "P32302", "Q04683", "P34997", "O18983", "O00574", "Q9XT45", "O19024", "P32246", "P56482", "P51675", "P41597", "O18793", "P51683", "O55193", "Q9Z2I3", "P56492", "P51677", "P56483", "P51678", "O54814", "P51679", "P51680", "P56493", "O62743", "P56439", "P51681", "O97883", "P79436", "P51682", "P56440", "P56441", "O97881", "O97880", "O97882", "O08556", "O97878", "O97879", "P51684", "O54689", "P32248", "P47774", "P51685", "O97665", "P56484", "P51686", "Q9WUT7", "P46092", "Q9JL21", "P35350", "Q9NPB9", "P51676", "Q99788", "P97468", "O35786", "Q99527", "O08878", "P46094", "Q9R0M1", "P35406", "P53452", "P47800", "P24628", "P34973", "P20288", "P52702", "P53453", "P14416", "P13953", "P52703", "P35462", "P30728", "P19020", "P21917", "P51436", "P30729", "P53454", "P42288", "P21728", "O77680", "P50130", "O02664", "P18901", "P42289", "P21918", "P25115", "P42290", "P42291", "P41596", "Q24563", "P32249", "P21453", "O08530", "P48303", "Q28031", "Q92633", "Q61130", "P46628", "Q99500", "P21450", "P25101", "Q61614", "Q29010", "P26684", "P28088", "P56497", "Q90328", "O62709", "P24530", "Q28468", "P48302", "P35463", "P21451", "P79177", "P25090", "P79190", "O08790", "P79242", "P79236", "P79178", "P25089", "P79191", "P79243", "P79237", "P79176", "P21462", "P33766", "Q05394", "P35376", "P79763", "Q95179", "P47799", "P23945", "P32212", "P35378", "P49059", "P20395", "P35379", "P47211", "P56479", "Q62805", "O43603", "O88854", "O08726", "O60755", "O88853", "O88626", "P79266", "P30552", "P32239", "P56481", "P30796", "P46627", "P30553", "Q92847", "Q95254", "O08725", "P35409", "O43193", "O43194", "O14843", "O15529", "O15552", "Q9Y5Y4", "Q9Z2J6", "Q9Y2T5", "Q15743", "Q9TTQ9", "Q9NYM4", "P30731", "P46090", "P46089", "P35413", "P46093", "P50132", "P46095", "P51651", "P48145", "P49681", "P48146", "P49683", "Q64121", "P47775", "P35412", "P30951", "O18982", "P49685", "O97663", "P56412", "Q13304", "Q14330", "Q99678", "Q99679", "O00155", "O00270", "O75388", "Q91178", "Q9UPC5", "Q9R1K6", "Q9HC97", "Q9ES90", "Q93126", "Q93127", "P32236", "O42329", "O18821", "P30968", "Q01776", "P49922", "P30969", "P32237", "P30550", "P21729", "P52500", "P35894", "P35895", "P34987", "P35897", "P35898", "P35899", "O14626", "P30546", "P31389", "P35367", "P70174", "P31390", "P17124", "P47747", "P25021", "P97292", "P25102", "Q9JI35", "Q9Y5N1", "P58406", "Q9QYN8", "Q9H3N8", "P49019", "P55919", "P25024", "P55920", "P21109", "P70612", "Q28003", "O97571", "Q28422", "P25025", "Q28519", "P35343", "Q28807", "P35344", "P35407", "Q90334", "Q28005", "O02721", "Q90674", "P22888", "P30730", "P16582", "P16235", "Q28585", "P04201", "P30554", "P12526", "P41968", "P33033", "P32244", "Q9GLJ8", "P32245", "P56450", "O97504", "P70596", "P56451", "P33032", "P41149", "Q9TT23", "Q9MZV8", "P35345", "P41983", "O02769", "P49285", "P48039", "Q61184", "P49217", "O02781", "P48040", "P51050", "P49286", "P49288", "P49219", "Q13585", "O88495", "Q28558", "P35410", "P56442", "P47798", "O77616", "P56443", "P56444", "P56445", "P55167", "P56446", "P79166", "Q01726", "Q01727", "P56447", "Q9TUK4", "Q9TU05", "P56448", "O19037", "Q29154", "Q90252", "Q9GZQ6", "Q9EP86", "Q9Y5X5", "Q9EQD2", "P30547", "P25103", "P30548", "Q98982", "P14600", "P05363", "Q64077", "P21452", "P51144", "P30549", "P79218", "P16610", "P29371", "P47937", "O97512", "P16177", "P30098", "P28336", "O54799", "P24053", "P30989", "O88319", "P20789", "O95665", "P70310", "Q63384", "O02813", "Q9WVD0", "P25929", "Q04573", "O02835", "P21555", "P34992", "P79113", "Q9Z2D5", "Q9DDN6", "P49146", "Q9GK74", "P97295", "O02836", "P79211", "P50391", "Q61041", "Q63447", "Q61212", "P79217", "P25931", "Q15619", "P34982", "P47884", "P30953", "P47887", "Q9UM60", "O60431", "Q15612", "Q9GZK3", "O76000", "P58173", "O95371", "Q13607", "O95006", "Q9GZK4", "O95918", "Q15062", "O76002", "O76001", "Q9NQN1", "O43869", "Q9Y3N9", "P47883", "Q15615", "O95013", "Q9UP62", "Q13606", "Q9UGF5", "Q9UGF6", "O95007", "Q15622", "O76100", "O14581", "O76099", "O60412", "Q15620", "Q9H209", "Q9H207", "P30954", "Q25321", "O77408", "Q25322", "Q17232", "P22270", "Q25188", "Q9GZK7", "Q9UGF7", "P34984", "P23275", "P47892", "P34983", "P23269", "Q95154", "P37067", "P23274", "Q95155", "P37068", "Q95156", "P37069", "P23265", "Q95157", "P37070", "P23273", "P37071", "P23266", "P34986", "P23267", "P23270", "P23271", "P23272", "P30955", "Q9H1Y3", "Q9WUK7", "Q9UHM6", "Q9QXZ9", "P41143", "P32300", "P79291", "P33533", "P41144", "P41145", "P33534", "P34975", "P79350", "P97266", "P35372", "P42866", "Q95247", "P33535", "P47748", "P41146", "P35377", "P79292", "P35370", "P22269", "P06002", "P28678", "Q25157", "P35360", "O15973", "Q94741", "P08099", "P28679", "Q25158", "P35361", "Q26495", "P04950", "P28680", "P08255", "P29404", "P91657", "O01668", "P51471", "P51472", "P51490", "P32310", "P28682", "O13227", "P35357", "P03999", "P51491", "P87365", "Q63652", "O13092", "O42294", "P52202", "Q90245", "Q90214", "P41591", "Q17053", "Q9YGZ1", "O42300", "O42301", "P02699", "P56514", "P56515", "Q17292", "O18312", "O16017", "O18315", "O16018", "P32308", "P32309", "Q17296", "Q9YGZ8", "P22328", "O42327", "O42307", "O42328", "O42330", "Q90373", "P28681", "P51488", "O62791", "Q9YGZ4", "Q9YH05", "Q9YH04", "O93441", "P79756", "O62792", "Q9YGZ2", "P08100", "O42268", "P22671", "O42427", "Q9YH00", "Q9YGZ6", "Q9YGZ7", "P24603", "Q17094", "Q28886", "O62793", "P15409", "Q9YGZ9", "Q9YH01", "P79798", "P79807", "P79808", "P79809", "P79812", "P09241", "O18481", "O16019", "P87369", "O42452", "Q98980", "O62795", "O62794", "O18766", "P79848", "P35403", "P35356", "O42451", "O16020", "O18485", "O18486", "P49912", "P79863", "P51470", "P31355", "P56516", "P51489", "Q9YGZ3", "P79898", "P79901", "Q9YGZ0", "P79902", "Q9YH03", "P79903", "P79911", "P79914", "O93459", "O16005", "P02700", "Q9YGZ5", "Q9YH02", "P35362", "O42466", "Q9DGG4", "P31356", "O62796", "O62798", "P29403", "O42604", "Q9YGY9", "Q90215", "P22330", "P32311", "Q9R024", "P28683", "P35358", "P04001", "O35599", "O18911", "P87366", "O18910", "O35476", "O35478", "P22331", "P32312", "P51474", "P34989", "O13018", "P51475", "P51476", "O42266", "O42490", "P41592", "P22332", "O18914", "Q95170", "P32313", "P22329", "O18913", "O18912", "P04000", "P87367", "O12948", "P35359", "Q90309", "O61303", "P28684", "P87368", "P51473", "O14718", "O35214", "O43613", "P58307", "O97661", "P56718", "Q9TUP7", "O43614", "P58308", "O62809", "P56719", "Q9Y5P1", "Q9H255", "O88628", "Q9H343", "Q9H344", "P56449", "P30559", "P56494", "P97926", "P32306", "P70536", "Q28756", "Q9UKL2", "Q9H346", "P41231", "P35383", "P41232", "P51582", "P32250", "P43657", "Q15722", "P79928", "Q99677", "P48042", "P34996", "P47900", "P49652", "P49650", "P49651", "P21556", "P25105", "P35366", "Q62035", "P46002", "O00254", "P34995", "P35375", "P70597", "Q9XT82", "P43116", "Q62053", "Q62928", "P35408", "P32240", "Q28691", "P43114", "P37289", "P43088", "P43117", "P43118", "Q28905", "P79393", "P43119", "P43252", "P43253", "P11613", "P25106", "P56485", "O89039", "P23749", "P30872", "P30873", "P28646", "P34993", "P30874", "P30875", "P34994", "P30680", "P32745", "P30935", "P30936", "P31391", "P49660", "P30937", "P35346", "O08858", "P30938", "O42179", "Q95125", "P56486", "P21731", "P30987", "P34978", "Q61038", "Q00991", "P25116", "P30558", "P56488", "P26824", "P47749", "P30974", "P30975", "O46639", "O93603", "P34981", "P21761", "Q01717", "Q28596", "Q27987", "P14763", "P16473", "P47750", "P21463", "P56495", "P16849", "Q83207", "O12000", "Q9UKP6", "P49684", "P09703", "P09704", "P37288", "Q62463", "P30560", "P48043", "P47901", "Q9WU02", "P48974", "Q9J529", "P48044", "P30518", "P32307", "Q00788", "P32229", "Q08520", "Q19084", "P34311", "Q03566", "Q09502", "O02213", "Q09638", "Q09561", "Q11082", "Q18007", "Q10904", "Q18179", "Q18904"]>. 11) Failure: test_lite_example(Bio::TestContingencyTable) [test/runner.rb:10]: <"2.4"> expected but was <"2.400000000000001">. 1354 tests, 2769 assertions, 11 failures, 0 errors From seminlee at gmail.com Fri Mar 28 19:27:39 2008 From: seminlee at gmail.com (Semin Lee) Date: Fri, 28 Mar 2008 23:27:39 +0000 Subject: [BioRuby] Bio::PDB parsing problem (1B2M) Message-ID: <47ED7EEB.2080607@gmail.com> Hi guys, I've got some problems when parsing 1B2M PDB file using Bio::PDB. It doesn't seem to parse chain C to E properly. I'm currently using BioRuby gem ver. 1.2.1 and Ruby 1.8.6 on Mac OS X Leopard. >> require "bio" => true >> require "open-uri" => true >> pdb = Bio::PDB.new(open("http://www.rcsb.org/pdb/files/1b2m.pdb").read) => # >> p pdb.models.first.chains ArgumentError: ArgumentError from /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/data/aa.rb:184:in `three2one' from /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/pdb/chain.rb:192:in `aaseq' from /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/pdb/chain.rb:186:in `each' from /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/pdb/chain.rb:186:in `aaseq' from /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/pdb/chain.rb:178:in `inspect' from (irb):4:in `p' from (irb):4 >> a strange error occurred, but I just overrided(?) 'aaseq' method to see what happens, >> module Bio >> class PDB >> class Chain >> def aaseq >> "" >> end >> end >> end >> end => nil >> pp pdb.models.first.chains [#, #, #, #, #, #] => nil >> Now it doesn't complain, but Bio::PDB::Chain for chain D and E have wrong number of residues and heterogens. In the 1B2M PDB file, each chain D and E also has a RNA residue and a heterogen, U34, just like chain C. However, Bio::PDB::Chain for chain D and E have no residues and heterogens. Does anyone have any ideas? Or, am I missing something? Cheers, Semin From alexg at ruggedtextile.com Sat Mar 29 10:03:12 2008 From: alexg at ruggedtextile.com (Alex Gutteridge) Date: Sat, 29 Mar 2008 14:03:12 +0000 Subject: [BioRuby] Bio::PDB parsing problem (1B2M) In-Reply-To: <47ED7EEB.2080607@gmail.com> References: <47ED7EEB.2080607@gmail.com> Message-ID: Hi Semin, Definately a parser error - the combined HETATM/ATOM chains are confusing it, but they shouldn't. If you have the time and the inclination then patches are very welcome. If not, I can try and take a look next week. AlexG On 28 Mar 2008, at 23:27, Semin Lee wrote: > Hi guys, > > I've got some problems when parsing 1B2M PDB file using Bio::PDB. It > doesn't seem to parse chain C to E properly. I'm currently using > BioRuby gem ver. 1.2.1 and Ruby 1.8.6 on Mac OS X Leopard. > > >> require "bio" > => true > >> require "open-uri" > => true > >> pdb = Bio::PDB.new(open("http://www.rcsb.org/pdb/files/ > 1b2m.pdb").read) > => # > >> p pdb.models.first.chains > ArgumentError: ArgumentError > from /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/data/ > aa.rb:184:in `three2one' > from /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/ > pdb/chain.rb:192:in `aaseq' > from /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/ > pdb/chain.rb:186:in `each' > from /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/ > pdb/chain.rb:186:in `aaseq' > from /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/ > pdb/chain.rb:178:in `inspect' > from (irb):4:in `p' > from (irb):4 > >> > > a strange error occurred, but I just overrided(?) 'aaseq' method to > see what happens, > > >> module Bio > >> class PDB > >> class Chain > >> def aaseq > >> "" > >> end > >> end > >> end > >> end > => nil > >> pp pdb.models.first.chains > [# heterogens.size=0 aaseq="">, > # heterogens.size=0 aaseq="">, > # heterogens.size=1 aaseq="">, > # heterogens.size=0 aaseq="">, > # heterogens.size=0 aaseq="">, > # heterogens.size=92 aaseq="">] > => nil > >> > > Now it doesn't complain, but Bio::PDB::Chain for chain D and E have > wrong number of residues and heterogens. In the 1B2M PDB file, each > chain D and E also has a RNA residue and a heterogen, U34, just like > chain C. However, Bio::PDB::Chain for chain D and E have no residues > and heterogens. Does anyone have any ideas? Or, am I missing > something? > > Cheers, > Semin > > _______________________________________________ > BioRuby mailing list > BioRuby at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/bioruby > From seminlee at gmail.com Mon Mar 31 22:12:38 2008 From: seminlee at gmail.com (Semin Lee) Date: Tue, 01 Apr 2008 03:12:38 +0100 Subject: [BioRuby] Bio::PDB parsing problem (1B2M) In-Reply-To: References: <47ED7EEB.2080607@gmail.com> Message-ID: <47F19A16.1000004@gmail.com> Hi AlexG, Please find attached two patch files. I don't think those patches are ideal solution, but it seems working fine. As for the 'aaseq' method of Chain class, I think it would be nice to have more abstracted method like 'seq', so it works for any kinds of polymers in PDB. Cheers, Semin Alex Gutteridge wrote: > Hi Semin, > > Definately a parser error - the combined HETATM/ATOM chains are > confusing it, but they shouldn't. If you have the time and the > inclination then patches are very welcome. If not, I can try and take > a look next week. > > AlexG > > On 28 Mar 2008, at 23:27, Semin Lee wrote: >> Hi guys, >> >> I've got some problems when parsing 1B2M PDB file using Bio::PDB. It >> doesn't seem to parse chain C to E properly. I'm currently using >> BioRuby gem ver. 1.2.1 and Ruby 1.8.6 on Mac OS X Leopard. >> >> >> require "bio" >> => true >> >> require "open-uri" >> => true >> >> pdb = >> Bio::PDB.new(open("http://www.rcsb.org/pdb/files/1b2m.pdb").read) >> => # >> >> p pdb.models.first.chains >> ArgumentError: ArgumentError >> from >> /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/data/aa.rb:184:in >> `three2one' >> from >> /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/pdb/chain.rb:192:in >> `aaseq' >> from >> /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/pdb/chain.rb:186:in >> `each' >> from >> /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/pdb/chain.rb:186:in >> `aaseq' >> from >> /opt/local/lib/ruby/gems/1.8/gems/bio-1.2.1/lib/bio/db/pdb/chain.rb:178:in >> `inspect' >> from (irb):4:in `p' >> from (irb):4 >> >> >> >> a strange error occurred, but I just overrided(?) 'aaseq' method to >> see what happens, >> >> >> module Bio >> >> class PDB >> >> class Chain >> >> def aaseq >> >> "" >> >> end >> >> end >> >> end >> >> end >> => nil >> >> pp pdb.models.first.chains >> [#> heterogens.size=0 aaseq="">, >> #> heterogens.size=0 aaseq="">, >> #> heterogens.size=1 aaseq="">, >> #> heterogens.size=0 aaseq="">, >> #> heterogens.size=0 aaseq="">, >> #> heterogens.size=92 aaseq="">] >> => nil >> >> >> >> Now it doesn't complain, but Bio::PDB::Chain for chain D and E have >> wrong number of residues and heterogens. In the 1B2M PDB file, each >> chain D and E also has a RNA residue and a heterogen, U34, just like >> chain C. However, Bio::PDB::Chain for chain D and E have no residues >> and heterogens. Does anyone have any ideas? Or, am I missing something? >> >> Cheers, >> Semin >> >> _______________________________________________ >> BioRuby mailing list >> BioRuby at lists.open-bio.org >> http://lists.open-bio.org/mailman/listinfo/bioruby >> > -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: chain.diff URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: pdb.diff URL: