Skip to contents

Main retrieval function for GTF files of an organism of interest. By specifying the scientific name of an organism of interest the corresponding GTF file storing the annotation for the organism of interest can be downloaded and stored locally. GTF files can be retrieved from several databases.


  db = "ensembl",
  remove_annotation_outliers = FALSE,
  path = file.path("ensembl", "annotation"),
  assembly_type = "toplevel",
  release = NULL



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

  • db = "ensembl"


a character string specifying the scientific name of the organism of interest, e.g. organism = "Homo sapiens".


shall outlier lines be removed from the input annotation_file? If yes, then the initial annotation_file will be overwritten and the removed outlier lines will be stored at tempdir for further exploration.


a character string specifying the location (a folder) in which the corresponding annotation file shall be stored. Default is path = file.path("ensembl","annotation").


a character string specifying from which assembly type the genome shall be retrieved from (ensembl only, else this argument is ignored): Default is assembly_type = "toplevel"). This will give you all multi-chromosomes (copies of the same chromosome with small variations). As an example the toplevel fasta genome in human is over 70 GB uncompressed. To get primary assembly with 1 chromosome variant per chromosome: assembly_type = "primary_assembly"). As an example, the primary_assembly fasta genome in human is only a few GB uncompressed:


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.


File path to downloaded annotation file.


Internally this function loads the the overview.txt file from ENSEMBL: and creates a directory 'ensembl/annotation' to store the genome of interest as fasta file for future processing. In case the corresponding fasta file already exists within the 'ensembl/annotation' folder and is accessible within the workspace, no download process will be performed.


Hajk-Georg Drost


if (FALSE) {
# download the annotation of Homo sapiens from ensembl
# and store the corresponding genome file in 'ensembl/annotation'
getGTF(db            = "ensembl",
       organism      = "Homo sapiens",
       path          = file.path("ensembl","annotation"))

getGTF(db            = "ensembl",
       organism      = "Homo sapiens",
       path          = file.path("ensembl","annotation"),
       assembly_type = "primary_assembly")