API

PKDB

class pkdb_analysis.query.PKDB[source]

Interface to PK-DB.

Helpers for querying PKData from PK-DB.

classmethod get_authentication_headers(api_base, username, password) → dict[source]

Get authentication header with token for given user.

Returns admin authentication as default.

classmethod query(pkfilter: pkdb_analysis.query.PKFilter = None)pkdb_analysis.data.PKData[source]

Creates a PKData representation and gets the data for the provided filters.

If no filters are given the complete data is retrieved.

classmethod query_info_nodes_sids() → Set[str][source]

Queries the sids of the info nodes

class pkdb_analysis.query.PKFilter(concise: bool = False, download: bool = True)[source]

Filter objects for PKData

to_dict() → dict[source]

Reformat filter instance to a dictonary.

property url_params

Parse filters to url

PKData

class pkdb_analysis.data.PKData(studies: pandas.core.frame.DataFrame = None, interventions: pandas.core.frame.DataFrame = None, groups: pandas.core.frame.DataFrame = None, individuals: pandas.core.frame.DataFrame = None, outputs: pandas.core.frame.DataFrame = None, timecourses: pandas.core.frame.DataFrame = None, scatters: pandas.core.frame.DataFrame = None)[source]

Consistent set of data from PK-DB.set -a && source .env.local

Information is stored as DataFrames.

Handles:

  • groups

  • individuals

  • interventions

  • outputs

  • timecourses

as_dict()[source]

serialises pkdata instance to a dict.

copy()[source]

creates a copy of the pkdata instance.

delete_groups(concise=True)pkdb_analysis.data.PKData[source]

Deletes outputs. :return:

delete_individuals(concise=True)pkdb_analysis.data.PKData[source]

Deletes outputs. :return:

delete_outputs(concise=True)pkdb_analysis.data.PKData[source]

Deletes outputs. :return:

delete_timecourses(concise=True)pkdb_analysis.data.PKData[source]

Deletes timecourses.

exclude_group(f_idx, concise=True, **kwargs)pkdb_analysis.data.PKData[source]

Excludes groups which cann be selected by a filter (idx).

exclude_individual(f_idx, concise=True, **kwargs)[source]

Excludes individuals which cann be selected by a filter (idx).

exclude_intervention(f_idx, concise=True, **kwargs)pkdb_analysis.data.PKData[source]

Excludes interventions which cann be selected by a filter (idx).

exclude_study(f_idx, concise=True, **kwargs)pkdb_analysis.data.PKData[source]

Excludes studies which cann be selected by a filter (idx).

exclude_subject(f_idx, concise=True, **kwargs)pkdb_analysis.data.PKData[source]

Excludes groups and individuals which cann be selected by a filter (idx).

Parameters
  • f_idx

  • concise

  • kwargs

Returns

filter_group(f_idx, concise=True, **kwargs)pkdb_analysis.data.PKData[source]

Filter groups.

filter_individual(f_idx, concise=True, **kwargs)pkdb_analysis.data.PKData[source]

Filter individuals.

filter_intervention(f_idx, concise=True, *args, **kwargs)pkdb_analysis.data.PKData[source]

Filter interventions.

Parameters
  • f_idx (function, list) –

    Is a filter by index of the DataFrame selected by the df_key. A similar notation as the filtering of pd.DataFrames can be used. This mostly are (lambda) functions. Further a list of (lambda) function are allowed as input. The list of functions are executed successively, which is identical to an intersection of all filters applied separately.

    Pitfalls
    • Don’t use the invert operator ~ but use the exclude_*() functions.

    • #todo: add no invert operator to Validation rule

  • concise – concises the returned PKData instance.

Returns

Filter PKData instance

Return type

PKData

filter_output(f_idx, concise=True, **kwargs)pkdb_analysis.data.PKData[source]

Filter outputs.

filter_study(f_idx, concise=True, **kwargs)pkdb_analysis.data.PKData[source]

Filter studies by filter function.

filter_subject(f_idx, concise=True, **kwargs)pkdb_analysis.data.PKData[source]

Filter group or individual.

filter_timecourse(f_idx, concise=True, **kwargs)pkdb_analysis.data.PKData[source]

Filter timecourses.

classmethod from_archive(path: Union[_io.BytesIO, os.PathLike])pkdb_analysis.data.PKData[source]

Load data from serialized archive.

classmethod from_download(path: Union[_io.BytesIO, os.PathLike])pkdb_analysis.data.PKData[source]

Load data from downloaded zip archive.

static from_hdf5(path: pathlib.Path)pkdb_analysis.data.PKData[source]

Load data from an archive as returned from the download in pk-db.com.

Parameters

path (str) – path to HDF5.

Returns

PKData loaded from HDF5.

Return type

PKData

get_choices()[source]

This is experimental. returns choices

Returns

get_updated_intervention_pk(frozenset_intervention_pks)[source]

return new set

property groups_core

Core group information with unique pk per row

Returns

PKDataFrame of groups contained in this PKData instance .

Return type

PKDataFrame

property groups_count

Number of groups contained in this PKData instance.

Returns

Number of groups contained in this PKData instance.

Return type

int

property groups_mi

Multi-index DataFrame of groups contained in this PKData instance.

Returns

Multi-indexed DataFrame of groups contained in this PKData instance.

Return type

pd.DataFrame

healthy()[source]

subset of healthy data.

property ids

unique ids of all tables within a pkdata instance.

property individuals_core

Core individual information with unique pk per row

Returns

PKDataFrame of individuals contained in this PKData instance .

Return type

PKDataFrame

property individuals_count

Number of individuals contained in this PKData instance.

Returns

Number of individuals contained in this PKData instance.

Return type

int

property individuals_mi

Multi-index DataFrame of individuals contained in this PKData instance.

Returns

Multi-indexed DataFrame of individuals contained in this PKData instance.

Return type

pd.DataFrame

property interventions_core

Core group information with unique pk per row

Returns

PKDataFrame of groups contained in this PKData instance .

Return type

PKDataFrame

property interventions_count

Number of interventions contained in this PKData instance.

Returns

Number of interventions contained in this PKData instance.

Return type

int

property interventions_mi

Multi-index DataFrame of interventions contained in this PKData instance.

Returns

Multi-indexed DataFrame of interventions contained in this PKData instance.

Return type

pd.DataFrame

property outputs_count

Number of outputs contained in this PKData instance.

Returns

Number of outputs contained in this PKData instance.

Return type

int

property outputs_mi

Multi-index DataFrame of outputs contained in this PKData instance.

Returns

Multi-indexed DataFrame of outputs contained in this PKData instance.

Return type

pd.DataFrame

print_choices(key=None, field=None)[source]

Prints the choices

Parameters
  • key – key of dataframe

  • field – header field

Returns

property scatter_count

Number of timecourses contained in this PKData instance.

Returns

Number of timecourses contained in this PKData instance.

Return type

int

property study_sids

Set of study sids contained in this PKData instance.

Returns

Study sids contained in this PKData instance.

Return type

set

property timecourses_count

Number of timecourses contained in this PKData instance.

Returns

Number of timecourses contained in this PKData instance.

Return type

int

property timecourses_extended

extends the timecourse df with the core information from interventions, individuals and groups

property timecourses_mi

Multi-index DataFrame of timecourses contained in this PKData instance.

Returns

Multi-indexed DataFrame of timecourses contained in this PKData instance.

Return type

pd.DataFrame

to_archive(path: pathlib.Path) → None[source]

Saves data to zip archive

to_hdf5(path: pathlib.Path) → None[source]

Saves data HDF5.

to_medline(path: pathlib.Path)[source]

create a bibtex file.