Metadata-Version: 2.4
Name: lobster-ai
Version: 1.0.9
Summary: Multi-Agent Bioinformatics Analysis System powered by LangGraph
Home-page: https://github.com/the-omics-os/lobster-ai
Author: Omics-OS
Author-email: Omics-OS <info@omics-os.com>
License-Expression: AGPL-3.0-or-later
Project-URL: Homepage, https://www.omics-os.com
Project-URL: Bug Tracker, https://github.com/the-omics-os/lobster/issues
Project-URL: Documentation, https://github.com/the-omics-os/lobster.wiki
Project-URL: Source Code, https://github.com/the-omics-os/lobster
Keywords: bioinformatics,RNA-seq,single-cell,AI,machine-learning,data-analysis,genomics
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Healthcare Industry
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Environment :: Console
Classifier: Framework :: FastAPI
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas>=1.5.0
Requires-Dist: numpy<2.4,>=1.23.0
Requires-Dist: scipy>=1.10.0
Requires-Dist: scikit-learn>=1.3.0
Requires-Dist: anndata>=0.9.0
Requires-Dist: mudata>=0.2.0
Requires-Dist: h5py>=3.9.0
Requires-Dist: langchain-core>=0.3.79
Requires-Dist: langgraph>=1.0.5
Requires-Dist: rich>=12.0.0
Requires-Dist: typer>=0.7.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: prompt-toolkit>=3.0.52
Requires-Dist: plotly>=5.0.0
Requires-Dist: matplotlib>=3.7.0
Requires-Dist: kaleido>=0.2.0
Requires-Dist: biopython>=1.81
Requires-Dist: statsmodels>=0.14.0
Requires-Dist: gseapy>=1.1.0
Requires-Dist: openpyxl>=3.1.0
Requires-Dist: pyreadr>=0.4.0
Requires-Dist: xmltodict>=0.13.0
Requires-Dist: lxml>=4.9.0
Requires-Dist: requests>=2.31.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: nbformat>=5.9.0
Requires-Dist: papermill>=2.4.0
Requires-Dist: packaging>=25.0
Requires-Dist: tabulate>=0.9.0
Requires-Dist: tomli_w>=1.0
Requires-Dist: psutil>=7.0.0
Provides-Extra: anthropic
Requires-Dist: langchain-anthropic>=0.3.20; extra == "anthropic"
Provides-Extra: bedrock
Requires-Dist: langchain-aws>=0.1.0; extra == "bedrock"
Requires-Dist: boto3>=1.26.0; extra == "bedrock"
Provides-Extra: ollama
Requires-Dist: langchain-ollama>=0.3.10; extra == "ollama"
Requires-Dist: ollama>=0.6.0; extra == "ollama"
Provides-Extra: gemini
Requires-Dist: langchain-google-genai>=4.1.2; extra == "gemini"
Provides-Extra: openai
Requires-Dist: langchain-openai>=0.3.0; extra == "openai"
Provides-Extra: all-providers
Requires-Dist: lobster-ai[anthropic,azure,bedrock,gemini,ollama,openai]; extra == "all-providers"
Provides-Extra: docling
Requires-Dist: docling>=2.60.0; extra == "docling"
Requires-Dist: docling-core>=2.50.0; extra == "docling"
Provides-Extra: hdf5
Requires-Dist: tables>=3.8.0; extra == "hdf5"
Provides-Extra: server
Requires-Dist: fastapi>=0.100.0; extra == "server"
Requires-Dist: uvicorn>=0.23.0; extra == "server"
Requires-Dist: python-multipart>=0.0.20; extra == "server"
Provides-Extra: tui
Requires-Dist: textual>=6.7.1; extra == "tui"
Provides-Extra: observability
Requires-Dist: langfuse>=3.2.6; extra == "observability"
Requires-Dist: redis>=6.4.0; extra == "observability"
Provides-Extra: extended-data
Requires-Dist: polars>=1.32.3; extra == "extended-data"
Requires-Dist: pysradb>=2.5.1; extra == "extended-data"
Requires-Dist: cloudscraper>=1.2.71; extra == "extended-data"
Requires-Dist: rispy>=0.10.0; extra == "extended-data"
Requires-Dist: GEOparse; extra == "extended-data"
Provides-Extra: transcriptomics
Requires-Dist: lobster-transcriptomics~=1.0.0; extra == "transcriptomics"
Requires-Dist: lobster-research~=1.0.0; extra == "transcriptomics"
Requires-Dist: lobster-visualization~=1.0.0; extra == "transcriptomics"
Provides-Extra: doublet-detection
Requires-Dist: lobster-transcriptomics[doublet-detection]~=1.0.0; extra == "doublet-detection"
Provides-Extra: genomics
Requires-Dist: lobster-genomics~=1.0.0; extra == "genomics"
Requires-Dist: lobster-research~=1.0.0; extra == "genomics"
Requires-Dist: lobster-visualization~=1.0.0; extra == "genomics"
Provides-Extra: proteomics
Requires-Dist: lobster-proteomics[network-analysis]~=1.0.0; extra == "proteomics"
Requires-Dist: lobster-research~=1.0.0; extra == "proteomics"
Requires-Dist: lobster-visualization~=1.0.0; extra == "proteomics"
Provides-Extra: machine-learning
Requires-Dist: lobster-ml[full]~=1.0.0; extra == "machine-learning"
Requires-Dist: lobster-ai[transcriptomics]; extra == "machine-learning"
Provides-Extra: research
Requires-Dist: lobster-research~=1.0.0; extra == "research"
Requires-Dist: lobster-visualization~=1.0.0; extra == "research"
Provides-Extra: plink
Requires-Dist: bed-reader>=0.2.0; extra == "plink"
Provides-Extra: azure
Requires-Dist: langchain-azure-ai>=0.1.0; extra == "azure"
Requires-Dist: azure-ai-agents>=1.0.0b1; extra == "azure"
Requires-Dist: azure-ai-inference>=1.0.0b1; extra == "azure"
Requires-Dist: azure-ai-projects>=1.0.0b1; extra == "azure"
Requires-Dist: azure-identity>=1.25.0; extra == "azure"
Requires-Dist: azure-search-documents>=11.6.0; extra == "azure"
Requires-Dist: azure-storage-blob>=12.28.0; extra == "azure"
Provides-Extra: recommended
Requires-Dist: lobster-ai[anthropic,extended-data,transcriptomics,tui]; extra == "recommended"
Provides-Extra: full
Requires-Dist: lobster-ai[genomics,machine-learning,proteomics,transcriptomics]; extra == "full"
Requires-Dist: lobster-ai[all-providers,docling,extended-data,hdf5,tui]; extra == "full"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
Requires-Dist: pytest-benchmark>=4.0.0; extra == "dev"
Requires-Dist: pytest-timeout>=2.1.0; extra == "dev"
Requires-Dist: pytest-html>=3.2.0; extra == "dev"
Requires-Dist: pytest-json-report>=1.5.0; extra == "dev"
Requires-Dist: factory-boy>=3.2.0; extra == "dev"
Requires-Dist: responses>=0.25.8; extra == "dev"
Requires-Dist: httpretty>=1.1.4; extra == "dev"
Requires-Dist: freezegun>=1.2.0; extra == "dev"
Requires-Dist: faker>=19.0.0; extra == "dev"
Requires-Dist: moto>=4.1.0; extra == "dev"
Requires-Dist: fakeredis>=2.10.0; extra == "dev"
Requires-Dist: ftputil>=5.0.4; extra == "dev"
Requires-Dist: memory-profiler>=0.60.0; extra == "dev"
Requires-Dist: psutil>=5.9.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Requires-Dist: pylint>=2.17.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: bandit>=1.7.0; extra == "dev"
Requires-Dist: ruff>=0.0.300; extra == "dev"
Requires-Dist: pre-commit>=3.0.0; extra == "dev"
Requires-Dist: bumpversion>=0.6.0; extra == "dev"
Requires-Dist: twine>=4.0.0; extra == "dev"
Requires-Dist: build>=0.10.0; extra == "dev"
Requires-Dist: mkdocs>=1.5.0; extra == "dev"
Requires-Dist: mkdocs-material>=9.0.0; extra == "dev"
Requires-Dist: langfuse>=2.0.0; extra == "dev"
Requires-Dist: tabulate>=0.9.0; extra == "dev"
Requires-Dist: import-linter>=2.1; extra == "dev"
Requires-Dist: pipdeptree>=2.25; extra == "dev"
Provides-Extra: all
Requires-Dist: lobster-ai[azure,batteries,bulk-rnaseq,dev,genomics,ml,transcriptomics]; extra == "all"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# 🦞 Lobster AI

