2 # = lib/evo/io/parser/sp_taxonomy_parser - SpTaxonomyParser class
4 # Copyright:: Copyright (C) 2006-2007 Christian M. Zmasek
5 # License:: GNU Lesser General Public License (LGPL)
7 # $Id: sp_taxonomy_parser.rb,v 1.2 2008/12/31 03:21:45 cmzmasek Exp $
12 require 'lib/evo/taxonomy/sp_taxonomy'
14 class SpTaxonomyParser
16 START_OF_COMMENT_LINE_CHAR = "#"
18 # raises ArgumentError
19 def SpTaxonomyParser.parse( path )
20 Util.check_file_for_readability( path )
22 sp_taxonomies = Array.new
23 File.open( path ) do | file |
24 while line = file.gets
26 if !Util.is_string_empty?( line )
27 if line =~ /([A-Z0-9]{3,5})\s+[A-Z]\s+(\d+):\s+N=(.+)/
31 tax = SpTaxonomy.new(code, id, sci_name )
33 sp_taxonomies.push( tax )
40 end # class SpTaxonomyParser