Giter Club home page Giter Club logo

clep's Introduction

CLEP: A Hybrid Data- and Knowledge- Driven Framework for Generating Patient Representations
Documentation Status DOI CLEP on PyPI CLEP Python versions CLEP Software License

Table of Contents

General Info

CLEP is a framework that contains novel methods for generating patient representations from any patient level data and its corresponding prior knowledge encoded in a knowledge graph. The framework is depicted in the graphic below

Installation

The code can be installed from PyPI with:

$ pip install clep

The most recent code can be installed from the source on GitHub with:

$ pip install git+https://github.com/hybrid-kg/clep.git

For developers, the repository can be cloned from GitHub and installed in editable mode with:

$ git clone https://github.com/hybrid-kg/clep.git
$ cd clep
$ pip install -e .

Documentation

Read the official docs for more information.

Input Data Formats

Data

Symbol Sample_1 Sample_2 Sample_3
HGNC_ID_1 0.354 2.568 1.564
HGNC_ID_2 1.255 1.232 0.26452
HGNC_ID_3 3.256 1.5 1.5462

Note: The data must be in a tab separated file format.

Design

FileName Target
Sample_1 Abnormal
Sample_2 Abnormal
Sample_3 Control

Note: The data must be in a tab separated file format.

Knowledge Graph

The graph format CLEP can handle is a modified version of the Edge List Format. Which looks as follows:

Source Relation Target
HGNC_ID_1 association HGNC_ID_2
HGNC_ID_2 decreases HGNC_ID_3
HGNC_ID_3 increases HGNC_ID_1

Note: The data must be in a tab separated file format & if your knowledge graph does not have relations between the source and the target, just populate the relation column with "No Relation".

Usage

Note: These are very basic commands for clep, and the detailed options for each command can be found in the documentation

  1. Radical Searching The following command finds the extreme samples with extreme feature values based on the control population.
$ clep sample-scoring radical-search --data <DATA_FILE> --design <DESIGN_FILE> --control Control --threshold 2.5 --control_based --ret_summary --out <OUTPUT_DIR>
  1. Graph Generation The following command generates the patient-gene network based on the method chosen (Interaction_network).
$ clep embedding generate-network --data <SCORED_DATA_FILE> --method interaction_network --ret_summary --out <OUTPUT_DIR>
  1. Knowledge Graph Embedding

The following command generates the embedding of the network passed to it.

$ clep embedding kge --data <NETWORK_FILE> --design <DESIGN_FILE> --model_config <MODEL_CONFIG.json> --train_size 0.8 --validation_size 0.1 --out <OUTPUT_DIR>
  1. Classification

The following command carries out classification on the given data file for a chosen model (Elastic Net) using a chosen optimizer (Grid Search).

$ clep classify --data <EMBEDDING_FILE> --model elastic_net --optimizer grid_search --out <OUTPUT_DIR>

Issues

If you have difficulties using CLEP, please open an issue at our GitHub repository.

Acknowledgements

Citation

If you have found CLEP useful in your work, please consider citing:

CLEP: A Hybrid Data- and Knowledge- Driven Framework for Generating Patient Representations.
Bharadhwaj, V. S., Ali, M., Birkenbihl, C., Mubeen, S., Lehmann, J., Hofmann-Apitius, M., Hoyt, C. T., & Domingo-Fernandez, D. (2020).
Bioinformatics, btab340.

Graphics

The CLEP logo and framework graphic was designed by Carina Steinborn.

Disclaimer

CLEP is a scientific software that has been developed in an academic capacity, and thus comes with no warranty or guarantee of maintenance, support, or back-up of data.

clep's People

Contributors

vinaysb avatar ddomingof avatar cthoyt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.