module Ms::Ident::SearchGroup
Attributes
searches[RW]
an array of search objects
Public Class Methods
new(arg=nil, opts={}) { |self| ... }
click to toggle source
takes an array of filenames or a single search filename (with extension defined by ‘extendsion’) or an array of objects passes any arguments to the initializer for each search the optional block yields the object for further processing
# File lib/ms/ident/search.rb, line 88 def initialize(arg=nil, opts={}) @peptides = [] @reference_hash = {} @searches = [] if arg if arg.is_a?(String) && arg =~ /\.#{Regexp.escap(extension)}$/ from_file(arg) elsif arg.is_a?(Array) && arg.first.is_a?(String) from_filenames(arg) elsif arg.is_a?(Array) @searches = array else raise ArgumentError, "must be file, array of filenames, or array of objs" end @searches << search_class.new(file, opts) end yield(self) if block_given? end
Public Instance Methods
extension()
click to toggle source
the group’s file extension (with no leading period)
# File lib/ms/ident/search.rb, line 54 def extension 'grp' end
from_file(file)
click to toggle source
# File lib/ms/ident/search.rb, line 67 def from_file(file) from_filenames(to_paths(file)) end
from_filenames(filenames)
click to toggle source
# File lib/ms/ident/search.rb, line 72 def from_filenames(filenames) filenames.each do |file| if !File.exist? file message = "File: #{file} does not exist!\n" message << "perhaps you need to modify the file with file paths" abort message end @searches << search_class.new(file) end end
search_class()
click to toggle source
# File lib/ms/ident/search.rb, line 58 def search_class Search end
to_paths(file)
click to toggle source
a simple formatted file with paths to the search files
# File lib/ms/ident/search.rb, line 63 def to_paths(file) IO.readlines(file).grep(/\w/).reject {|v| v =~ /^#/}.map {|v| v.chomp } end