Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.5%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: yafi38
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 99.6 KB
Statistics
  • Stars: 6
  • Watchers: 2
  • Forks: 1
  • Open Issues: 1
  • Releases: 1
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

scGIST

DOI

scGIST is a deep neural network that designs sc-ST gene panel through constrained feature selection. Additionally, scGIST enables genes of interest to be prioritized for panel inclusion while still adhering to its size restriction.

Installation

Install the requirements using the following command (recommended python version is 3.7.11):

bash pip install -r requirements.txt

Use sudo if needed.

Usage

Initialize the model

python from scgist import scGIST scGIST = scGIST()

Create the model

  • Gene panel design to distinguish among cell types
    • n_features: number of cells
    • n_classes: number of classes/ clusters/ labels
    • panel_size: number of features to be taken

python scGIST.create_model(n_features, n_classes, panel_size)

  • Including genes of interest and/or complexes of interest
    • weights: priotiy scores of the genes of interest
    • pairs: list of complexes of interest

python scGIST.create_model(n_features, n_classes, panel_size, weights, pairs)

  • Rigorously selecting the number of genes in the final panel as per panel_size
    • strict: when True, the model will select exactly the same amount of genes specified by panelsize; when False, the model will select less than or equal to the number of genes specified by panelsize

python scGIST.create_model(n_features, n_classes, panel_size, weights, pairs, strict)

Compile the model

python scGIST.compile_model()

Train the model

  • Training the scGIST model which requires the following inputs:
    • adata: annotated data matrix
    • epochs: number of epochs

python scGIST.train_model(adata, epochs)

Get the markers names (gene panel)

  • Plotting the gene panel with weights in a bar chart
    • plot_weights: when True, the weights of the genes in the panel will be plotted

python scGIST.get_markers_names(plot_weights)

Get Accuracy and F1 score with a classifier

  • Test performance of the gene panel with a classifier
    • adata: annotated data matrix
    • markers: indices of selected gene panel (scGIST.getmarkersindices())
    • labels: name of the cell types
    • clf: a classifier (if None, default is KNN)

python from scGIST import test_classifier accuracy, f1_score = test_classifier(adata, markers, labels, clf)

Prioritize genes of interest

  • Prioritize genes of interest to increase their probability of being included in the gene panel
    • Read the csv file that contains gene names and their priority. The csv file must contain headers named gene_name and priority
    • Convert the dataframe to a python list using utility function before creating the model with the priority score list

```python genepriorities = pd.readcsv(pathtocsvfile) priorityscores = getpriorityscorelist(adata, genepriorities)

gist.createmodel(ngenes, nclasses, panelsize=panelsize, priorityscores=priority_scores, alpha=0.2, beta=0.5) ```

Examples

Owner

  • Name: Mashrur Ahmed Yafi
  • Login: yafi38
  • Kind: user
  • Location: Dhaka, Bangladesh

Software Engineer

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- given-names: "Mashrur Ahmed Yafi"
- given-names: "Md. Hasibul Husain Hisham"
title: "scGIST"
version: 1.0.0
doi: 10.5281/zenodo.10467039
date-released: 2024-01-07
url: "https://github.com/yafi38/scGIST/"

GitHub Events

Total
  • Issues event: 4
  • Watch event: 3
  • Issue comment event: 5
Last Year
  • Issues event: 4
  • Watch event: 3
  • Issue comment event: 5

Dependencies

setup.py pypi
  • matplotlib *
  • numpy *
  • pandas *
  • scanpy *
  • scikit-learn *
  • seaborn *
  • sklearn *
  • tensorflow *