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
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
Metadata Files
README.md
scGIST
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_nameandpriority - Convert the dataframe to a python list using utility function before creating the model with the priority score list
- Read the csv file that contains gene names and their priority. The csv file must contain headers named
```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
- Repositories: 1
- Profile: https://github.com/yafi38
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
- matplotlib *
- numpy *
- pandas *
- scanpy *
- scikit-learn *
- seaborn *
- sklearn *
- tensorflow *