Bio::TogoWS::REST is a REST client for the TogoWS web service.
Details of the service are desribed in the following URI.
For light users, class methods can be used.
print Bio::TogoWS::REST.entry('genbank', 'AF237819') print Bio::TogoWS::REST.search('uniprot', 'lung cancer')
For heavy users, an instance of the REST class can be created, and using the instance is more efficient than using class methods.
t = Bio::TogoWS::REST.new print t.entry('genbank', 'AF237819') print t.search('uniprot', 'lung cancer')
preset default databases used by the retrieve method.
The same as Bio::TogoWS::REST#convert.
# File lib/bio/io/togows.rb, line 339 def self.convert(*arg) self.new.convert(*arg) end
The same as Bio::TogoWS::REST#entry.
# File lib/bio/io/togows.rb, line 329 def self.entry(*arg) self.new.entry(*arg) end
The same as Bio::TogoWS::REST#entry_database_list
# File lib/bio/io/togows.rb, line 349 def self.entry_database_list(*arg) self.new.entry_database_list(*arg) end
Creates a new object.
Arguments:
(optional) uri: String or URI object
Returns |
new object |
# File lib/bio/io/togows.rb, line 142 def initialize(uri = BASE_URI) uri = URI.parse(uri) unless uri.kind_of?(URI) @pathbase = uri.path @pathbase = '/' + @pathbase unless /\A\// =~ @pathbase @pathbase = @pathbase + '/' unless /\/\z/ =~ @pathbase @http = Bio::Command.new_http(uri.host, uri.port) @header = { 'User-Agent' => "BioRuby/#{Bio::BIORUBY_VERSION_ID}" } @debug = false end
The same as Bio::TogoWS::REST#retrieve.
# File lib/bio/io/togows.rb, line 344 def self.retrieve(*arg) self.new.retrieve(*arg) end
The same as Bio::TogoWS::REST#search.
# File lib/bio/io/togows.rb, line 334 def self.search(*arg) self.new.search(*arg) end
The same as Bio::TogoWS::REST#search_database_list
# File lib/bio/io/togows.rb, line 354 def self.search_database_list(*arg) self.new.search_database_list(*arg) end
Data format conversion.
Example:
t = Bio::TogoWS::REST.new blast_string = File.read('test.blastn') t.convert(blast_string, 'blast', 'gff')
Arguments:
(required) text: (String) input data
(required) inputformat: (String) data source format
(required) format: (String) output format
Returns |
String or nil |
# File lib/bio/io/togows.rb, line 304 def convert(data, inputformat, format) response = post_data(data, 'convert', "#{inputformat}.#{format}") prepare_return_value(response) end
Retrieves entries corresponding to the specified IDs.
Example:
t = Bio::TogoWS::REST.new kuma = t.entry('genbank', 'AF237819') # multiple IDs at a time misc = t.entry('genbank', [ 'AF237819', 'AF237820' ]) # with format change p53 = t.entry('uniprot', 'P53_HUMAN', 'fasta')
Arguments:
(required) database: (String) database name
(required) ids: (String) an entry ID, or (Array containing String) IDs. Note that strings containing "," are regarded as multiple IDs.
(optional) format: (String) format. nil means the default format (differs depending on the database).
(optional) field: (String) gets only the specified field if not nil
Returns |
String or nil |
# File lib/bio/io/togows.rb, line 242 def entry(database, ids, format = nil, field = nil) begin a = ids.to_ary rescue NoMethodError ids = ids.to_s end ids = a.join(',') if a arg = [ 'entry', database, ids ] arg.push field if field arg[-1] = "#{arg[-1]}.#{format}" if format response = get(*arg) prepare_return_value(response) end
Returns list of available databases in the entry service.
Returns |
Array containing String |
# File lib/bio/io/togows.rb, line 313 def entry_database_list database_list('entry') end
Debug purpose only. Returns Net::HTTP object used inside the object. The method will be changed in the future if the implementation of this class is changed.
# File lib/bio/io/togows.rb, line 161 def internal_http @http end
Intelligent version of the entry method. If two or more databases are specified, sequentially tries them until valid entry is obtained.
If database is not specified, preset default databases are used. See DEFAULT_RETRIEVAL_DATABASES for details.
When multiple IDs and multiple databases are specified, sequentially tries each IDs. Note that results with no hits found or with server errors are regarded as void strings. Also note that data format of the result entries can be different from entries to entries.
Arguments:
(required) ids: (String) an entry ID, or (Array containing String) IDs. Note that strings containing ","
(optional) hash: (Hash) options below can be passed as a hash.
Returns |
String or nil |
# File lib/bio/io/togows.rb, line 187 def retrieve(ids, hash = {}) begin a = ids.to_ary rescue NoMethodError ids = ids.to_s end ids = a.join(',') if a ids = ids.split(',') dbs = hash[:database] || DEFAULT_RETRIEVAL_DATABASES begin dbs.to_ary rescue NoMethodError dbs = dbs.to_s.empty? ? [] : [ dbs.to_s ] end return nil if dbs.empty? or ids.empty? if dbs.size == 1 then return entry(dbs[0], ids, hash[:format], hash[:field]) end results = [] ids.each do |idstr| dbs.each do |dbstr| r = entry(dbstr, idstr, hash[:format], hash[:field]) if r and !r.strip.empty? then results.push r break end end #dbs.each end #ids.each results.join('') end
Database search. Format of the search term string follows the Common Query Language.
Example:
t = Bio::TogoWS::REST.new print t.search('uniprot', 'lung cancer') # only get the 10th and 11th hit ID print t.search('uniprot', 'lung cancer', 10, 2) # with json format print t.search('uniprot', 'lung cancer', 10, 2, 'json')
Arguments:
(required) database: (String) database name
(required) query: (String) query string
(optional) offset: (Integer) offset in search results.
(optional) limit: (Integer) max. number of returned results. If offset is not nil and the limit is nil, it is set to 1.
(optional) format: (String) format. nil means the default format.
Returns |
String or nil |
# File lib/bio/io/togows.rb, line 279 def search(database, query, offset = nil, limit = nil, format = nil) arg = [ 'search', database, query ] if offset then limit ||= 1 arg.push "#{offset},#{limit}" end arg[-1] = "#{arg[-1]}.#{format}" if format response = get(*arg) prepare_return_value(response) end
Returns list of available databases in the search service.
Returns |
Array containing String |
# File lib/bio/io/togows.rb, line 320 def search_database_list database_list('search') end
Generated with the Darkfish Rdoc Generator 2.