Skip to main content

A package for training and evaluating biological knowledge graph embeddings

Project description

BioKEEN (Biological KnowlEdge EmbeddiNgs) is a package for training and evaluating biological knowledge graph embeddings built on PyKEEN.

Because we use PyKEEN as the underlying software package, implementations of 10 knowledge graph embedding models are currently available for BioKEEN. Furthermore, BioKEEN can be run in training mode in which users provide their own set of hyper-parameter values, or in hyper-parameter optimization mode to find suitable hyper-parameter values from set of user defined values.

Through the integration of the Bio2BEL [2] software numerous biomedical databases are directly accessible within BioKEEN.

BioKEEN can also be run without having experience in programing by using its interactive command line interface that can be started with the command “biokeen” from a terminal.

Share Your Experimental Artifacts

You can share you trained KGE models along the other experimental artifacts through the KEEN-Model-Zoo.


A brief tutorial on how to get started with BioKEEN is available here.

Further tutorials are can be found in the notebooks directory and in our documentation.


If you find BioKEEN useful in your work, please consider citing:

Note: ComPath has been updated, for this reason we have uploaded the dataset version that we have used for our experiments: dataset

Installation Current version on PyPI Stable Supported Python Versions MIT License

To install biokeen, Python 3.6+ is required, and we recommend to install it on Linux or Mac OS systems. Please run following command:

$ pip install git+

Alternatively, it can be installed from the source for development with:

$ git clone biokeen
$ cd biokeen
$ pip install -e .


Contributions, whether filing an issue, making a pull request, or forking, are appreciated. See CONTRIBUTING.rst for more information on getting involved.

CLI Usage

To show BioKEEN’s available commands, please run following command:


Starting the Training/HPO Pipeline - Set Up Your Experiment within 60 seconds

To configure an experiment via the CLI, please run following command:

biokeen start

To start BioKEEN with an existing configuration file, please run the following command:

biokeen start -f /path/to/config.json

Starting the Prediction Pipeline

To make prediction based on a trained model, please run following command:

biokeen predict -m /path/to/model/directory -d /path/to/data/directory

where the value for the argument -m is the directory containing the model, in more detail following files must be contained in the directory:

  • configuration.json

  • entities_to_embeddings.json

  • relations_to_embeddings.json

  • trained_model.pkl

These files are created automatically created after model is trained (and evaluated) and exported in your specified output directory.

The value for the argument -d is the directory containing the data for which inference should be applied, and it needs to contain following files:

  • entities.tsv

  • relations.tsv

where entities.tsv contains all entities of interest, and relations.tsv all relations. Both files should contain should contain a single column containing all the entities/relations. Based on these files, PyKEEN will create all triple permutations, and computes the predictions for them, and saves them in data directory in predictions.tsv.

Summarize the Results of All Experiments

To summarize the results of all experiments, please run following command:

biokeen summarize -d /path/to/experiments/directory -o /path/to/output/file.csv

Getting Bio2BEL Data

To download and structure the data from a Bio2BEL repository, run:

biokeen data get <name>

Where <name> can be any repository name in Bio2BEL such as hippie, mirtarbase.


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

biokeen-0.0.14.tar.gz (271.7 kB view hashes)

Uploaded source

Built Distribution

biokeen-0.0.14-py3-none-any.whl (17.2 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page