Public | Automated Build

Last pushed: 3 months ago
Short Description
Library to interact with Kripo fragment, fingerprint and similarity data files.
Full Description

Kripo DB

Library to interact with Kripo fragment, fingerprint, pharmacophore and similarity data files.

Use kripo to generate fragments, pharmacophores and fingerprints from PDB files.

KRIPO stands for Key Representation of Interaction in POckets, see reference for more information.


  • Pocket, binding site of the ligand in the protein of a crystal structure
  • Fragment, part of the ligand
  • Subpocket, part of the protein pocket which binds with the fragment
  • Fingerprint, fingerprint of structure-based pharmacophore of subpocket
  • Similarity matrix, similarities between all fingerprint pairs calculated using the modified tanimoto similarity index
  • Kripo fragment identifier, used as identifier for fragment, subpocket and fingerprint



  • RDKit,, to read SDF files and generate smile strings from molecules
  • pip, version 8.0.0 or greater, for wheel support
  • git, to clone kripodb repository during installation
pip install -U setuptools
pip install numpy
pip install git+


To see available commands

kripodb --help

Create all

Commands to create all data files see update documentation.

Search for most similar fragments

Command to find fragments most similar to 3kxm_K74_frag1 fragment.

kripodb similar sim_all.h5 3kxm_K74_frag1 --cutoff 0.45

Create similarity matrix from text files

Commands to create similarity matrix see update documentation.

Data sets


An example data set included in the data/ directory of this repo. See data/ for more information.


All fragments based on GPCR proteins compared with all proteins in PDB.

  • kripo.gpcrandhits.sqlite - Fragments sqlite database
  • kripo.gpcr.h5 - HDF5 file with similarity matrix

The data set has been published at

Protein Data Bank

All fragments form all proteins-ligand complexes in PDB compared with all.

Date at which the data of the webservice was last updated can found at

A data set with PDB entries till 23 December 2015 has been published at


The file is an example workflow showing how to use KripoDB python package inside KNIME (
It can be run by importing it into KNIME.
Make sure the Python used by KNIME is the same as the Python with kripodb package installed.

The repo adds KripoDB code templates to KNIME.

Development of KripoDB

Install the development deps with:

pip install -r requirements.txt


Create image

docker build -t 3dechem/kripodb .

Run container

Show the kripodb help with

docker run --rm 3dechem/kripodb kripodb --help

To calculate the mean bit density of the fingerprints in the fingerprints.sqlite file in the current working directory use following command.

docker run --rm -u $UID -v $PWD:/data 3dechem/kripodb kripodb meanbitdensity /data/fingerprints.sqlite

Web service

The Kripo data files can be queried using a web service.

Start webservice with:

kripodb serve data/similarities.h5 data/fragments.sqlite data/pharmacophores.h5

It will print the urls for the swagger spec and UI.

Note! The webservice returns a limited amount of results. To get all results use local files.

On there is a KripoDB webservice with the full PDB fragment all vs all matrix.
The date of the latest PDB record included in the webservice can be found in


API and data update pipeline documentation can be found at


KRIPO – a structure-based pharmacophores approach explains polypharmacological effects;
Tina Ritschel, Tom JJ Schirris, and Frans GM Russel; J Cheminform. 2014; 6(Suppl 1): O26;
Published online 2014 Mar 11;

Docker Pull Command
Source Repository