Skip to main content

Multi-agent bioinformatics analysis system with comprehensive capabilities

Project description

Tonina - Multi-Agent Bioinformatics Analysis System

Tonina is a comprehensive multi-agent bioinformatics analysis system that extends the capabilities of gffutilsAI to handle multiple types of biological data through specialized AI agents.

Features

Multi-Agent Architecture

  • GFF Agent: Complete GFF file analysis (ported from gffutilsAI)
  • Sequence Agent: FASTA sequence analysis and manipulation
  • Proteomics Agent: Protein structure and functional analysis
  • Phylogenetics Agent: Evolutionary analysis and tree operations
  • General Agent: Cross-format utilities and file operations

Intelligent Query Routing

Tonina automatically routes your queries to the appropriate specialized agent based on:

  • File types (.gff, .fasta, .pdb, etc.)
  • Query content and keywords
  • Domain-specific terminology

Multi-LLM Support

  • Local Models: Ollama (llama3.1, codellama, etc.)
  • Cloud Models: OpenAI GPT-4, Anthropic Claude, Google Gemini
  • Flexible Configuration: Easy switching between providers

Installation

# Clone the repository
git clone <repository-url>
cd tonina

# Install dependencies
pip install -e .

# Or using uv (recommended)
uv pip install -e .

Configuration

  1. Copy the example environment file:
cp .env.example .env
  1. Edit .env with your API keys:
# For cloud models (optional)
OPENAI_API_KEY=your_key_here
ANTHROPIC_API_KEY=your_key_here
GOOGLE_API_KEY=your_key_here

Usage

Basic Commands

# Interactive mode with local model
tonina --model llama3.1 --server local

# Single query
tonina --query "What genes are in chromosome 1?" --model gpt-4o

# Batch processing
tonina --batch queries.txt --model claude-3-5-sonnet-latest

# Specific provider
tonina --anthropic --model claude-3-5-sonnet-latest
tonina --gemini --model gemini-2.0-flash-exp
tonina --openai --model gpt-4o

Agent-Specific Examples

GFF Analysis

tonina "Find all genes in chromosome 1 between positions 1000-5000"
tonina "Calculate feature statistics for my GFF file"
tonina "Export all membrane proteins to CSV"

Sequence Analysis

tonina "Analyze this FASTA file for ORFs"
tonina "Calculate GC content for all sequences"
tonina "Find motifs in this protein sequence"

Multi-Agent Workflows

tonina "Extract genes from GFF, get their sequences, and analyze domains"
# This automatically coordinates: GFF Agent → Sequence Agent → Proteomics Agent

Agent Capabilities

GFF Agent (31 tools)

  • Coordinate-based queries and region analysis
  • Feature statistics and length distributions
  • Attribute searches and GO function analysis
  • Intergenic region identification
  • Comprehensive export capabilities

Sequence Agent (15+ tools)

  • FASTA file parsing and validation
  • Sequence composition analysis
  • ORF finding and translation
  • Motif searching and pattern matching
  • Multiple sequence alignment

Proteomics Agent (15+ tools)

  • Protein structure analysis (PDB files)
  • Domain prediction and annotation
  • Functional classification
  • Comparative protein analysis

Phylogenetics Agent (10+ tools)

  • Phylogenetic tree parsing
  • Evolutionary distance calculations
  • Species comparison
  • Ortholog identification

General Agent (10+ tools)

  • Cross-format file operations
  • Data integration workflows
  • Format conversion utilities
  • Batch processing tools

Development

Adding New Agents

  1. Create agent directory: src/tonina/agents/new_agent/
  2. Implement tools with @tool decorator
  3. Create agent class extending BaseAgent
  4. Register in AgentManager

Adding New Tools

from strands import tool

@tool
def my_analysis_tool(input_file: str, parameter: str) -> dict:
    \"\"\"Tool description for AI understanding\"\"\"
    # Implementation
    return {"result": "analysis_output"}

License

GPL-3.0 License - see LICENSE file for details.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new functionality
  4. Submit a pull request

Support

For issues and questions, please use the GitHub issue tracker.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tonina-0.1.0.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tonina-0.1.0-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

Details for the file tonina-0.1.0.tar.gz.

File metadata

  • Download URL: tonina-0.1.0.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.3

File hashes

Hashes for tonina-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2950ea5b617a21c1428ffc6c5e6ca38c437d78d22744787e7b7506004ca0c330
MD5 88331d56111cccfaebdfce7c7314ad3e
BLAKE2b-256 3ff0457b86ef87ef7de34c490f77d323f53e4cf837cfeed806c63a67207402c9

See more details on using hashes here.

File details

Details for the file tonina-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: tonina-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 40.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.3

File hashes

Hashes for tonina-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 214cae378e3e1c5feeda3bfa57f41d14d97d7487549a271f1198fa7843202d68
MD5 e52b0dc04ed79b08e7528167a448af6b
BLAKE2b-256 a15cea70631cfbbbe43e46ec20d35f9649de15c329165860b2da99e3603daf12

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page