Changes in version 2.29.1

- Improve documentation of `proteinToGenome()` and require named `IRanges` as
  input to `proteinToGenome()`.

Changes in version 2.27.1

- Functions for coordinate mapping gain support for pre-loaded genomic ranges
  hence enabling parallel processing support (contribution from Boyu Yu).

Changes in version 2.25.1

- Skip reading gtf file from Ensembl ftp server in unit test.

Changes in version 2.23.2

- Fix SQLite database names to include also the subspecies.

Changes in version 2.23.1

- Remove disjointExons method.

Changes in version 2.21.5

- Fix spell mistakes (thanks to Mike Love).

Changes in version 2.21.3

- Add minimal required Ensembl API version for certain data fields
  (stable_id_version). Issue https://github.com/jorainer/ensembldb/issues/139

Changes in version 2.21.1

- Since *is circular* flag for chromosomes extracted using the Ensembl Perl API
  is always `FALSE`: manually set `isCircular` to `TRUE` for chromosome(s)
  named `"MT"` (issue https://github.com/jorainer/ensembldb/issues/133).

Changes in version 2.19.10

- Fix issue in `getGeneRegionTrackForGviz` if no transcript was found in the
  provided genomic range (issue https://github.com/jorainer/ensembldb/issues/132).

Changes in version 2.19.9

- `seqlevelsStyle` allows to provide a custom mapping data frame.

Changes in version 2.19.8

- Require package Biostrings in the coordinate mapping vignette.

Changes in version 2.19.7

- `listColumns` does no longer report columns from the metadata database table
  (issue https://github.com/jorainer/ensembldb/issues/128).

Changes in version 2.19.6

- Fixes in `proteinToGenome`.

Changes in version 2.19.5

- Add support for additional `tx_is_canonical` column and add
  `TxIsCanonicalFilter` (issue https://github.com/jorainer/ensembldb/issues/123).

Changes in version 2.19.4

- Fix issue with quotes in transcript names when importing transcript tables.

Changes in version 2.19.2

- Restore backward compatibility (issue https://github.com/jorainer/ensembldb/issues/122).


Changes in version 2.19.1

- Add database column tx_name to store the external transcript names.
- Update TxNameFilter to allow filtering on this database column.

Changes in version 2.17.4

- Fix issue with extracting 5' or 3' UTRs for transcript without UTRs.

Changes in version 2.17.3

- Make parameter `port` optional in the script to create EnsDb databases.

Changes in version 2.17.2

- Disable ideogram plotting in vignettes.

Changes in version 2.17.1

- Fix error when importing uncompressed GTF files.

Changes in version 2.15.3

- Fix missing declaration of rmarkdown.

Changes in version 2.15.2

- Ensure remote gzipped files are handled properly by `ensDbFromGtf`.


Changes in version 2.15.1

- Add new field canonical_transcript to the gene table reporting the ID of the
  gene's canonical transcript.


Changes in version 2.11.1

- Fix mapIds issue.


Changes in version 2.11.1

- Add gc_count to the transcripts table.
- Ensure `mapIds` returns a result equal to the number of input keys - even if
  none of them could be mapped (issue #104).


Changes in version 2.7.10

- Export getGenomeTwoBitFile (issue #95).
- Update vignette on using getGenomeTwoBitFile instead of getGenomeFaFile.


Changes in version 2.7.9

- Add intronsByTranscript method (issue #94).


Changes in version 2.7.7

- Performance improvement for proteinToTranscript.


Changes in version 2.7.6

- Increase performance of genomeToTranscript for input GRanges of length > 1.


Changes in version 2.7.5

- Fix class definitions for R >= 3.6.


Changes in version 2.7.4

- Update perl script to add columns tx_id_version and gene_id_version to the
  transcript and gene database tables.


Changes in version 2.7.3

- Implement mapIds multiVals = "CharacterList" option (issue #87).


Changes in version 2.7.2

- Add vignette with coordinate mapping use cases


Changes in version 2.7.1

- transcriptToGenome returns an empty GRanges if the input range is outside
  of the transcript's sequence instead of throwing an error.


Changes in version 2.5.9

- Write the official scientific name into the "Organism" metadata field.


Changes in version 2.5.8

- Further improve MySQL support and performance.


Changes in version 2.5.6

- Add additional (integer) ID columns to the tables for the MySQL backend to
  improve performance.
- Use integer primary key columns for join queries in MySQL/MariaDB EnsDb
  databases.


Changes in version 2.5.5

- Switch from RMySQL to RMariaDB.


Changes in version 2.5.2

- Switch from GenenameFilter to GeneNameFilter for AnnotationHub >= 1.5.2.


Changes in version 2.5.1

- Fix bug in getGeneRegionTrackForGviz that throws an error if both protein
  coding and non-coding transcripts are fetched.


Changes in version 2.3.14

- New ProteinDomainSourceFilter and ProteinDomainIdFilter.


Changes in version 2.3.11

- Fix for issue #75.


Changes in version 2.3.9

- Add transcriptToCds and cdsToTranscript functions (issue #73).


Changes in version 2.3.8

- Fix problem creating EnsDb from GTF file lacking exon IDs (issue #72,
  https://support.bioconductor.org/p/105536/).


Changes in version 2.3.7

- Switch to EnsDb.Hsapiens.v86 in examples, unit tests and vignettes.


Changes in version 2.3.6

- Fix issue #69 failing to map genomic coordinates to proteins if different
  genomic coordinates are mapped to the same transcripts/proteins.


Changes in version 2.3.5

- Fix problem mapping genomic coordinates on named GRanges.


Changes in version 2.3.2

- Functionality to between genomic and transcript-relative or
  protein-relative coordinates: proteinToTranscript, genomeToTranscript,
  transcriptToGenome, transcriptToProtein, genomeToProtein.


Changes in version 2.3.1

- Functionality to map within-protein coordinates to genomic coordinates:
  proteinToGenome function.


Changes in version 2.1.12

- Use new defaults from the IRanges package for arguments maxgap = -1L,
  minoverlap = 0L in transcriptsByOverlaps and exonsByOverlaps methods.


Changes in version 2.1.12

- Remove RSQLite warnings (issue #54).


Changes in version 2.1.11

- ensDbFromGtf failed to parse header for GTF files with more than one
  white space.


Changes in version 2.1.10

- supportedFilters returns a data frame with the filter class name and
  corresponding field (column) name.


Changes in version 2.1.9

- Support for global filters in an EnsDb object.
- Add filter function.


Changes in version 2.1.8

- New annotations available in EnsDb objects: gene.description and
  tx.tx_support_level.
- New TxSupportLevelFilter object.


Changes in version 1.99.13

- Most filter classes are now imported from the AnnotationFilter package.
- Parameter 'filter' supports now filter expression.
- Multiple filters can be combined with & and |.
- buildQuery is no longer exported.


Changes in version 1.99.11

- ensDbFromGtf failed to fetch sequence length for some ensemblgenomes
  versions.


Changes in version 1.99.11

- Retrieving also the taxonomy ID from the Ensembl databases and storing this
  information into the metadata table.


Changes in version 1.99.10

- Fix problem on Windows systems failing to download files from Ensembl
  servers.


Changes in version 1.99.6

- MySQL database name for useMySQL was not created as expected for GTF/GFF
  based EnsDbs.


Changes in version 1.99.5

- OnlyCodingTxFilter is now exported. This filter allows to query for
  protein coding genes.


Changes in version 1.99.3

- Add two additional uniprot table columns to internal variable and fix
  failing unit test.


Changes in version 1.99.3

- Add two additional uniprot table columns to internal variable and fix
  failing unit test.


Changes in version 1.99.3

- UniprotdbFilter and UniprotmappingtypeFilter.
- Fetching Uniprot database and the type of mapping method for
  Uniprot IDs to Ensembl protein IDs: database columns uniprot_db and
  uniprot_mapping_type.


Changes in version 1.99.2

- Perl script is no longer failing if no chromosome info is available.


Changes in version 1.99.1

- No protein table indices were created when inserting an EnsDb with protein
  data to MySQL.


Changes in version 1.99.0

- The perl script to create EnsDb databases fetches also protein annotations.
- Added functionality to extract protein annotations from the database
  (if available) ensuring backward compatibility.
- Add proteins vignette.
- Improved functionality to fetch sequence lengths for chromosomes from
  Ensembl or ensemblgenomes.


Changes in version 1.5.14

- listEnsDbs function to list EnsDb databases in a MySQL server.
- EnsDb constructor function allows to directly connect to a EnsDb database
  in a MySQL server.
- useMySQL compares the creation date between database and SQLite version and
  proposes to update database if different.


Changes in version 1.5.13

- useMySQL method to insert the data into a MySQL database and switch backend
  from SQLite to MySQL.


Changes in version 1.5.12

- Add additional indices on newly created database which improves performance
  considerably.
- Fix issue #11: performance problems with RSQLite 1.0.9011. Ordering for
  cdsBy, transcriptsBy, UTRs by is performed in R and not in SQL.
- Fix ordering bug: results were sorted by columns in alphabetical order
  (e.g. if order.by = "seq_name, gene_seq_start" was provided they were sorted
  by gene_seq_start and then by seq_name


Changes in version 1.5.11

- makeEnsemblSQLiteFromTables and ensDbFromGRanges perform sanity checks
  on the input tables.


Changes in version 1.5.10

- Using html_document2 style for the vignette.


Changes in version 1.5.9

- New SymbolFilter.
- returnFilterColumns method to enable/disable that filter columns are also
  returned by the methods (which is the default).
- select method support for SYMBOL keys, columns and filter.
- Select method does ensure result ordering matches the input keys if a
  single filter or only keys are provided.


Changes in version 1.5.8

- Fix problem with white space separated species name in ensDbFromGRanges.


Changes in version 1.5.7

- Fixed typos in documentation


Changes in version 1.5.6

- Fix warning fo validation of numeric BasicFilter.


Changes in version 1.5.5

- exonsBy: did always return tx_id, even if not present in columns argument.


Changes in version 1.5.4

- Column tx_id was always removed from exonsBy result even if in the
  columns argument.
- exon_idx was of type character if database generated from a GTF file.


Changes in version 1.5.2

- tx_id was removed from metadata columns in txBy.
- Fixed a bug that caused exon_idx column to be character if database created
  from a GTF.


Changes in version 1.5.1

- Added support for column tx_name in all methods and in the keys and select methods.
  Values in the returned tx_name columns correspond to the tx_id.
- Update documentation.


Changes in version 1.3.20

- methods transcripts, genes etc don't result in an error when columns are specified which
  are not present in the database and the return.type is GRanges.
- Removed the transcriptLengths method implemented in ensembldb in favor of using the one
  from GenomicFeatures.


Changes in version 1.3.19

- ensDbFromGRanges (and thus ensDbFromGtf, ensDbFromGff and ensDbFromAH) support now
  Ensembl GTF file formats from version 74 and before.


Changes in version 1.3.18

- New ExonrankFilter to filter based on exon index/rank.


Changes in version 1.3.17

- Use setdiff/intersect instead of psetdiff/pintersect.


Changes in version 1.3.16

- Fixed failing test.


Changes in version 1.3.15

- GRangesFilter now supports GRanges of length > 1.
- seqlevels method for GRangesFilter.
- New methods exonsByOverlaps and transcriptsByOverlaps.


Changes in version 1.3.14

- seqlevelsStyle getter and setter method to change the enable easier integration
  of EnsDb objects with UCSC based packages. supportedSeqlevelsStyle method to list
  possible values. Global option "ensembldb.seqnameNotFound" allows to adapt the
  behaviour of the mapping functions when a seqname can not be mapped properly.
- Added a seqlevels method for EnsDb objects.
- Add an example to extract transcript sequences directly from an EnsDb object to
  the vignette.
- Add examples to use EnsDb objects with UCSC chromosome names to the vignette.
- Seqinfo for genes, transcripts and exons contain now only the seqnames returned
  in the GRanges, not all that are in the database.


Changes in version 1.3.13

- EnsDb: new "hidden" slot to store additional properties and a method updateEnsDb
  to update objects to the new implementation.
- New method "transcriptLengths" for EnsDb that creates a similar data.frame than
  the same named function in the GenomicFeatures package.
- fiveUTRsByTranscript and threeUTRsByTranscript returned wrong UTRs for some special
  cases in which the CDS start and end were in the same exon. This has been fixed.


Changes in version 1.3.12

- ensDbFromGff and ensDbFromAH functions to build EnsDb objects from GFF3 files
  or directly from AnnotationHub ressources.
- getGenomeFaFile does now also retrieve Fasta files for the "closest" Ensembl
  release if none is available for the matching version.
- Removed argument 'verbose' in ensDbFromGRanges and ensDbFromGtf.
- Updated parts of the vignette.
- Removed method extractTranscriptSeqs again due to some compatibility problems
  with GenomicRanges.
- Avoid wrong CDS start/end position definition for Ensembl gtf files in which the
  start or end codon is outside the CDS.


Changes in version 1.3.11

- "select" method returns now also the keytype as a column from the database.


Changes in version 1.3.10

- Implemented methods columns, keys, keytypes, mapIds and select from AnnotationDbi.
- Methods condition<- and value<- for BasicFilter.


Changes in version 1.3.9

- The shiny app now allows to return the search results.



Changes in version 1.3.7

- Some small changes to the vignette.
- Fixed a problem in an unit test.


Changes in version 1.3.6

- Fixed a bug in ensDbFromGRanges.


Changes in version 1.3.5

- Added GRangesFilter enabling filtering using a (single!) GRanges object.
- Better usability and compatibility with chromosome names: SeqnameFilter and
  GRangesFilter support both Ensembl and UCSC chromosome names, if option
  ucscChromosomeNames is set to TRUE returned chromosome/seqnames are in
  UCSC format.
- Added method "value" for BasicFilter objects.
- transcripts, genes, exons return now results sorted
  by seq name and start coordinate.


Changes in version 1.3.4

- Added extractTranscriptSeqs method for EnsDb objects.
- Added a section to the vignette describing the use of ensembldb in Gviz.
- Fixed the vignette to conform the "Bioconductor style".
- Added argument use.names to exonsBy.
- Fixed bug with getGeneRegionTrackForGviz with only chromosome specified.
- Fixed an internal problem subsetting a seqinfo.


Changes in version 1.3.3

- Add method getGeneRegionTrackForGviz to enable using EnsDb databases for Gviz.
- cdsBy, fiveUTRsForTranscript and threeUTRsForTranscript do no longer throw
  an error if nothing was found but return NULL and produce a warning.


Changes in version 1.3.2

- Implemented methods cdsBy, fiveUTRsForTranscript and threeUTRsForTranscript
  for EnsDb.


Changes in version 1.3.1

- Ensuring that methods exons, genes and transcripts return columns in the
  same order than provided with argument 'columns' for return.type 'data.frame'
  or 'DataFrame'.


Changes in version 1.1.9

- Fixed a figure placement problem that can result in an error on certain
  systems using a recent TexLive distribution.


Changes in version 1.1.6

- Fix a bug in lengthOf that caused an error if no filter was supplied.


Changes in version 1.1.5

- Implemented a shiny web app to search for genes/transcripts/exons using
  annotation of an EnsDb annotation package (function runEnsDbApp).


Changes in version 1.1.4

- Added promoters method.



Changes in version 1.1.3

- Added method ensemblVersion that returns the Ensembl version the package bases on.
- Added method getGenomeFaFile that queries AnnotationHub to retrieve the Genome
  FaFile matching the Ensembl version of the EnsDb object.


Changes in version 1.1.2

- Added examples to the vignette for building an EnsDb using AnnotationHub along with
  the matching genomic sequence.
- Added an example for fetching the sequences of genes, transcripts and exons to the vignette.
- Fixed a bug in ensDbFromGRanges and ensDbFromGtf in which the genome build version
  was not set even if provided.


Changes in version 1.1.1

- The filter argument in all functions supports now also submission of a filter
  object, not only of a list of filter objects.


Changes in version 0.99.18

- Fixed a problem in processing GTF files without header information.
- Fixed a bug failing to throw an error if not all required feature types are
  available in the GTF.


Changes in version 0.99.17

- Added new function ensDbFromGRanges that builds an EnsDB database from information
  provided in a GRanges object (e.g. retrieved from the AnnotationHub).


Changes in version 0.99.16

- Added argument outfile to ensDbFromGtf that allows to manually specify the file
  name of the database file.
- ensDbFromGtf tries now to automatically fetch the sequence lengths from Ensembl.
- Fixed the function that extracts the genome build version from the gtf file name.


Changes in version 0.99.15

- metadata method to extract the information from the metadata database table.
- ensDbFromGtf function to generate a EnsDb SQLite file from an (Ensembl)
  GTF file.


Changes in version 0.99.14

- Fixed a problem when reading tables fetched from Ensembl that contained ' or #.


Changes in version 0.99.13

- Added argument "port" to the fetchTablesFromEnsembl to allow specifying the MySQL port
  of the database.


Changes in version 0.99.12

- argument "x" for method organism changed to "object".
