Module: Bio::NCBI::REST::ESearch::Methods

Included in:
Bio::NCBI::REST::ESearch, Bio::NCBI::REST::ESearch
Defined in:
lib/bio/io/ncbirest.rb

Overview

Search database entries by given keywords using E-Utils (esearch).

sequences = gene + genome + nucleotide + protein + popset + snp
nucleotide = nuccore + nucest + nucgss
pubmed protein nucleotide nuccore nucgss nucest structure genome
books cancerchromosomes cdd gap domains gene genomeprj gensat geo
gds homologene journals mesh ncbisearch nlmcatalog omia omim pmc
popset probe proteinclusters pcassay pccompound pcsubstance snp
taxonomy toolkit unigene unists

Usage

Bio::NCBI::REST::ESearch.search("nucleotide", "tardigrada")
Bio::NCBI::REST::ESearch.count("nucleotide", "tardigrada")

Bio::NCBI::REST::ESearch.nucleotide("tardigrada")
Bio::NCBI::REST::ESearch.popset("aldh2")
Bio::NCBI::REST::ESearch.taxonomy("tardigrada")
Bio::NCBI::REST::ESearch.pubmed("tardigrada", "reldate" => 365)
Bio::NCBI::REST::ESearch.pubmed("mammoth mitochondrial genome")
Bio::NCBI::REST::ESearch.pmc("Indonesian coelacanth genome Latimeria menadoensis")
Bio::NCBI::REST::ESearch.journal("bmc bioinformatics")

ncbi = Bio::NCBI::REST::ESearch.new
ncbi.search("nucleotide", "tardigrada")
ncbi.count("nucleotide", "tardigrada")

ncbi.nucleotide("tardigrada")
ncbi.popset("aldh2")
ncbi.taxonomy("tardigrada")
ncbi.pubmed("tardigrada", "reldate" => 365)
ncbi.pubmed("mammoth mitochondrial genome")
ncbi.pmc("Indonesian coelacanth genome Latimeria menadoensis")
ncbi.journal("bmc bioinformatics")

Arguments:

  • term: search keywords (required)

  • limit: maximum number of entries to be returned (0 for unlimited)

  • hash: hash of E-Utils option

Returns

array of entry IDs or a number of results

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(*args) ⇒ Object

nucleotide(“tardigrada”) nucleotide(“tardigrada”, 0) pubmed(“tardigrada”) pubmed(“tardigrada”, 5) pubmed(“tardigrada”, “reldate” => 365) pubmed(“tardigrada”, 5, “reldate” => 365) pubmed(“tardigrada”, => 365, 5)



342
343
344
# File 'lib/bio/io/ncbirest.rb', line 342

def method_missing(*args)
  self.search(*args)
end

Instance Method Details

#count(db, term, hash = {}) ⇒ Object

count(“nucleotide”, “tardigrada”) count(“pubmed”, “tardigrada”) count(“journals”, “bmc”)



329
330
331
332
333
# File 'lib/bio/io/ncbirest.rb', line 329

def count(db, term, hash = {})
  opts = { "db" => db }
  opts.update(hash)
  Bio::NCBI::REST.esearch_count(term, opts)
end

#est(*args) ⇒ Object

alias for “nucest”



352
353
354
# File 'lib/bio/io/ncbirest.rb', line 352

def est(*args)
  self.search("nucest", *args)
end

#gss(*args) ⇒ Object

alias for “nucgss”



357
358
359
# File 'lib/bio/io/ncbirest.rb', line 357

def gss(*args)
  self.search("nucgss", *args)
end

#journal(*args) ⇒ Object

alias for journals



347
348
349
# File 'lib/bio/io/ncbirest.rb', line 347

def journal(*args)
  self.search("journals", *args)
end

#search(db, term, *args) ⇒ Object

search(“nucleotide”, “tardigrada”) search(“nucleotide”, “tardigrada”, 0) # unlimited search(“pubmed”, “tardigrada”) search(“pubmed”, “tardigrada”, 5) # first five search(“pubmed”, “tardigrada”, “reldate” => 365) # within a year search(“pubmed”, “tardigrada”, 5, “reldate” => 365) # combination search(“pubmed”, “tardigrada”, => 365, 5) # combination 2 search(“journals”, “bmc”, 10)



310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
# File 'lib/bio/io/ncbirest.rb', line 310

def search(db, term, *args)
  limit = 100
  hash = {}
  args.each do |arg|
    case arg
    when Hash
      hash.update(arg)
    else
      limit = arg.to_i
    end
  end
  opts = { "db" => db }
  opts.update(hash)
  Bio::NCBI::REST.esearch(term, opts, limit)
end