Class | Bio::Blast::RPSBlast::Report |
In: |
lib/bio/appl/blast/rpsblast.rb
|
Parent: | Bio::Blast::Default::Report |
NCBI RPS Blast (Reversed Position Specific Blast) default output parser.
It supports defalut (-m 0 option) output of the "rpsblast" command.
Because this class inherits Bio::Blast::Default::Report, almost all methods are eqaul to Bio::Blast::Default::Report. Only DELIMITER (and RS) and few methods are different.
By using Bio::FlatFile, (for example, Bio::FlatFile.open), rpsblast result generated from multiple query sequences is automatically splitted into multiple Bio::BLast::RPSBlast::Report objects corresponding to query sequences.
Note for multi-fasta results WITH using Bio::FlatFile: Each splitted result is concatenated with header of the result which describes RPS-BLAST version and database information, if possible.
Note for multi-fasta results WITHOUT using Bio::FlatFile: When parsing an output of rpsblast command running with multi-fasta sequences WITHOUT using Bio::FlatFile, each query‘s result is stored as an "iteration" of PSI-Blast. This behavior may be changed in the future.
Note for nucleotide results: This class is not tested with nucleotide query and/or nucleotide databases.
DELIMITER | = | RS = "\nRPS-BLAST" | Delimter of each entry for RPS-BLAST. | |
DELIMITER_OVERRUN | = | 9 | (Integer) excess read size included in DELIMITER. | |
FLATFILE_SPLITTER | = | RPSBlastSplitter | splitter for Bio::FlatFile support |
Creates a new Report object from a string.
Using Bio::FlatFile.open (or some other methods) is recommended instead of using this method directly. Refer Bio::Blast::RPSBlast::Report document for more information.
Note for multi-fasta results WITHOUT using Bio::FlatFile: When parsing an output of rpsblast command running with multi-fasta sequences WITHOUT using Bio::FlatFile, each query‘s result is stored as an "iteration" of PSI-Blast. This behavior may be changed in the future.
Note for nucleotide results: This class is not tested with nucleotide query and/or nucleotide databases.
# File lib/bio/appl/blast/rpsblast.rb, line 172 172: def initialize(str) 173: str = str.sub(/\A\s+/, '') 174: # remove trailing entries for sure 175: str.sub!(/\n(RPS\-BLAST.*)/m, "\n") 176: @entry_overrun = $1 177: @entry = str 178: data = str.split(/(?:^[ \t]*\n)+/) 179: 180: if data[0] and /\AQuery\=/ !~ data[0] then 181: format0_split_headers(data) 182: end 183: @iterations = format0_split_search(data) 184: format0_split_stat_params(data) 185: end