Class: Bio::Blast::Report
- Inherits:
-
Object
- Object
- Bio::Blast::Report
- Defined in:
- lib/bio/appl/blast/report.rb,
lib/bio/appl/blast/rexml.rb,
lib/bio/appl/blast/format8.rb
Overview
Bio::Blast::Report
Parsed results of the blast execution for Tab-delimited and XML output format. Tab-delimited reports are consists of
Query id,
Subject id,
percent of identity,
alignment length,
number of mismatches (not including gaps),
number of gap openings,
start of alignment in query,
end of alignment in query,
start of alignment in subject,
end of alignment in subject,
expected value,
bit score.
according to the MEGABLAST document (README.mbl). As for XML output, see the following DTDs.
* http://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.dtd
* http://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.mod
* http://www.ncbi.nlm.nih.gov/dtd/NCBI_Entity.mod
Direct Known Subclasses
Defined Under Namespace
Classes: BlastXmlSplitter, Hit, Hsp, Iteration
Constant Summary collapse
- DELIMITER =
for Bio::FlatFile support (only for XML data)
RS = "</BlastOutput>\n"
Instance Attribute Summary collapse
-
#db ⇒ Object
readonly
database name or title (String).
-
#iterations ⇒ Object
readonly
Returns an Array of Bio::Blast::Report::Iteration objects.
-
#parameters ⇒ Object
readonly
Returns a Hash containing execution parameters.
-
#program ⇒ Object
readonly
program name (e.g. “blastp”) (String).
-
#query_def ⇒ Object
readonly
query definition line (String).
-
#query_id ⇒ Object
readonly
query ID (String).
-
#query_len ⇒ Object
readonly
query length (Integer).
-
#reference ⇒ Object
readonly
reference (String).
-
#reports ⇒ Object
readonly
When the report contains results for multiple query sequences, returns an array of Bio::Blast::Report objects corresponding to the multiple queries.
-
#version ⇒ Object
readonly
BLAST version (e.g. “blastp 2.2.18 [Mar-02-2008]”) (String).
Class Method Summary collapse
-
.rexml(data) ⇒ Object
Specify to use REXML to parse XML (-m 7) output.
-
.tab(data) ⇒ Object
Specify to use tab delimited output parser.
Instance Method Summary collapse
-
#db_len ⇒ Object
Length of BLAST db.
-
#db_num ⇒ Object
Number of sequences in BLAST db.
-
#each_hit ⇒ Object
(also: #each)
Iterates on each Bio::Blast::Report::Hit object of the the last Iteration.
-
#each_iteration ⇒ Object
Iterates on each Bio::Blast::Report::Iteration object.
-
#eff_space ⇒ Object
Effective search space.
-
#entrez_query ⇒ Object
Limit of request to Entrez : shortcuts for @parameters.
-
#entropy ⇒ Object
Karlin-Altschul parameter H.
-
#expect ⇒ Object
Expectation threshold (-e) : shortcuts for @parameters.
-
#filter ⇒ Object
Filtering options (-F) : shortcuts for @parameters.
-
#gap_extend ⇒ Object
Gap extension cost (-E) : shortcuts for @parameters.
-
#gap_open ⇒ Object
Gap opening cost (-G) : shortcuts for @parameters.
-
#hits ⇒ Object
Returns a Array of Bio::Blast::Report::Hits of the last iteration.
-
#hsp_len ⇒ Object
Effective HSP length.
-
#inclusion ⇒ Object
Inclusion threshold (-h) : shortcuts for @parameters.
-
#initialize(data, parser = nil) ⇒ Report
constructor
Passing a BLAST output from ‘blastall -m 7’ or ‘-m 8’ as a String.
-
#kappa ⇒ Object
Karlin-Altschul parameter K.
-
#lambda ⇒ Object
Karlin-Altschul parameter Lamba.
-
#matrix ⇒ Object
Matrix used (-M) : shortcuts for @parameters.
-
#message ⇒ Object
Returns a String (or nil) containing execution message of the last iteration (typically “CONVERGED”).
-
#pattern ⇒ Object
PHI-BLAST pattern : shortcuts for @parameters.
-
#sc_match ⇒ Object
Match score for NT (-r) : shortcuts for @parameters.
-
#sc_mismatch ⇒ Object
Mismatch score for NT (-q) : shortcuts for @parameters.
-
#statistics ⇒ Object
Returns a Hash containing execution statistics of the last iteration.
Constructor Details
#initialize(data, parser = nil) ⇒ Report
Passing a BLAST output from ‘blastall -m 7’ or ‘-m 8’ as a String. Formats are auto detected.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/bio/appl/blast/report.rb', line 87 def initialize(data, parser = nil) @iterations = [] @parameters = {} case parser when :xmlparser # format 7 if defined? xmlparser_parse xmlparser_parse(data) else raise NameError, "xmlparser_parse does not defined" end @reports = blastxml_split_reports when :rexml # format 7 rexml_parse(data) @reports = blastxml_split_reports when :tab # format 8 tab_parse(data) when false # do not parse, creates an empty object else auto_parse(data) end end |
Instance Attribute Details
#db ⇒ Object (readonly)
database name or title (String)
132 133 134 |
# File 'lib/bio/appl/blast/report.rb', line 132 def db @db end |
#iterations ⇒ Object (readonly)
Returns an Array of Bio::Blast::Report::Iteration objects.
111 112 113 |
# File 'lib/bio/appl/blast/report.rb', line 111 def iterations @iterations end |
#parameters ⇒ Object (readonly)
Returns a Hash containing execution parameters. Valid keys are: ‘matrix’, ‘expect’, ‘include’, ‘sc-match’, ‘sc-mismatch’, ‘gap-open’, ‘gap-extend’, ‘filter’
116 117 118 |
# File 'lib/bio/appl/blast/report.rb', line 116 def parameters @parameters end |
#program ⇒ Object (readonly)
program name (e.g. “blastp”) (String)
123 124 125 |
# File 'lib/bio/appl/blast/report.rb', line 123 def program @program end |
#query_def ⇒ Object (readonly)
query definition line (String)
138 139 140 |
# File 'lib/bio/appl/blast/report.rb', line 138 def query_def @query_def end |
#query_id ⇒ Object (readonly)
query ID (String)
135 136 137 |
# File 'lib/bio/appl/blast/report.rb', line 135 def query_id @query_id end |
#query_len ⇒ Object (readonly)
query length (Integer)
141 142 143 |
# File 'lib/bio/appl/blast/report.rb', line 141 def query_len @query_len end |
#reference ⇒ Object (readonly)
reference (String)
129 130 131 |
# File 'lib/bio/appl/blast/report.rb', line 129 def reference @reference end |
#reports ⇒ Object (readonly)
When the report contains results for multiple query sequences, returns an array of Bio::Blast::Report objects corresponding to the multiple queries. Otherwise, returns nil.
Note for “No hits found”: When no hits found for a query sequence, the result for the query is completely void and no information available in the result XML, including query ID and query definition. The only trace is that iteration number is skipped. This means that if the no-hit query is the last query, the query can not be detected, because the result XML is completely the same as the result XML without the query.
389 390 391 |
# File 'lib/bio/appl/blast/report.rb', line 389 def reports @reports end |
#version ⇒ Object (readonly)
BLAST version (e.g. “blastp 2.2.18 [Mar-02-2008]”) (String)
126 127 128 |
# File 'lib/bio/appl/blast/report.rb', line 126 def version @version end |
Class Method Details
.rexml(data) ⇒ Object
Specify to use REXML to parse XML (-m 7) output.
61 62 63 |
# File 'lib/bio/appl/blast/report.rb', line 61 def self.rexml(data) self.new(data, :rexml) end |
.tab(data) ⇒ Object
Specify to use tab delimited output parser.
66 67 68 |
# File 'lib/bio/appl/blast/report.rb', line 66 def self.tab(data) self.new(data, :tab) end |
Instance Method Details
#db_len ⇒ Object
Length of BLAST db
197 |
# File 'lib/bio/appl/blast/report.rb', line 197 def db_len; statistics['db-len']; end |
#db_num ⇒ Object
Number of sequences in BLAST db
195 |
# File 'lib/bio/appl/blast/report.rb', line 195 def db_num; statistics['db-num']; end |
#each_hit ⇒ Object Also known as: each
Iterates on each Bio::Blast::Report::Hit object of the the last Iteration. Shortcut for the last iteration’s hits (for blastall)
173 174 175 176 177 |
# File 'lib/bio/appl/blast/report.rb', line 173 def each_hit @iterations.last.each do |x| yield x end end |
#each_iteration ⇒ Object
Iterates on each Bio::Blast::Report::Iteration object. (for blastpgp)
165 166 167 168 169 |
# File 'lib/bio/appl/blast/report.rb', line 165 def each_iteration @iterations.each do |x| yield x end end |
#eff_space ⇒ Object
Effective search space
201 |
# File 'lib/bio/appl/blast/report.rb', line 201 def eff_space; statistics['eff-space']; end |
#entrez_query ⇒ Object
Limit of request to Entrez : shortcuts for @parameters
162 |
# File 'lib/bio/appl/blast/report.rb', line 162 def entrez_query; @parameters['entrez-query']; end |
#entropy ⇒ Object
Karlin-Altschul parameter H
207 |
# File 'lib/bio/appl/blast/report.rb', line 207 def entropy; statistics['entropy']; end |
#expect ⇒ Object
Expectation threshold (-e) : shortcuts for @parameters
146 |
# File 'lib/bio/appl/blast/report.rb', line 146 def expect; @parameters['expect']; end |
#filter ⇒ Object
Filtering options (-F) : shortcuts for @parameters
158 |
# File 'lib/bio/appl/blast/report.rb', line 158 def filter; @parameters['filter']; end |
#gap_extend ⇒ Object
Gap extension cost (-E) : shortcuts for @parameters
156 |
# File 'lib/bio/appl/blast/report.rb', line 156 def gap_extend; @parameters['gap-extend']; end |
#gap_open ⇒ Object
Gap opening cost (-G) : shortcuts for @parameters
154 |
# File 'lib/bio/appl/blast/report.rb', line 154 def gap_open; @parameters['gap-open']; end |
#hits ⇒ Object
Returns a Array of Bio::Blast::Report::Hits of the last iteration. Shortcut for the last iteration’s hits
182 183 184 |
# File 'lib/bio/appl/blast/report.rb', line 182 def hits @iterations.last.hits end |
#hsp_len ⇒ Object
Effective HSP length
199 |
# File 'lib/bio/appl/blast/report.rb', line 199 def hsp_len; statistics['hsp-len']; end |
#inclusion ⇒ Object
Inclusion threshold (-h) : shortcuts for @parameters
148 |
# File 'lib/bio/appl/blast/report.rb', line 148 def inclusion; @parameters['include']; end |
#kappa ⇒ Object
Karlin-Altschul parameter K
203 |
# File 'lib/bio/appl/blast/report.rb', line 203 def kappa; statistics['kappa']; end |
#lambda ⇒ Object
Karlin-Altschul parameter Lamba
205 |
# File 'lib/bio/appl/blast/report.rb', line 205 def lambda; statistics['lambda']; end |
#matrix ⇒ Object
Matrix used (-M) : shortcuts for @parameters
144 |
# File 'lib/bio/appl/blast/report.rb', line 144 def matrix; @parameters['matrix']; end |
#message ⇒ Object
Returns a String (or nil) containing execution message of the last iteration (typically “CONVERGED”). Shortcut for the last iteration’s message (for checking ‘CONVERGED’)
212 213 214 |
# File 'lib/bio/appl/blast/report.rb', line 212 def @iterations.last. end |
#pattern ⇒ Object
PHI-BLAST pattern : shortcuts for @parameters
160 |
# File 'lib/bio/appl/blast/report.rb', line 160 def pattern; @parameters['pattern']; end |
#sc_match ⇒ Object
Match score for NT (-r) : shortcuts for @parameters
150 |
# File 'lib/bio/appl/blast/report.rb', line 150 def sc_match; @parameters['sc-match']; end |
#sc_mismatch ⇒ Object
Mismatch score for NT (-q) : shortcuts for @parameters
152 |
# File 'lib/bio/appl/blast/report.rb', line 152 def sc_mismatch; @parameters['sc-mismatch']; end |
#statistics ⇒ Object
Returns a Hash containing execution statistics of the last iteration. Valid keys are: ‘db-num’, ‘db-len’, ‘hsp-len’, ‘eff-space’, ‘kappa’, ‘lambda’, ‘entropy’ Shortcut for the last iteration’s statistics.
190 191 192 |
# File 'lib/bio/appl/blast/report.rb', line 190 def statistics @iterations.last.statistics end |