R: To select a database structured under ACNUC and located on...

choosebank {seqinr} | R Documentation

## To select a database structured under ACNUC and located on the web

### Description

This function allows to select one of the databases structured under ACNUC and located on the web. Called without arguments, `choosebank()`, will return the list of available databases. Then, you can use `query` to make your query and get a list of sequence names. Remote access to ACNUC databases works by opening a socket connection on a port (for example on port number 5558 at pbil.univ-lyon1.fr) and by communicating on this socket following the protocol described in the section `references`.

### Usage

    choosebank(bank = NA, host = "pbil.univ-lyon1.fr", port = 5558, server = FALSE,
                        blocking = TRUE, open = "a+", encoding = "", verbose = FALSE,
                        timeout = 5, infobank = FALSE, tagbank = NA)

### Arguments

`bank` | string. The name of the bank. If NA, `choosebank` will return the names of all database known by the server.
`host` | string. Host name for port (see `socketConnection`)
`port` | integer. The TCP port number (see `socketConnection`)
`server` | logical. Should the socket be a client or a server? (see `socketConnection`)
`blocking` | logical. (see `socketConnection`)
`open` | string. A description of how to open the connection (see `socketConnection`)
`encoding` | string. The name of the encoding to be used. (see `socketConnection`)
`verbose` | logical. If TRUE, verbose mode is on
`timeout` | integer. The timeout in seconds for `socketConnection`. Default 5 seconds.
`infobank` | logical. If `infobank` is TRUE and `bank` is `NA`, a data.frame with all database informations will be returned
`tagbank` | string. If `bank` is `NA` and `tagbank` is documented, the names of special purposes databases are returned. Current allowed values are TP for frozen databases (TP is an acronym for "travaux pratiques" which means practicals in french, these databases are useful mainly for teaching so as to have stable results), TEST for test databases, and DEV for databases under development (unstable).

### Details

When called without arguments, `choosebank()` returns a list of all the databases names known by the server, as a vector of string. When called with `choosebank(infobank = TRUE)`, a data.frame with more information is returned.

### Value

When called with a regular bank name, an (invisible) list with 6 components:

`socket` | an object of class `socket`
`bankname` | the name of the bank
`banktype` | the type of the bank (GENBANK, EMBL, SWISSPROT, NBRF)
`totseqs` | the total number of sequences present in the opened database
`totspecs` | the total number of species present in the opened database
`totkeys` | the total number of keywords present in the opened database

When called with bank = NA:

`` | A vector of all available bank names.

When called with bank = NA and infobank = TRUE, a data.frame with three columns:

`bank` | The name of the bank.
`status` | The bank status (on/of).
`info` | Short description of bank with last release date.

### Note

The invisible list returned when a database is opened is stored in the variable `banknameSocket` in the global environment.

### Author(s)

D. Charif, J.R. Lobry

### References

For more information about the socket communication protocol with ACNUC please get at http://doua.prabi.fr/databases/acnuc/remote_acnuc.html. To get the release date and content of all the databases located at the pbil, please look at the following url: http://doua.prabi.fr/search/releases
Gouy, M., Milleret, F., Mugnier, C., Jacobzone, M., Gautier,C. (1984) ACNUC: a nucleic acid sequence data base and analysis system. Nucl. Acids Res., 12:121-127.
Gouy, M., Gautier, C., Attimonelli, M., Lanave, C., Di Paola, G. (1985) ACNUC - a portable retrieval system for nucleic acid sequence databases: logical and physical designs and usage. Comput. Appl. Biosci., 3:167-172.
Gouy, M., Gautier, C., Milleret, F. (1985) System analysis and nucleic acid sequence banks. Biochimie, 67:433-436.

`citation("seqinr")`

### See Also

`where.is.this.acc` if you have a sequence accession number but you don't know which database to open, `query` to make a query when a database is opened, `connection`, `socketConnection`

### Examples

      ## Not run: # Need internet connection
      # Show available databases:
      choosebank()
      # Show frozen databases:
      choosebank(tag = "TP")
      # Select a database:
      choosebank("emblTP", tag = "TP")
      # Do something with the database:
      myseq <- gfrag("LMFLCHR36", start = 1, length = 30)
      stopifnot(myseq == "cgcgtgctggcggcaatgaagcgttcgatg")
      # Close the database:
      closebank()
    ## End(Not run)

[Package seqinr version 3.4-5 Index]