The line syntax is:
database:<identifier> > GO:<term> ; GO:<GO_id>
spkw2go = Bio::GO::External2go.new(File.read("spkw2go")) spkw2go.size spkw2go.each do |relation| relation # -> {:db => "", :db_id => "", :go_term => "", :go_id => ""} end spkw2go.dbs
!date: 2005/02/08 18:02:54 !Mapping of SWISS-PROT KEYWORDS to GO terms. !Evelyn Camon, SWISS-PROT. ! SP_KW:ATP synthesis > GO:ATP biosynthesis ; GO:0006754 ...
Constructor. relation := {:db => aStr, :db_id => aStr, :go_term => aStr, :go_id => aStr}
# File lib/bio/db/go.rb, line 355 def initialize @header = {:date => '', :desc => []} super end
Constructor from parsing external2go file.
# File lib/bio/db/go.rb, line 335 def self.parser(str) e2g = self.new str.each_line do |line| line.chomp! if line =~ /^\!date: (.+)/ e2g.header[:date] = $1 elsif line =~ /^\!(.*)/ e2g.header[:desc] << $1 elsif ary = line.scan(/^(.+?):(.+) > GO:(.+) ; (GO:\d{7})/).first e2g << {:db_id => ary[1], :db => ary[0], :go_term => ary[2], :go_id => ary[3]} else raise("Invalid Format Line: \n #{line.inspect}\n") end end return e2g end
Returns ary of database IDs.
# File lib/bio/db/go.rb, line 390 def db_ids self.map {|rel| rel[:db_id] }.uniq end
Returns ary of databases.
# File lib/bio/db/go.rb, line 384 def dbs self.map {|rel| rel[:db] }.uniq end
Returns ary of GO IDs.
# File lib/bio/db/go.rb, line 400 def go_ids self.map {|rel| rel[:go_id] }.uniq end
Returns ary of GO Terms.
# File lib/bio/db/go.rb, line 395 def go_terms self.map {|rel| rel[:go_term] }.uniq end
Bio::GO::External2go#set_date(value)
# File lib/bio/db/go.rb, line 362 def set_date(value) @header[:date] = value end
Bio::GO::External2go#set_desc(ary)
# File lib/bio/db/go.rb, line 368 def set_desc(ary) @header[:desc] = ary end
Bio::GO::External2go#to_str Returns the contents in the external2go format.
# File lib/bio/db/go.rb, line 375 def to_str ["!date: #{@header[:date]}", @header[:desc].map {|e| "!#{e}" }, self.map { |e| [e[:db], ':', e[:db_id], ' > GO:', e[:go_term], ' ; ', e[:go_id]].join } ].join("\n") end
Generated with the Darkfish Rdoc Generator 2.