kripodb.canned

Module with functions which use pandas DataFrame as input and output.

For using Kripo data files inside KNIME (http://www.knime.org)

exception kripodb.canned.IncompleteHits(absent_identifiers, hits)[source]
kripodb.canned.fragments_by_id(fragment_ids, fragments_db_filename_or_url, prefix='')[source]

Retrieve fragments based on fragment identifier.

Parameters:
  • fragment_ids (List[str]) – List of fragment identifiers
  • fragments_db_filename_or_url (str) – Filename of fragments db or base url of kripodb webservice
  • prefix (str) – Prefix for output columns

Examples

Fetch fragments of ‘2n2k_MTN_frag1’ fragment identifier

>>> from kripodb.canned import fragments_by_id
>>> fragment_ids = pd.Series(['2n2k_MTN_frag1'])
>>> fragments = fragments_by_id(fragment_ids, 'data/fragments.sqlite')
>>> len(fragments)
1

Retrieved from web service instead of local fragments db file. Make sure the web service is running, for example by kripodb serve data/similarities.h5 data/fragments.sqlite data/pharmacophores.h5.

>>> fragments = fragments_by_id(fragment_ids,, 'http://localhost:8084/kripo')
>>> len(fragments)
1
Returns:Data frame with fragment information
Return type:pandas.DataFrame
Raises:IncompleteFragments – When one or more of the identifiers could not be found.
kripodb.canned.fragments_by_pdb_codes(pdb_codes, fragments_db_filename_or_url, prefix='')[source]

Retrieve fragments based on PDB codes.

See http://www.rcsb.org/pdb/ for PDB structures.

Parameters:
  • pdb_codes (List[str]) – List of PDB codes
  • fragments_db_filename_or_url (str) – Filename of fragments db or base url of kripodb webservice
  • prefix (str) – Prefix for output columns

Examples

Fetch fragments of ‘2n2k’ PDB code

>>> from kripodb.canned import fragments_by_pdb_codes
>>> pdb_codes = pd.Series(['2n2k'])
>>> fragments = fragments_by_pdb_codes(pdb_codes, 'data/fragments.sqlite')
>>> len(fragments)
3

Retrieved from web service instead of local fragments db file. Make sure the web service is running, for example by kripodb serve data/similarities.h5 data/fragments.sqlite data/pharmacophores.h5.

>>> fragments = fragments_by_pdb_codes(pdb_codes, 'http://localhost:8084/kripo')
>>> len(fragments)
3
Returns:Data frame with fragment information
Return type:pandas.DataFrame
Raises:IncompleteFragments – When one or more of the identifiers could not be found.
kripodb.canned.pharmacophores_by_id(fragment_ids, pharmacophores_db_filename_or_url)[source]

Fetch pharmacophore points by fragment identifiers

Parameters:
  • fragment_ids (pd.Series) – List of fragment identifiers
  • pharmacophores_db_filename_or_url – Filename of pharmacophores db or base url of kripodb webservice
Returns:

Pandas series with pharmacophores as string in phar format.

Fragment without pharmacophore will return None

Return type:

pandas.Series

Examples

Fragments similar to ‘3j7u_NDP_frag24’ fragment.

>>> from kripodb.canned import pharmacophores_by_id
>>> fragment_ids = pd.Series(['2n2k_MTN_frag1'], ['Row0'])
>>> pharmacophores = pharmacophores_by_id(fragment_ids, 'data/pharmacophores.h5')
>>> len(pharmacophores)
1

Retrieved from web service instead of local pharmacophores db file. Make sure the web service is running, for example by kripodb serve data/similarities.h5 data/fragments.sqlite data/pharmacophores.h5.

>>> pharmacophores = pharmacophores_by_id(fragment_ids, 'http://localhost:8084/kripo')
>>> len(pharmacophores)
1
kripodb.canned.similarities(queries, similarity_matrix_filename_or_url, cutoff, limit=1000)[source]

Find similar fragments to queries based on similarity matrix.

Parameters:
  • queries (List[str]) – Query fragment identifiers
  • similarity_matrix_filename_or_url (str) – Filename of similarity matrix file or base url of kripodb webservice
  • cutoff (float) – Cutoff, similarity scores below cutoff are discarded.
  • limit (int) – Maximum number of hits for each query. Default is 1000. Use is None for no limit.

Examples

Fragments similar to ‘3j7u_NDP_frag24’ fragment.

>>> import pandas as pd
>>> from kripodb.canned import similarities
>>> queries = pd.Series(['3j7u_NDP_frag24'])
>>> hits = similarities(queries, 'data/similaritys.h5', 0.55)
>>> len(hits)
11

Retrieved from web service instead of local similarity matrix file. Make sure the web service is running, for example by kripodb serve data/similarities.h5 data/fragments.sqlite data/pharmacophores.h5.

>>> hits = similarities(queries, 'http://localhost:8084/kripo', 0.55)
>>> len(hits)
11
Returns:Data frame with query_fragment_id, hit_frag_id and score columns
Return type:pandas.DataFrame
Raises:IncompleteHits – When one or more of the identifiers could not be found.