Skip to content

jkbomics/Gene2Function

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Gene2Function

Gene2Function is a modular, multi-page, Streamlit-based bioinformatics tool that takes gene IDs or symbols as input and provides predicted functional annotations, associated pathways, and potential disease links. Built for speed and usability, this app empowers researchers to quickly extract and explore gene-level biological insights.

βœ… Now supports scroll navigation, multi-page interface, and interactive plots for GO terms and pathways!

πŸš€ Features

  • πŸ” Input single gene
  • 🧠 Returns predicted:
    • Gene function
    • Pathway associations (KEGG, Reactome, WikiPathways, etc.)
    • GO terms: Biological Process, Molecular Function, Cellular Component
    • Cross-references: Entrez, UniProt, PharmGKB, Taxonomy ID
    • Disease enrichment (coming soon via DisGeNET)

πŸ“Š Visualizations (NEW)

  • Interactive pie charts for GO terms and pathway database distribution.
  • Per-plot customization controls (height, font, colors).
  • View Top 10 GO terms for better interpretability. πŸ“‹ Gene Function Table (Enhanced)
  • Dual display:
    • βœ… Clickable HTML table for enriched info. -βœ… Filterable Streamlit table for clean, interactive exploration.
  • CSV export and preview options included.
  • πŸ”„ Scroll to Top/Bottom buttons for seamless navigation in long tables. πŸ—‚οΈ UI & Navigation (NEW)
  • Multi-page app with:
    • main.py: Gene search + plots
    • pages/1_Gene_Table.py: Full annotation table
  • Streamlit sidebar collapsed by default for a cleaner view.
  • "View Gene Table" navigation button. πŸ”— Modular & Expandable Codebase
  • Built for flexibility: Easily integrate APIs, visualization libraries, or ML models.

πŸ› οΈ Tech Stack

  • Python 3.10
  • Streamlit
  • Biothings API
  • Pandas, Requests
  • DisGeNET (βš™οΈ integration coming soon)

πŸ“ˆ Future Scope

  • 🧬 Organism-agnostic annotation via UniProt cross-references
  • πŸ“Š Add heatmaps, network plots, and advanced charts
  • πŸ€– AI integration with GPT/BioBERT for intelligent annotation
  • πŸ” Use external enrichment tools (e.g., Enrichr, Harmonizome)

πŸ“¦ Installation

# Clone the repository
git clone https://github.com/jkbomics/Gene2Function.git
cd Gene2Function

# Create and activate a conda environment
conda create -n gene2func python=3.10 -y
conda activate gene2func

# Install cmake manually to avoid pyarrow installation issues
pip install cmake

# Install all required Python packages
pip install -r requirements.txt

# Run the Streamlit app
streamlit run app/main.py
πŸ’‘ Note: If you encounter an error related to pyarrow, ensure that cmake is installed prior to installing other dependencies.

πŸ‘©β€πŸ’» Author

Helga Jenifer M
LinkedIn
Freelance Bioinformatician | AI in Bioinformatics Enthusiast

About

Gene function annotation tool | Live App πŸ‘‰ https://gene2function.streamlit.app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages