Joey / README.md
Joey Callanan
Creating new Space
43e7ae4

A newer version of the Gradio SDK is available: 6.2.0

Upgrade
metadata
title: HITL Drug Discovery
emoji: 🧬
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 5.49.1
app_file: app.py
pinned: false
hf_oauth: true
hf_oauth_scopes:
  - inference-api
license: apache-2.0
short_description: HITL Drug Discovery with AI Chat and Molecular Analysis

🧬 HITL Drug Discovery Platform

An advanced drug discovery platform combining AI-powered chat with molecular visualization and property analysis using Gradio, RDKit, and the Hugging Face Inference API.

πŸš€ Quick Start

Running the Application

# Easy launcher (recommended)
python run.py

# Direct launch
python app.py

# Legacy version (backup)
python legacy/app_legacy.py

Access

Once running, open your browser to: http://localhost:7860

✨ Key Features

  • πŸ€– AI Chat Assistant: Expert medicinal chemistry guidance and structure generation
  • πŸ”¬ Molecular Analysis: Calculate drug-likeness properties and Lipinski's Rule of Five
  • 🎨 Interactive Visualization: High-quality molecular structure rendering with multiple styles
  • πŸ“š Drug Discovery Library: Curated collection of pharmaceutical compounds
  • ⚑ Real-time Property Calculation: Molecular weight, LogP, TPSA, hydrogen bonding, and more
  • πŸ”„ Chemical Variations: Generate multiple visualization styles of molecular structures
  • πŸ’Ύ Bookmarking: Save and manage favorite molecular structures

πŸ—οΈ Project Structure

HITL_Drug_Discovery/
β”œβ”€β”€ app.py                  # Main entry point
β”œβ”€β”€ run.py                  # Easy launcher script
β”œβ”€β”€ requirements.txt        # Dependencies
β”œβ”€β”€ src/                   # Modular source code
β”‚   β”œβ”€β”€ app.py             # Main application orchestrator
β”‚   β”œβ”€β”€ molecules/         # Molecular analysis and variations
β”‚   β”‚   β”œβ”€β”€ analysis.py    # Property calculations & validation
β”‚   β”‚   └── variations.py  # Structure variation generation
β”‚   β”œβ”€β”€ ai/                # AI services
β”‚   β”‚   └── services.py    # AI chat and structure generation
β”‚   β”œβ”€β”€ ui/                # UI components and handlers
β”‚   β”‚   β”œβ”€β”€ components.py  # UI component definitions
β”‚   β”‚   └── handlers.py    # Event handlers and business logic
β”‚   └── config/            # Configuration and settings
β”‚       └── settings.py    # App configuration and styling
└── legacy/                # Legacy monolithic version (backup)
    └── app_legacy.py

πŸ”§ Technical Architecture

Modular Design Benefits

  • Maintainability: Each module has a single responsibility
  • Testability: Individual modules can be tested in isolation
  • Scalability: Easy to add new features without affecting existing code
  • Readability: Clear separation of concerns
  • Reusability: Components can be reused across different parts of the app

Key Modules

  • molecules/analysis.py: SMILES validation, property calculations, drug-likeness assessment
  • molecules/variations.py: Generation of multiple molecular structure visualizations
  • ai/services.py: AI-powered chat responses using Hugging Face models
  • ui/components.py: Reusable UI component definitions for Gradio interface
  • ui/handlers.py: Event handlers, business logic, and state management

πŸ› οΈ Troubleshooting

Virtual Environment Issues

# Create virtual environment
python -m venv venv

# Activate it
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Common Issues

  • Import Errors: Make sure you're in the project directory and virtual environment is activated
  • Port Already in Use: The app will automatically use the next available port
  • Missing Dependencies: Run pip install -r requirements.txt

πŸš€ Future Enhancements

With the modular structure, it's easy to:

  • Add new molecular analysis algorithms
  • Implement additional AI models
  • Create new UI components
  • Add database integration
  • Implement user authentication
  • Add API endpoints
  • Create unit tests for each module