Class | Bio::FlatFileIndex::Indexer::Parser::FastaFormatParser |
In: |
lib/bio/io/flatfile/indexer.rb
|
Parent: | TemplateParser |
NAMESTYLE | = | NameSpaces.new( NameSpace.new( 'UNIQUE', nil ), NameSpace.new( 'entry_id', Proc.new { |x| x.entry_id } ), NameSpace.new( 'accession', Proc.new { |x| x.accessions } ), NameSpace.new( 'id_string', Proc.new { |x| x.identifiers.id_strings |
PRIMARY | = | 'UNIQUE' |
SECONDARY | = | [ 'entry_id', 'accession', 'id_string', 'word' ] |
# File lib/bio/io/flatfile/indexer.rb, line 275 275: def initialize(pri_name = nil, sec_names = nil) 276: super() 277: self.format = 'fasta' 278: self.dbclass = Bio::FastaFormat 279: self.set_primary_namespace((pri_name or PRIMARY)) 280: unless sec_names then 281: sec_names = self.class::SECONDARY 282: end 283: self.add_secondary_namespaces(*sec_names) 284: end
# File lib/bio/io/flatfile/indexer.rb, line 285 285: def open_flatfile(fileid, file) 286: super 287: @count = 1 288: @flatfilename_base = File.basename(@flatfilename) 289: @flatfile.pos = 0 290: begin 291: pos = @flatfile.pos 292: line = @flatfile.gets 293: end until (!line or line =~ /^\>/) 294: @flatfile.pos = pos 295: end
# File lib/bio/io/flatfile/indexer.rb, line 262 262: def parse_primary 263: if p = self.primary.proc then 264: r = p.call(@entry) 265: unless r.is_a?(String) and r.length > 0 266: #@fatal = true 267: raise 'primary id must be a non-void string (skipped this entry)' 268: end 269: r 270: else 271: unique_primary_key 272: end 273: end