Class: Bio::Blast::Default::Report::Iteration
- Defined in:
- lib/bio/appl/blast/format0.rb
Overview
Bio::Blast::Default::Report::Iteration stores information about a iteration. It may contain some Bio::Blast::Default::Report::Hit objects. Note that a PSI-BLAST (blastpgp command) result usually contain multiple iterations in it, and a normal BLAST (blastall command) result usually contain one iteration in it.
Direct Known Subclasses
Bl2seq::Report::Iteration, RPSBlast::Report::Iteration, WU::Report::Iteration
Instance Attribute Summary collapse
-
#database ⇒ Object
readonly
name (title or filename) of the database.
-
#db_len ⇒ Object
readonly
number of sequences in database.
-
#db_num ⇒ Object
readonly
number of letters in database.
-
#eff_space ⇒ Object
readonly
effective length of the database.
-
#entropy ⇒ Object
readonly
entropy of the database.
-
#expect ⇒ Object
readonly
e-value threshold specified when BLAST was executed.
-
#gapped_entropy ⇒ Object
readonly
gapped entropy of the database.
-
#gapped_kappa ⇒ Object
readonly
gapped kappa of the database.
-
#gapped_lambda ⇒ Object
readonly
gapped lambda of the database.
-
#kappa ⇒ Object
readonly
kappa of the database.
-
#lambda ⇒ Object
readonly
lambda of the database.
-
#message ⇒ Object
readonly
(PSI-BLAST) Messages of the iteration.
-
#num ⇒ Object
readonly
(PSI-BLAST) Iteration round number.
-
#pattern_in_database ⇒ Object
readonly
(PHI-BLAST) Number of occurrences of pattern in the database.
-
#posted_date ⇒ Object
readonly
posted date of the database.
Instance Method Summary collapse
-
#converged? ⇒ Boolean
(PSI-BLAST) Returns true if the iteration is converged.
-
#each ⇒ Object
Iterates over each hit of the iteration.
-
#hits ⇒ Object
Returns the hits of the iteration.
-
#hits_for_pattern ⇒ Object
(PHI-BLAST) Returns hits for pattern.
-
#hits_found_again ⇒ Object
(PSI-BLAST) Returns hits which have been found again in the iteration.
-
#hits_newly_found ⇒ Object
(PSI-BLAST) Returns hits which have been newly found in the iteration.
-
#initialize(data) ⇒ Iteration
constructor
Creates a new Iteration object.
-
#pattern ⇒ Object
(PHI-BLAST) Returns pattern string.
-
#pattern_positions ⇒ Object
(PHI-BLAST) Returns pattern positions.
Constructor Details
#initialize(data) ⇒ Iteration
Creates a new Iteration object. It is designed to be called only internally from the Bio::Blast::Default::Report class. Users shall not use the method directly.
485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 |
# File 'lib/bio/appl/blast/format0.rb', line 485 def initialize(data) @f0stat = [] @f0dbstat = AlwaysNil.instance @f0hitlist = [] @hits = [] @num = 1 r = data.shift @f0message = [ r ] r.gsub!(/^Results from round (\d+).*\z/) { |x| @num = $1.to_i @f0message << x '' } r = data.shift while /^Number of occurrences of pattern in the database is +(\d+)/ =~ r # PHI-BLAST @pattern_in_database = $1.to_i @f0message << r r = data.shift end if /^Results from round (\d+)/ =~ r then @num = $1.to_i @f0message << r r = data.shift end if r and !(/\*{5} No hits found \*{5}/ =~ r) then @f0hitlist << r begin @f0hitlist << data.shift end until r = data[0] and /^\>/ =~ r if r and /^CONVERGED\!/ =~ r then r.sub!(/(.*\n)*^CONVERGED\!.*\n/) { |x| @f0hitlist << x; '' } end if defined?(@pattern_in_database) and r = data.first then #PHI-BLAST while /^\>/ =~ r @hits << Hit.new(data) r = data.first break unless r while /^Significant alignments for pattern/ =~ r data.shift r = data.first end end else #not PHI-BLAST while r = data[0] and /^\>/ =~ r @hits << Hit.new(data) end end end if /^CONVERGED\!\s*$/ =~ @f0hitlist[-1].to_s then @message = 'CONVERGED!' @flag_converged = true end end |
Instance Attribute Details
#database ⇒ Object (readonly)
name (title or filename) of the database
763 764 765 |
# File 'lib/bio/appl/blast/format0.rb', line 763 def database @database end |
#db_len ⇒ Object (readonly)
number of sequences in database
773 774 775 |
# File 'lib/bio/appl/blast/format0.rb', line 773 def db_len @db_len end |
#db_num ⇒ Object (readonly)
number of letters in database
770 771 772 |
# File 'lib/bio/appl/blast/format0.rb', line 770 def db_num @db_num end |
#eff_space ⇒ Object (readonly)
effective length of the database
776 777 778 |
# File 'lib/bio/appl/blast/format0.rb', line 776 def eff_space @eff_space end |
#entropy ⇒ Object (readonly)
entropy of the database
741 742 743 |
# File 'lib/bio/appl/blast/format0.rb', line 741 def entropy @entropy end |
#expect ⇒ Object (readonly)
e-value threshold specified when BLAST was executed
780 781 782 |
# File 'lib/bio/appl/blast/format0.rb', line 780 def expect @expect end |
#gapped_entropy ⇒ Object (readonly)
gapped entropy of the database
751 752 753 |
# File 'lib/bio/appl/blast/format0.rb', line 751 def gapped_entropy @gapped_entropy end |
#gapped_kappa ⇒ Object (readonly)
gapped kappa of the database
748 749 750 |
# File 'lib/bio/appl/blast/format0.rb', line 748 def gapped_kappa @gapped_kappa end |
#gapped_lambda ⇒ Object (readonly)
gapped lambda of the database
745 746 747 |
# File 'lib/bio/appl/blast/format0.rb', line 745 def gapped_lambda @gapped_lambda end |
#kappa ⇒ Object (readonly)
kappa of the database
738 739 740 |
# File 'lib/bio/appl/blast/format0.rb', line 738 def kappa @kappa end |
#lambda ⇒ Object (readonly)
lambda of the database
735 736 737 |
# File 'lib/bio/appl/blast/format0.rb', line 735 def lambda @lambda end |
#message ⇒ Object (readonly)
(PSI-BLAST) Messages of the iteration.
545 546 547 |
# File 'lib/bio/appl/blast/format0.rb', line 545 def @message end |
#num ⇒ Object (readonly)
(PSI-BLAST) Iteration round number.
543 544 545 |
# File 'lib/bio/appl/blast/format0.rb', line 543 def num @num end |
#pattern_in_database ⇒ Object (readonly)
(PHI-BLAST) Number of occurrences of pattern in the database.
547 548 549 |
# File 'lib/bio/appl/blast/format0.rb', line 547 def pattern_in_database @pattern_in_database end |
#posted_date ⇒ Object (readonly)
posted date of the database
766 767 768 |
# File 'lib/bio/appl/blast/format0.rb', line 766 def posted_date @posted_date end |
Instance Method Details
#converged? ⇒ Boolean
(PSI-BLAST) Returns true if the iteration is converged. Otherwise, returns false.
566 567 568 |
# File 'lib/bio/appl/blast/format0.rb', line 566 def converged? @flag_converged end |
#each ⇒ Object
Iterates over each hit of the iteration. Yields a Bio::Blast::Default::Report::Hit object.
558 559 560 561 562 |
# File 'lib/bio/appl/blast/format0.rb', line 558 def each hits.each do |x| yield x end end |
#hits ⇒ Object
Returns the hits of the iteration. It returns an array of Bio::Blast::Default::Report::Hit objects.
551 552 553 554 |
# File 'lib/bio/appl/blast/format0.rb', line 551 def hits parse_hitlist @hits end |
#hits_for_pattern ⇒ Object
(PHI-BLAST) Returns hits for pattern. ????
614 615 616 617 |
# File 'lib/bio/appl/blast/format0.rb', line 614 def hits_for_pattern parse_hitlist @hits_for_pattern end |
#hits_found_again ⇒ Object
(PSI-BLAST) Returns hits which have been found again in the iteration. It returns an array of Bio::Blast::Default::Report::Hit objects.
600 601 602 603 |
# File 'lib/bio/appl/blast/format0.rb', line 600 def hits_found_again parse_hitlist @hits_found_again end |
#hits_newly_found ⇒ Object
(PSI-BLAST) Returns hits which have been newly found in the iteration. It returns an array of Bio::Blast::Default::Report::Hit objects.
608 609 610 611 |
# File 'lib/bio/appl/blast/format0.rb', line 608 def hits_newly_found parse_hitlist @hits_newly_found end |
#pattern ⇒ Object
(PHI-BLAST) Returns pattern string. Returns nil if it is not a PHI-BLAST result.
572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 |
# File 'lib/bio/appl/blast/format0.rb', line 572 def pattern #PHI-BLAST if !defined?(@pattern) and defined?(@pattern_in_database) then @pattern = nil @pattern_positions = [] @f0message.each do |r| sc = StringScanner.new(r) if sc.skip_until(/^ *pattern +([^\s]+)/) then @pattern = sc[1] unless @pattern sc.skip_until(/(?:^ *| +)at position +(\d+) +of +query +sequence/) @pattern_positions << sc[1].to_i end end end @pattern end |
#pattern_positions ⇒ Object
(PHI-BLAST) Returns pattern positions. Returns nil if it is not a PHI-BLAST result.
591 592 593 594 595 |
# File 'lib/bio/appl/blast/format0.rb', line 591 def pattern_positions #PHI-BLAST pattern @pattern_positions end |