Skip to contents

Wrapper for rentrez::entrez_fetch.

Usage

entrez_fetch(db, id = NULL, rettype, retmode = "", ...)

Arguments

db

character, name of the database

id

vector, unique ID(s) for record(s)

rettype

character, data format

retmode

character, data mode

...

Arguments to be passed on to rentrez

Value

character string containing the file created

Details

Attempts to first search local database with user-specified parameters, if the record is missing in the database, the function then calls rentrez::entrez_fetch to search GenBank remotely.

rettype='fasta' and rettype='gb' are respectively equivalent to gb_fasta_get() and gb_record_get().

Note

It is advisable to call restez and rentrez functions with '::' notation rather than library() calls to avoid namespace issues. e.g. restez::entrez_fetch().

Supported return types and modes

XML retmode is not supported. Rettypes 'seqid', 'ft', 'acc' and 'uilist' are also not supported.

Examples

library(restez)
restez_path_set(tempdir())
#> ... Creating '/tmp/RtmpUsDojX/restez'
#> ... Creating '/tmp/RtmpUsDojX/restez/downloads'
demo_db_create(n = 5)
# return fasta record
fasta_res <- entrez_fetch(db = 'nucleotide',
                          id = c('demo_1', 'demo_2'),
                          rettype = 'fasta')
cat(fasta_res)
#> >demo_1.2 A demonstration sequence | id demo_1
#> ATTAACAGCG
#> 
#> >demo_2.2 A demonstration sequence | id demo_2
#> CCGGCAGAAA
#> 
# return whole GB record in text format
gb_res <- entrez_fetch(db = 'nucleotide',
                       id = c('demo_1', 'demo_2'),
                       rettype = 'gb')
cat(gb_res)
#> LOCUS       [This is a mock GenBank data record]
#> DEFINITION  A demonstration sequence | id demo_1
#> ACCESSION   demo_1
#> VERSION     2
#> KEYWORDS    [keyword]
#> SOURCE      [tissue, organism]
#> ORGANISM    Unreal organism 1
#> REFERENCE   [reference data]
#> AUTHORS     [all the authors]
#> TITLE       [title]
#> JOURNAL     [journal]
#> FEATURES    [features]
#> 
#> ORIGIN      
#>         1 attaacagcg
#> 
#> 
#> LOCUS       [This is a mock GenBank data record]
#> DEFINITION  A demonstration sequence | id demo_2
#> ACCESSION   demo_2
#> VERSION     2
#> KEYWORDS    [keyword]
#> SOURCE      [tissue, organism]
#> ORGANISM    Unreal organism 2
#> REFERENCE   [reference data]
#> AUTHORS     [all the authors]
#> TITLE       [title]
#> JOURNAL     [journal]
#> FEATURES    [features]
#> 
#> ORIGIN      
#>         1 ccggcagaaa
#> 
#> 
# NOT RUN
# whereas these request would go through rentrez
# fasta_res <- entrez_fetch(db = 'nucleotide',
#                           id = c('S71333', 'S71334'),
#                           rettype = 'fasta')
# gb_res <- entrez_fetch(db = 'nucleotide',
#                        id = c('S71333', 'S71334'),
#                        rettype = 'gb')

# delete demo after example
db_delete(everything = TRUE)