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.
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 541 542 543 544 545 546 547 548 549 550 551 552 553 |
# File 'lib/bio/appl/blast/format0.rb', line 498 def initialize(data) @f0stat = [] @f0dbstat = AlwaysNil.instance @f0hitlist = [] @hits = [] @num = 1 r = data.shift = [ r ] r.gsub!(/^Results from round (\d+).*\z/) { |x| @num = $1.to_i << x '' } r = data.shift while /^Number of occurrences of pattern in the database is +(\d+)/ =~ r # PHI-BLAST @pattern_in_database = $1.to_i << r r = data.shift end if /^Results from round (\d+)/ =~ r then @num = $1.to_i << 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 = 'CONVERGED!' @flag_converged = true end end |
Instance Attribute Details
#database ⇒ Object (readonly)
name (title or filename) of the database
776 777 778 |
# File 'lib/bio/appl/blast/format0.rb', line 776 def database @database end |
#db_len ⇒ Object (readonly)
number of sequences in database
786 787 788 |
# File 'lib/bio/appl/blast/format0.rb', line 786 def db_len @db_len end |
#db_num ⇒ Object (readonly)
number of letters in database
783 784 785 |
# File 'lib/bio/appl/blast/format0.rb', line 783 def db_num @db_num end |
#eff_space ⇒ Object (readonly)
effective length of the database
789 790 791 |
# File 'lib/bio/appl/blast/format0.rb', line 789 def eff_space @eff_space end |
#entropy ⇒ Object (readonly)
entropy of the database
754 755 756 |
# File 'lib/bio/appl/blast/format0.rb', line 754 def entropy @entropy end |
#expect ⇒ Object (readonly)
e-value threshold specified when BLAST was executed
793 794 795 |
# File 'lib/bio/appl/blast/format0.rb', line 793 def expect @expect end |
#gapped_entropy ⇒ Object (readonly)
gapped entropy of the database
764 765 766 |
# File 'lib/bio/appl/blast/format0.rb', line 764 def gapped_entropy @gapped_entropy end |
#gapped_kappa ⇒ Object (readonly)
gapped kappa of the database
761 762 763 |
# File 'lib/bio/appl/blast/format0.rb', line 761 def gapped_kappa @gapped_kappa end |
#gapped_lambda ⇒ Object (readonly)
gapped lambda of the database
758 759 760 |
# File 'lib/bio/appl/blast/format0.rb', line 758 def gapped_lambda @gapped_lambda end |
#kappa ⇒ Object (readonly)
kappa of the database
751 752 753 |
# File 'lib/bio/appl/blast/format0.rb', line 751 def kappa @kappa end |
#lambda ⇒ Object (readonly)
lambda of the database
748 749 750 |
# File 'lib/bio/appl/blast/format0.rb', line 748 def lambda @lambda end |
#message ⇒ Object (readonly)
(PSI-BLAST) Messages of the iteration.
558 559 560 |
# File 'lib/bio/appl/blast/format0.rb', line 558 def end |
#num ⇒ Object (readonly)
(PSI-BLAST) Iteration round number.
556 557 558 |
# File 'lib/bio/appl/blast/format0.rb', line 556 def num @num end |
#pattern_in_database ⇒ Object (readonly)
(PHI-BLAST) Number of occurrences of pattern in the database.
560 561 562 |
# File 'lib/bio/appl/blast/format0.rb', line 560 def pattern_in_database @pattern_in_database end |
#posted_date ⇒ Object (readonly)
posted date of the database
779 780 781 |
# File 'lib/bio/appl/blast/format0.rb', line 779 def posted_date @posted_date end |
Instance Method Details
#converged? ⇒ Boolean
(PSI-BLAST) Returns true if the iteration is converged. Otherwise, returns false.
579 580 581 |
# File 'lib/bio/appl/blast/format0.rb', line 579 def converged? @flag_converged end |
#each ⇒ Object
Iterates over each hit of the iteration. Yields a Bio::Blast::Default::Report::Hit object.
571 572 573 574 575 |
# File 'lib/bio/appl/blast/format0.rb', line 571 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.
564 565 566 567 |
# File 'lib/bio/appl/blast/format0.rb', line 564 def hits parse_hitlist @hits end |
#hits_for_pattern ⇒ Object
(PHI-BLAST) Returns hits for pattern. ????
627 628 629 630 |
# File 'lib/bio/appl/blast/format0.rb', line 627 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.
613 614 615 616 |
# File 'lib/bio/appl/blast/format0.rb', line 613 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.
621 622 623 624 |
# File 'lib/bio/appl/blast/format0.rb', line 621 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.
585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 |
# File 'lib/bio/appl/blast/format0.rb', line 585 def pattern #PHI-BLAST if !defined?(@pattern) and defined?(@pattern_in_database) then @pattern = nil @pattern_positions = [] .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.
604 605 606 607 608 |
# File 'lib/bio/appl/blast/format0.rb', line 604 def pattern_positions #PHI-BLAST pattern @pattern_positions end |