Giter Site home page Giter Site logo

shuzhenkuang / xgep Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 45.95 MB

XGEP for expression-based prediction of human essential genes and candidate lncRNAs in cancer cells

Python 100.00%
machine-learning deep-learning collaborative-filtering human-essential-genes essential-lncrnas tcga-data

xgep's Introduction

XGEP for Expression-based Prediction of Human Essential Genes and Candidate LncRNAs in Cancer Cells

XGEP hsa been developed to predict essential genes and candidate lncRNAs in cancer cells using relevant features derived from the TCGA transcriptome dataset through collaborative embedding. XGEP has been evaluated on pan-cancer data and cancer-type-specific data and used for predicting core essential genes and essential genes in specific cancer types. It was implemented in Python.

This documentation is part of the supplementary information release for XGEP. For details of this work, please refer to our paper "Expression-based Prediction of Human Essential Genes and Candidate LncRNAs in Cancer Cells" (S. Kuang, Y. Wei and L. Wang, 2020).

Requirements

  • python3
  • argparse
  • numpy
  • pandas
  • sklearn
  • xgboost
  • keras >=2.0
  • tensorflow
  • csv
  • hyperopt
  • fastai

Embedding Vectors

The gene embedding vectors for essential and non-essential genes have been deposited into the Data directory. These embedding vectors were generated from the transcriptome data of either pan-cancer or specific cancer types (COAD, CESC and GBM) using unsupervised collaborative embedding. The transcriptome data were downloaded from TCGA database (https://portal.gdc.cancer.gov/). The code for collaborative embedding were modified from https://github.com/zeochoy/tcga-embedding/blob/master/train.py. If you would like to generate your own embedding vectors using the code, you will need to install fastai library.

Hyperparameter Optimization of DNN model

Gradient boosted tree (implemented using XGBoost, called as XGB in this study), support vector machine (SVM) and deep neural network (DNN) models were included in XGEP to predict gene essentiality in cancer cells. Considering the relatively large hyperparameter space of DNN model, Bayesian optimization was used for hyperparameter tuning of the DNN model. Bayesian optimization has been shown to be more time-efficient for hyperparameter tuning than grid or random search. We have included the optimized hyperparameters used in our study in "XGEP.py". If you would like to run the hyperparameter tuning by yourself, please use the following command line:

$ python DNN_hyperparameters_search.py -e Essential_genes_pancancer_emb_len150 -n Non_essential_genes_pancancer_emb_len150 -o DNN_hyperparameter_output

Please substitute the 'Essential_genes_pancancer_emb_len150' and 'Non_essential_genes_pancancer_emb_len150' with your own embedding vectors for essential (positive) and non-essential (negative) genes.

XGEP Evaluation and Essential Gene Prediction

To evaluate the performance of XGEP and make prediction on the genes not included in the training dataset, the following command line could be used:

$ python XGEP.py -e Essential_genes_pancancer_emb_len150 -n Non_essential_genes_pancancer_emb_len150 -u Genes_for_prediction_pancancer_emb_len150 -o performance_output -p predicted_probability.csv

Here, 'Essential_genes_pancancer_emb_len150', 'Non_essential_genes_pancancer_emb_len150' and 'Genes_for_prediction_pancancer_emb_len150' are the gene embedding vectors for essential genes (positive instances), non-essential genes (negative instances) and genes not included in the training data. Please substitute them with your own data.

The predicted_probability.csv file will store the predictions and predicted probability of all the three models. For example,

Gene SVM_prediction SVM_pred_prob XGB_prediction XGB_pred_prob DNN_prediction DNN_pred_prob
ENSG00000242268.2 0 0.0036 0 3.5686e-05 0 0.0057
ENSG00000179632.8 1 0.5866 1 0.6802 1 0.8802
ENSG00000134717.16 1 0.6268 0 0.2164 1 0.8524

xgep's People

Contributors

biodatalearning avatar

Stargazers

 avatar

Watchers

 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.