Genotify: Fast, lightweight gene lookup and summarization
We are excited to introduce Genotify, a light-weight, cross-platform desktop application for quick gene lookup and summarization. If you're a molecular biology researcher or bioinformaticist, you likely find yourself Googling gene names relatively frequently, especially when doing a heavy lit review or poring through tables of genes from your latest breakthrough study.
Determining the protein product function and biological significance in the context of the study for these genes can consume significant time and effort. Despite dozens of data sources that provide gene annotations, including genomic mapping, aliases, expression, function, disease associations, ontology terms, and more, accessing this information requires combing through these databases as well as the knowledge of their existence. While many databases provide APIs for high-throughput annotation (e.g. UniProtKB (Bateman et al., 2017), NCBI Gene (Brown et al., 2015), and Ensembl (Zerbino et al., 2018)), there exist few non-programmatic options for querying and collating information from multiple databases for everyday use. Genotify addresses this unmet need, providing an intuitive GUI with flexible search options that intelligently queries both general and species-specific databases to expedite manual curation and enable convenient routine gene lookup.
Installation
Just download the release for your OS, unpack, and run. To build from source with node.js
, you can clone the repo and run npm install
followed by npm start
.
Basic Usage
Genotify is dead simple to use. Type a query into the search box and click the search button, hit enter, or use the hotkey ctrl+q
(or cmd+q
) to query from clipboard (even if Genotify isn't focused!). Search for and select species with the species filter, or filter hits in the hits table dynamically. Clicking on a different hit in the hits table will show the information for that hit. Expand the various sections to read what said gene does, explore expression data, see disease associations, or view links out to various data sources. Clicking on a text box will copy its contents to your clipboard for easy copying.
Our group frequently uses Genotify to facilitate:
- rapid, efficient lookup of genes while reviewing literature or curating lists of significant genes,
- close investigation of families of related genes,
- quick ascertainment of the biological significance of differentially expressed genes or associating proteins,
- determination of known disease associations,
- exploration of protein structure, modifications, and variants,
- comparison of mRNA expression of a queried gene across diverse tissues, cell types, and species.
Full usage instructions and illustrative examples are available here.
Implementation
Genotify is built on the Electron framework, allowing for inherent cross-platform deployment for both 32 and 64-bit systems. It utilizes the excellent APIs many databases make available to quickly access and parse their information. Initial queries are submitted to the MyGene.info API, from which matches are displayed and easily navigable with a single click. Information for the top hit (or chosen hit) is then requested from multiple data sources concurrently, including CTDbase for disease associations, UniProt for protein function and structure, EBI Expression Atlas for gene expression, and many more. Much of this information is conferred through interactive widgets that provide the user the ability to explore expression experiments and the structure of the gene product in great detail.
None of this data is stored locally, resulting in an application that is easily installed in under a minute with a minimal footprint. Most importantly, Genotify works for all species, though the information available for each differs significantly.
Full implementation details are available in our paper in the Journal of Open Source Software.
Availability
Genotify is released under the GPL-3.0 license with source code and binaries freely available at https://github.com/j-andrews7/Genotify/releases, implemented as a desktop application built on the Electron framework and supported on linux, OS X, and MS Windows.
Changes in some of the data sources were causing occasional errors that were becoming more and more common. The latest release (v1.2.2) fixes these and makes some QoL changes that should fix a few UI quirks on linux and OSX.