Skip to main content

A method to improve TCGA pancancer classifiers performance

Project description

PanClassif: A machine learning classifier pipeline for TCGA pancancer classification

This is a complete machine learning pipeline package to work with TCGA cancer RNA-seq gene count data.

Github

Data prerequisition

Functions

featSelect(homepath, cancerpath, normalpath, k)

Params

  • homepath : (str) Path where you want to save all the generated files and folders.
  • cancerpath : (str)
    Path where all the cancer's cancer gene expression matrix are located.
  • normalpath : (str)
    Path where all the cancer's normal gene expression matrix are located.
  • k : (int) The number of top genes you want to choose per cancer. (default: k=5) you can not put k less than 5

dataProcess(homepath,names,cancerpath,smoothed_cancer,smoothed_normal,scale_mode)

Params

  • homepath : (str) Path where you want to save all the generated files and folders.
  • cancerpath : (str) Path where all the cancer's cancer gene expression matrix are located.
  • names : (list) List of the cancer names found from featSelect function.
  • smoothed_cancer : (str) Path where all the cancer's smoothed cancer gene expression matrix are located.
  • smoothed_normal : (str) Path where all the cancer's smoothed normal gene expression matrix are located.
  • scale_mode (int): Here (0 is for Standardization and 1 for normalization) for data scalling

upsampled(names, homepath)

binary_merge(names, homepath)

multi_merge(names, homepath)

Params

  • names : (list) List of the cancer names found from featSelect function.
  • homepath : (str)
    Path where you want to save all the generated files and folders.

classification(homepath, classifier, mode, save_model)

Params

  • homepath : (str) Path where you want to save all the generated files and folders
  • classifer : (sklearn's classification model) Provide the classification model's instance you want to use. For example: RandomForestClassifier(n_estimators=100).
  • Or, classifer : (str) If you want to use "Neural Network" then just type "NN". For example: classifier = "NN"
  • mode : (str) There is two mode 1) binary 2) multi. Use "binary" for binary classification & "multi" for multiclass classification. (default: mode = "binary")
  • save_model : (str) Optional parameter. Use it only if you want to save the model. For example: save_model = "your_model_name"

gsea(homepath)

  • homepath : (str) Path where you want to save all the generated files and folders

Example


homepath = '/home'
cancerpath = '/home/cancer/'
normalpath = '/home/normal/'

smoothed_cancer = '/home/smoothed_cancer'
smoothed_normal = '/home/smoothed_normal'

Data Load and Process Phase

import panclassif as pc 
#You have to follow below order to work the code properly 
names = pc.featSelect(homepath,cancerpath,normalpath, k=5)
pc.dataProcess(homepath,names,cancerpath,smoothed_cancer,smoothed_normal)
pc.upsampled(names, homepath)
pc.binary_merge(names, homepath)
pc.multi_merge(names, homepath)

Classification Phase

from sklearn.ensemble import RandomForestClassifier
pc.classification(homepath, RandomForestClassifier(n_estimators=100), mode="multi", save_model="RF")

Gene enrichment check

pc.gsea(homepath)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

panclassif-2.1.3-py3-none-any.whl (16.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page