entrez 0.5.2 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +1 -1
- data/lib/entrez.rb +2 -1
- data/lib/entrez/version.rb +1 -1
- data/spec/entrez_spec.rb +5 -0
- metadata +1 -1
data/README.rdoc
CHANGED
@@ -35,7 +35,7 @@ ESummary takes the same arguments.
|
|
35
35
|
|
36
36
|
args:
|
37
37
|
* database
|
38
|
-
* term
|
38
|
+
* search terms (hash will be converted to term[field]+AND+another_term[another_field] notation. It can also be a string literal.)
|
39
39
|
* params hash (optional)
|
40
40
|
|
41
41
|
Entrez.ESearch('genomeprj', {WORD: 'hapmap', SEQS: 'inprogress'}, retmode: :xml)
|
data/lib/entrez.rb
CHANGED
@@ -22,8 +22,9 @@ class Entrez
|
|
22
22
|
|
23
23
|
# E.g. Entrez.ESearch('genomeprj', {WORD: 'hapmap', SEQS: 'inprogress'}, retmode: :xml)
|
24
24
|
# returns response. For convenience, response.ids() returns array of ID integers from result set.
|
25
|
+
# search_terms can also be string literal.
|
25
26
|
def ESearch(db, search_terms = {}, params = {})
|
26
|
-
params[:term] = convert_search_term_hash(search_terms)
|
27
|
+
params[:term] = search_terms.is_a?(Hash) ? convert_search_term_hash(search_terms) : search_terms
|
27
28
|
response = perform '/esearch.fcgi', db, params
|
28
29
|
parse_ids_and_extend response if response[:retmode].nil? || response[:retmode] == :xml
|
29
30
|
response
|
data/lib/entrez/version.rb
CHANGED
data/spec/entrez_spec.rb
CHANGED
@@ -37,6 +37,11 @@ describe Entrez do
|
|
37
37
|
response.ids.should be_empty
|
38
38
|
end
|
39
39
|
|
40
|
+
it '#ESearch accepts string as search_terms parameter' do
|
41
|
+
response = Entrez.ESearch('genomeprj', 'hapmap[WORD]', retmode: :xml)
|
42
|
+
response.ids.should include(60153)
|
43
|
+
end
|
44
|
+
|
40
45
|
it 'should respect query limit' do
|
41
46
|
requests = proc { 4.times { Entrez.EFetch('taxonomy', id: 9606) } }
|
42
47
|
requests.should take_longer_than(1.0)
|