[![PyPI version](https://img.shields.io/pypi/v/lobster-ai.svg)](https://pypi.org/project/lobster-ai/)
[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)
[![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL%203.0-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
[![Documentation](https://img.shields.io/badge/docs-omics--os.com-green.svg)](https://docs.omics-os.com)

> Multi-agent bioinformatics engine. Analyze multi-omics data in natural language.

[Documentation](https://docs.omics-os.com) · [PyPI](https://pypi.org/project/lobster-ai/) · [Omics-OS Cloud](https://app.omics-os.com) · [Agent Template](https://github.com/the-omics-os/lobster-agent-template)

---

## What is Lobster AI?

Lobster AI is an open-source multi-agent platform for bioinformatics. Describe your analysis in natural language — Lobster routes it to specialized AI agents that handle single-cell RNA-seq, bulk RNA-seq, proteomics, genomics, literature mining, and machine learning. Results are reproducible (W3C-PROV), exportable as Jupyter notebooks, and backed by the same open-source tools researchers already trust (Scanpy, PyDESeq2, AnnData).

Built for bioinformaticians, computational biologists, and research teams who need intelligent workflows without writing code.

---

## Quick Start

**macOS / Linux** (recommended):
```bash
curl -fsSL https://install.lobsterbio.com | bash
```

**Windows** (PowerShell):
```powershell
irm https://install.lobsterbio.com/windows | iex
```

**Manual** (any platform):
```bash
uv tool install 'lobster-ai[full,anthropic]'
lobster init
lobster chat
```

Or with pip:
```bash
pip install 'lobster-ai[full]'
lobster init
lobster chat
```

---

## Agent Packages

Lobster AI uses a modular architecture. Install exactly the agents you need.

| Package | Agents | Status |
|---------|--------|--------|
| **lobster-ai** | Supervisor, Core infrastructure | Beta |
| **lobster-transcriptomics** | Transcriptomics, Annotation, DE Analysis | Beta |
| **lobster-research** | Research, Data Expert | Beta |
| **lobster-visualization** | Visualization Expert | Beta |
| **lobster-metadata** | Metadata Assistant | Beta |
| **lobster-structural-viz** | Protein Structure Visualization | Beta |
| **lobster-genomics** | Genomics Expert | Alpha |
| **lobster-proteomics** | Proteomics Expert | Alpha |
| **lobster-ml** | ML, Feature Selection, Survival Analysis | Alpha |

**Add individual agents** (uv tool installs):
```bash
uv tool install lobster-ai --with lobster-proteomics --with lobster-genomics
```
Or run `lobster init --force` to interactively select agents — it generates the command for you.

**Install everything:**
```bash
uv tool install 'lobster-ai[full,anthropic]'   # uv tool (recommended)
pip install 'lobster-ai[full]'                  # pip
```

**Upgrade:**
```bash
uv tool upgrade lobster-ai                      # uv tool
pip install --upgrade lobster-ai                 # pip
```

**Build your own agent:**
Use the [lobster-agent-template](https://github.com/the-omics-os/lobster-agent-template) to create custom analysis agents.

---

## Coding Agent Skills

Teach your coding agents (Claude Code, Codex, Gemini CLI, OpenClaw) to use Lobster:

```bash
curl -fsSL https://skills.lobsterbio.com | bash
```

Installs two skills:
- **lobster-use** — End-user workflows (search PubMed, analyze cells, RNA-seq)
- **lobster-dev** — Developer guide (create agents, extend services, testing)

---

## LLM Providers

Lobster supports 5 LLM providers. Choose based on your needs:

| Provider | Type | Setup | Use Case |
|----------|------|-------|----------|
| **Ollama** | Local | `ollama pull gpt-oss:20b` | Privacy, zero cost, offline |
| **Anthropic** | Cloud | API key | Fastest, best quality |
| **AWS Bedrock** | Cloud | AWS credentials | Enterprise, compliance |
| **Google Gemini** | Cloud | Google API key | Multimodal, long context |
| **Azure AI** | Cloud | Endpoint + credential | Enterprise Azure |

Configure via `lobster init` or set environment variables manually.

---

## Features

**Multi-Omics Analysis**
- Single-cell RNA-seq (QC, clustering, cell type annotation, trajectory)
- Bulk RNA-seq (Kallisto/Salmon import, DE with PyDESeq2)
- Proteomics (DDA/DIA, missing values, normalization)
- Genomics (VCF/PLINK, GWAS, PCA, variant annotation)
- Multi-omics integration (MOFA, pathway enrichment)

**Machine Learning**
- Feature selection (stability selection, LASSO, variance filter)
- Survival analysis (Cox models, Kaplan-Meier, risk stratification)
- Cross-validation (stratified k-fold, nested CV)
- Interpretability (SHAP, feature importance)

**Research & Metadata**
- Literature discovery (PubMed, PMC, GEO)
- Dataset downloads (GEO, SRA, PRIDE)
- Metadata harmonization and validation
- Sample grouping and filtering

**Reproducibility**
- W3C-PROV provenance tracking
- Jupyter notebook export
- Parameter schemas for all analyses

---

## Usage Examples

**Interactive chat:**
```bash
lobster chat
```

**Single-turn queries:**
```bash
lobster query "Search PubMed for CRISPR studies in 2024"
lobster query "Download GSE109564 and cluster cells"
```

**Session continuity:**
```bash
lobster query --session-id project1 "Search for Alzheimer's scRNA-seq datasets"
lobster query --session-id project1 "Download the top 3 results"
lobster query --session-id latest "Cluster the first dataset"
```

**Export pipelines:**
```bash
lobster chat
> /pipeline export
> /pipeline list
> /pipeline run analysis.ipynb geo_gse109564
```

---

## Development

```bash
# Clone repository
git clone https://github.com/the-omics-os/lobster.git
cd lobster

# Install with dev dependencies (editable)
make dev-install

# Run tests
make test

# Format and lint
make format && make lint

# Activate environment
source .venv/bin/activate

# Test as end user (uv tool install)
uv tool install 'lobster-ai[full,anthropic]'
```

**Environment variables (will be created during init):**
- `ANTHROPIC_API_KEY` — Anthropic Direct
- `AWS_BEDROCK_ACCESS_KEY`, `AWS_BEDROCK_SECRET_ACCESS_KEY` — AWS Bedrock
- `GOOGLE_API_KEY` — Google Gemini
- `OLLAMA_BASE_URL` — Ollama server (default: http://localhost:11434)
- `LOBSTER_LLM_PROVIDER` — Explicit provider selection
- `LOBSTER_WORKSPACE` — Workspace directory

---

## Documentation

For detailed documentation, see [README_FULL.md](README_FULL.md) or visit [docs.omics-os.com](https://docs.omics-os.com).

**Key topics:**
- Platform-specific installation (macOS, Linux, Windows)
- One-line installers (`install.lobsterbio.com`)
- uv tool install and upgrade workflows
- Docker deployment
- LLM provider configuration
- Premium features
- Troubleshooting

---

## Ecosystem

| Project | Description | Link |
|---------|-------------|------|
| **Lobster AI** | Open-source multi-agent bioinformatics engine | [lobsterbio.com](https://lobsterbio.com) |
| Omics-OS Cloud | Managed cloud platform | [app.omics-os.com](https://app.omics-os.com) |
| Documentation | Guides, API reference, tutorials | [docs.omics-os.com](https://docs.omics-os.com) |
| Agent Template | Create your own Lobster agent | [GitHub](https://github.com/the-omics-os/lobster-agent-template) |

---

## Contributing

Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

**Ways to contribute:**
- Report bugs and request features via GitHub Issues
- Submit pull requests for bug fixes or new features
- Improve documentation
- Create custom agent packages

---

## License

**Code:** AGPL-3.0-or-later
**Documentation:** CC BY 4.0

See [LICENSE](LICENSE) for details.

---

<p align="center">
  Built by <a href="https://omics-os.com">Omics-OS</a> to accelerate multi-omics research
  <br>
  <a href="https://omics-os.com">Omics-OS</a> · <a href="https://lobsterbio.com">Lobster AI</a> · <a href="https://docs.omics-os.com">Docs</a>
</p>
