Skip to content

scTIM is a convenient tool for cell-type indicative marker detection based on single cell RNA-seq data

Notifications You must be signed in to change notification settings

AMSSwanglab/scTIM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 

Repository files navigation

scTIM

Introduction

A convenient tool for marker detection based on single cell RNA-seq data.

Installation

pip install sc_tim

Usage example:

Then run the following python script

import numpy as np
import sc_tim

if __name__ == "__main__":                                                  ### This command is necessary for Windows System
  file_name = 'scTIM-master/Package/data.txt'                               ### Defining file name
  alpha = 0.1;beta = 0.4;gamma = 0.5;                                       ### Setting Parameters
  data,gene = sc_tim.PreProcess(file_name,'y')                              ### Preprocessing data
  p = sc_tim.CellRedMatrix(data)                                            ### Computing cell-cell distance matrix
  fs = sc_tim.GeneSpecificity(data)                                         ### Computing gene specificity
  red = sc_tim.GeneRedMatrix(data)                                          ### Computing gene-gene redundancy matrix
  w = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma)                    ### Identifying markers by simulating annealing
  marker = [gene[i] for i in range(data.shape[0]) if w[i] == 1]             ### Output the marker set

For more robust solution, we repeat the simulating annealing for 10 times and use the inersection of 10 outcomes as final result and these 10 repeats can be conducted by parallel computing:

w1 = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma)
w2 = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma)
w3 = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma)
w4 = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma)
w5 = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma)
w6 = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma)
w7 = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma)
w8 = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma)
w9 = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma)
w10 = sc_tim.ExtractGene(data,fs,p,red,alpha,beta,gamma) 
w = (np.sum([w1,w2,w3,w4,w5,w6,w7,w8,w9,w10],0)==10)                       ### Intersection
marker = [gene[i] for i in range(data.shape[0]) if w[i] == 1]              ### Output the marker set

Requirements

Operating system: Linux (strongly recommended but not necessary)
Python environment: python 3
Python package: numpy
Memory: >= 3.0 Gb

Citation

If you use scTIM or scTIM associated concepts, please cite

Zhanying, et al. scTIM: seeking cell-type-indicative marker from single cell RNA-seq data by consensus optimization. Bioinformatics, 2020.

About

scTIM is a convenient tool for cell-type indicative marker detection based on single cell RNA-seq data

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages