Genome Retrieval — getGenome • biomartr
Description: Main genome retrieval function for an organism of interest. By specifying the scientific name of an organism of interest the corresponding fasta-file storing the genome of the organism of interest can be downloaded and stored locally. Genome files can be retrieved from several databases. In addition, the genome summary statistics for the retrieved species is stored locally to provide users with insights regarding the genome assembly quality (see summary_genome for details). This is useful when comparing genomes with large difference in genome assembly qualities.

# Genome Retrieval

Source: `R/getGenome.R`
`getGenome.Rd`

Main genome retrieval function for an organism of interest. By specifying the scientific name of an organism of interest the corresponding fasta-file storing the genome of the organism of interest can be downloaded and stored locally. Genome files can be retrieved from several databases. In addition, the genome summary statistics for the retrieved species is stored locally to provide users with insights regarding the genome assembly quality (see `summary_genome` for details). This is useful when comparing genomes with large difference in genome assembly qualities.

    getGenome(
      db = "refseq",
      organism,
      reference = FALSE,
      skip_bacteria = TRUE,
      release = NULL,
      gunzip = FALSE,
      path = file.path("_ncbi_downloads", "genomes"),
      assembly_type = "toplevel",
      mute_citation = FALSE,
      analyse_genome = FALSE
    )

## Arguments

db

  a character string specifying the database from which the genome shall be retrieved:

  - `db = "refseq"`

  - `db = "genbank"`

  - `db = "ensembl"`

organism

  Organism selector id, there are three options to characterize an organism:

  - by `scientific name`: e.g. `organism = "Homo sapiens"`

  - by `database specific accession identifier`: e.g. `organism = "GCF_000001405.37"` (= NCBI RefSeq identifier for `Homo sapiens`)

  - by `taxonomic identifier from NCBI Taxonomy`: e.g. `organism = "9606"` (= taxid of `Homo sapiens`)

reference

  a logical value indicating whether or not a genome shall be downloaded if it isn't marked in the database as either a reference genome or a representative genome.

skip_bacteria

  Due to its enormous dataset size (> 700MB as of July 2023), the bacterial summary file will not be loaded by default anymore. If users wish to gain insights for the bacterial kingdom they needs to actively specify `skip_bacteria = FALSE`. When `skip_bacteria = FALSE` is set then the bacterial summary file will be downloaded.

release

  a numeric, the database release version of ENSEMBL (`db = "ensembl"`). Default is `release = NULL` meaning that the most recent database version is used. `release = 75` would for human would give the stable GRCh37 release in ensembl. Value must be > 46, since ensembl did not structure their data if the standard format before that.

gunzip

  a logical, indicating whether or not files should be unzipped.

path

  character, default location is paste0("set_", toupper(type))

assembly_type

  a character, default "toplevel". id type of assembly, either "toplevel" or "primary_assembly" usually.

mute_citation

  logical, default FALSE, indicating whether citation message should be muted.

analyse_genome

  logical, default FALSE. If TRUE, get general genome statistics like gc content etc. For more details, see ?summary_genome

## Value

File path to downloaded genome.

## Details

Internally this function loads the the overview.txt file from NCBI:

refseq: ftp://ftp.ncbi.nlm.nih.gov/genomes/refseq/

genbank: ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/

and creates a directory relative to file type, if you get fasta genomes it will be _ncbi_downloads/genomes'. In case the corresponding fasta file already exists within the '_ncbi_downloads/genomes' folder and is accessible within the workspace, no download process will be performed. For other file types the same rule applies.

## See also

Other getBio: `getBio()`, `getCDS()`, `getCollection()`, `getGFF()`, `getProteome()`, `getRNA()`

Other genome: `getGenomeSet()`, `read_genome()`

## Author

Hajk-Georg Drost