Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Gilda: Grounding Integrating Learned Disambiguation

License Build Documentation PyPI version

Gilda is a Python package and REST service that grounds (i.e., finds appropriate identifiers in namespaces for) named entities in biomedical text.


Gilda is deployed as a web service at (see Usage instructions below), however, it can also be used locally as a Python package.

The recommended method to install Gilda is through PyPI as

pip install gilda

Note that Gilda uses a single large resource file for grounding, which is automatically downloaded into the ~/.data/gilda/<version> folder during runtime (see pystow for options to configure the location of this folder).

Given some additional dependencies, the grounding resource file can also be regenerated locally by running python -m gilda.generate_terms.


Gilda can either be used as a REST web service or used programmatically via its Python API. An introduction Jupyter notebook for using Gilda is available at

Use as a Python package

For using Gilda as a Python package, the documentation at provides detailed descriptions of each module of Gilda and their usage. A basic usage example is as follows

import gilda
scored_matches = gilda.ground('ER', context='Calcium is released from the ER.')

Use as a web service

The REST service accepts POST requests with a JSON header on the /ground endpoint. There is a public REST service running on AWS but the service can also be run locally as

python -m

which, by default, launches the server at localhost:8001 (for local usage replace the URL in the examples below with this address).

Below is an example request using curl:

curl -X POST -H "Content-Type: application/json" -d '{"text": "kras"}'

The same request using Python's request package would be as follows:

import requests'', json={'text': 'kras'})

Run web service with Docker

After cloning the repository locally, you can build and run a Docker image of Gilda using the following commands:

$ docker build -t gilda:latest .
$ docker run -d -p 8001:8001 gilda:latest

Alternatively, you can use docker-compose to do both the initial build and run the container based on the docker-compose.yml configuration:

$ docker-compose up


  author = {Gyori, Benjamin M and Hoyt, Charles Tapley and Steppi, Albert},
  doi = {10.1101/2021.09.10.459803},
  journal = {bioRxiv},
  publisher = {Cold Spring Harbor Laboratory},
  title = {{Gilda: biomedical entity text normalization with machine-learned disambiguation as a service}},
  url = {},
  year = {2021}


The development of Gilda was funded under the DARPA Communicating with Computers program (ARO grant W911NF-15-1-0544) and the DARPA Young Faculty Ward (ARO grant W911NF-20-1-0255).


Grounding of biomedical named entities with contextual disambiguation







No packages published

Contributors 4