Skip to content

Develop - #1

Merged
allanps merged 10 commits into
mainfrom
develop
Jun 28, 2025
Merged

Develop#1
allanps merged 10 commits into
mainfrom
develop

Conversation

@allanps

@allanps allanps commented Jun 28, 2025

Copy link
Copy Markdown
Owner

Initial MVP Implementation

Implements complete LLMomics MVP - a Python library that uses Large Language Models to automatically generate bioinformatics pipelines from natural language queries.

Key Features

  • Core Module: OpenAI integration with structured response generation and query parsing
  • Data Integration: GEO and SRA database fetchers with a unified interface
  • Pipeline Generation: Jinja2-based templates for RNA-seq (DESeq2) and ChIP-seq (MACS2) workflows
  • CLI Interface: Rich-based command-line tool with run, search, fetch, and config commands
  • Testing & CI/CD: Unit tests, GitHub Actions workflow, and development tools

Technical Implementation

  • Modern Python packaging with pyproject.toml
  • Comprehensive documentation and examples
  • Apache 2.0 license
  • Production-ready codebase with proper error handling

This establishes the foundation for automatic bioinformatics pipeline generation, ready for community contribution and further development.

allanps added 10 commits June 28, 2025 14:19
- Add pyproject.toml with modern Python packaging configuration
- Include comprehensive dependencies for LLM integration and bioinformatics
- Add setup.py for backward compatibility
- Configure MANIFEST.in for proper distribution
- Add .gitignore for Python projects
- Add LLMProvider with OpenAI integration and structured response generation
- Implement QueryParser for extracting bioinformatics entities from natural language
- Add flexible configuration system with environment variable support
- Support for automatic parameter extraction (p-values, fold changes, etc.)
- Extensible architecture for adding new LLM providers
- Implement GEO (Gene Expression Omnibus) data fetcher with NCBI API
- Add SRA (Sequence Read Archive) integration for sequence data
- Create unified DataFetcher interface for multiple databases
- Support for dataset search, metadata retrieval, and sample information
- Automatic database detection from dataset IDs
- Add PipelineGenerator with Jinja2 templating system
- Include production-ready RNA-seq differential expression template (DESeq2)
- Add ChIP-seq peak calling template (MACS2)
- Generate complete workflows with config files, sample sheets, and documentation
- Support for LLM-guided custom pipeline generation from natural language plans
- Implement comprehensive CLI with run, search, fetch, and config commands
- Add beautiful progress indicators and formatted output using Rich library
- Support for natural language pipeline generation from command line
- Include dataset search and information retrieval commands
- Provide clear error handling and user guidance
- Implement comprehensive tests for QueryParser functionality
- Add test cases for dataset ID extraction, tool detection, and parameter parsing
- Include tests for pipeline type and analysis type determination
- Set up pytest configuration for the project
- Implement comprehensive CI/CD pipeline with multi-OS and multi-Python version testing
- Add automated linting, formatting checks, and type checking
- Include code coverage reporting with Codecov integration
- Add Makefile with common development commands for easy project management
- Create detailed README with installation, usage examples, and configuration guide
- Add CONTRIBUTING.md with development guidelines and contribution workflow
- Include Apache 2.0 LICENSE with proper copyright attribution
- Add example environment configuration file
- Create interactive Jupyter notebook tutorial demonstrating all features
- Document complete MVP implementation with feature breakdown
- Include architectural overview and component descriptions
- Add quick start guide and next steps for development
- Highlight innovative features and production readiness
@allanps
allanps merged commit 975490d into main Jun 28, 2025
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant