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
- Copy the example environment file:
cp .env.example .env
- Edit
.envwith 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
- Create agent directory:
src/tonina/agents/new_agent/ - Implement tools with
@tooldecorator - Create agent class extending
BaseAgent - 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
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Submit a pull request
Support
For issues and questions, please use the GitHub issue tracker.
Metadata
Release files for tonina 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tonina-0.1.0.tar.gz | 35.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tonina-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 75.6 kB
Release files / tonina-0.1.0.tar.gz
| Download URL | tonina-0.1.0.tar.gz |
|---|---|
| Size | 35.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2950ea5b617a21c1428ffc6c5e6ca38c437d78d22744787e7b7506004ca0c330
|
|
BLAKE2b-256 checksum How to use checksums |
3ff0457b86ef87ef7de34c490f77d323f53e4cf837cfeed806c63a67207402c9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.3
|
Release files / tonina-0.1.0-py3-none-any.whl
| Download URL | tonina-0.1.0-py3-none-any.whl |
|---|---|
| Size | 40.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
214cae378e3e1c5feeda3bfa57f41d14d97d7487549a271f1198fa7843202d68
|
|
BLAKE2b-256 checksum How to use checksums |
a15cea70631cfbbbe43e46ec20d35f9649de15c329165860b2da99e3603daf12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.3
|