Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rothamsted/knetgraphs-gene-traits
Enrichment Analysis Use Cases. Tools to analyse plant biology knowledge graphs and find significant traits and bioprocess from gene expression sets. The project uses data from Knetminer, ENSEMBL, EBI Gene Expression Atlas and others, exported as Knowledge graphs using Agrischemas/Bioschemas annotations.
https://github.com/rothamsted/knetgraphs-gene-traits
binder jupyter-notebook neodash python
Last synced: 15 days ago
JSON representation
Enrichment Analysis Use Cases. Tools to analyse plant biology knowledge graphs and find significant traits and bioprocess from gene expression sets. The project uses data from Knetminer, ENSEMBL, EBI Gene Expression Atlas and others, exported as Knowledge graphs using Agrischemas/Bioschemas annotations.
- Host: GitHub
- URL: https://github.com/rothamsted/knetgraphs-gene-traits
- Owner: Rothamsted
- License: agpl-3.0
- Created: 2022-07-31T18:38:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-17T23:46:44.000Z (about 1 year ago)
- Last Synced: 2024-04-16T11:13:02.165Z (9 months ago)
- Topics: binder, jupyter-notebook, neodash, python
- Language: Jupyter Notebook
- Homepage:
- Size: 109 MB
- Stars: 3
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Enrichment Analysis Notebooks
Enrichment Analysis Use Cases. Tools to analyse plant biology knowledge graphs and find enriched traits or bioprocesses in differential gene expression data. The project uses data from Knetminer, ENSEMBL, EBI Gene Expression Atlas and others, exported as Knowledge graphs using Agrischemas/Bioschemas annotations.
# Database Files Notebook
This notebook is intended mainly for KnetMiner developers. The files generated are already provided in the **interactive_jupyter_notebook folder** on Github.
### There are two cells in the notebook:
1. Run the first cell to choose the species and concepts.
![image](https://github.com/Rothamsted/knetgraphs-gene-traits/blob/main/images_for_HTML/GeneConcept1.PNG?raw=true)
2. Run the second cell to get the download link for the database csv files.
![image](https://github.com/Rothamsted/knetgraphs-gene-traits/blob/main/images_for_HTML/GeneConcept2.PNG?raw=true)
# Enrichment Analysis Notebook
This is the main notebook to perform the enrichment analysis.
### The first two cells are mainly for the analysis:
1. Run the first cell to choose the species, concept and study/list.
![image](https://github.com/Rothamsted/knetgraphs-gene-traits/blob/main/images_for_HTML/EnrichmentAnalysis1.PNG?raw=true)
2. Run the second cell to perform the analysis:
- If you chose "study", you will get a list of studies to choose from for the species.
![image](https://github.com/Rothamsted/knetgraphs-gene-traits/blob/main/images_for_HTML/EnrichmentAnalysis2.PNG?raw=true)
- Then you will be asked whteher you want to use all genes in the study or filter the genes according to p-value.
![image](https://github.com/Rothamsted/knetgraphs-gene-traits/blob/main/images_for_HTML/EnrichmentAnalysis3.PNG?raw=true)
- If you chose to filter, you will get an interactive line graph represtation for the p-values and the corresponding number of genes.
You can also filter using the slider.![image](https://github.com/Rothamsted/knetgraphs-gene-traits/blob/main/images_for_HTML/EnrichmentAnalysis4.PNG?raw=true)
![image](https://github.com/Rothamsted/knetgraphs-gene-traits/blob/main/images_for_HTML/EnrichmentAnalysis5.PNG?raw=true)
- Whether you chose list or study, the final result is two tables, which can be downloaded as csv files:
- The first table shows the chosen genes and related ontology, with the evidence and the link to the network knowledge graphs on KnetMiner.
- The second table shows the p-values for the ontology terms.![image](https://github.com/Rothamsted/knetgraphs-gene-traits/blob/main/images_for_HTML/EnrichmentAnalysis6.PNG?raw=true)
### Other cells:
1. Run the cells in the "View whole tables section" if you want to print the complete tables in the notebooks.
2. To filter the first table (gene-concept), run the cells in the sections:
- choosing the ontology term to display the related genes
- or choosing a gene to display the related ontology terms
# Running the notebooks using Binder
For running the jupyter notebook for Enrichment Analysis using KnetMiner SPARQL endpoint,
click on launch binder:
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Rothamsted/knetgraphs-gene-traits/HEAD?labpath=interactive_jupyter_notebook%2FKnetMiner_SPARQL_EA.ipynb)For running the jupyter notebook for gene-concept relations from the database,
click on launch binder:
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Rothamsted/knetgraphs-gene-traits/HEAD?labpath=interactive_jupyter_notebook%2FGeneConcept_database_relations.ipynb)**Please Note:** The binders take sometime to be built and might fail a couple of times before launching successfully.
# Running the notebooks on local computer
### Download the notebooks
[Download the zipped folder](https://github.com/Rothamsted/knetgraphs-gene-traits/raw/main/interactive_jupyter_notebook.zip) for the interactive notebooks and the required files and unzip it.
### Install conda and dependncies
1. [Install Miniconda](https://docs.conda.io/en/latest/miniconda.html)
2. Open the miniconda prompt and write the following commands:
*(note: change "path/to/interactive_jupyter_notebook" to actual path)*```
conda create -n my-conda-env python=3.9.12 # create new virtual env
conda activate my-conda-env # activate environment in terminal
cd "path/to/interactive_jupyter_notebook" # change directory to interactive_jupyter_notebook folder
pip install -r requirements.txt # install requirements
jupyter nbextension enable --py widgetsnbextension # activate the widgets
jupyter notebook # start server + kernel inside my-conda-env
```3. Choose the notebook to run.
# Requirements
- python v3.9.12
- pandas v1.3.3
- numpy v1.21.2
- matplotlib v3.4.3
- scipy v1.7.3
- sparqlwrapper v1.8.5
- ipympl v0.9.2
- ipywidgets v7.6.5
- jupyter v1.0.0
- ipykernel v6.9.1
- jupyterlab