Metadata-Version: 2.4
Name: lobster-ai
Version: 1.1.3
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: GEOparse
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: cloudscraper>=1.2.71
Requires-Dist: pysradb>=2.5.1
Requires-Dist: nbformat>=5.9.0
Requires-Dist: papermill>=2.4.0
Requires-Dist: jinja2>=3.1
Requires-Dist: packaging>=25.0
Requires-Dist: tabulate>=0.9.0
Requires-Dist: tomli_w>=1.0
Requires-Dist: psutil>=7.0.0
Requires-Dist: lobster-ai-tui~=1.1.0; platform_system != "Windows"
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: classic-tui
Requires-Dist: textual>=6.7.1; extra == "classic-tui"
Provides-Extra: vector-search
Requires-Dist: chromadb>=1.0.0; extra == "vector-search"
Requires-Dist: openai>=1.0.0; extra == "vector-search"
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: rispy>=0.10.0; extra == "extended-data"
Provides-Extra: transcriptomics
Requires-Dist: lobster-transcriptomics[batch-integration]~=1.1.0; extra == "transcriptomics"
Requires-Dist: lobster-research~=1.1.0; extra == "transcriptomics"
Requires-Dist: lobster-visualization~=1.1.0; extra == "transcriptomics"
Provides-Extra: doublet-detection
Requires-Dist: lobster-transcriptomics[doublet-detection]~=1.1.0; extra == "doublet-detection"
Provides-Extra: genomics
Requires-Dist: lobster-genomics~=1.1.0; extra == "genomics"
Requires-Dist: lobster-research~=1.1.0; extra == "genomics"
Requires-Dist: lobster-visualization~=1.1.0; extra == "genomics"
Provides-Extra: proteomics
Requires-Dist: lobster-proteomics[network-analysis]~=1.1.0; extra == "proteomics"
Requires-Dist: lobster-research~=1.1.0; extra == "proteomics"
Requires-Dist: lobster-visualization~=1.1.0; extra == "proteomics"
Provides-Extra: research
Requires-Dist: lobster-research~=1.1.0; extra == "research"
Requires-Dist: lobster-visualization~=1.1.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,classic-tui,extended-data,transcriptomics]; extra == "recommended"
Provides-Extra: full
Requires-Dist: lobster-ai[genomics,proteomics,transcriptomics]; extra == "full"
Requires-Dist: lobster-ai[all-providers,classic-tui,docling,extended-data,hdf5]; 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

<div align="center">
  <table border="0" cellspacing="0" cellpadding="0" style="border: none; background: transparent;">
    <tr>
      <td valign="middle" style="border: none; background: transparent;">
        <img alt="Lobster AI Logo" src="https://raw.githubusercontent.com/the-omics-os/lobster/main/docs/assets/lobster-logo.png" width="80">
      </td>
      <td valign="middle" align="left" style="border: none; background: transparent; padding-left: 18px;">
        <b>Open-source multi-agent bioinformatics engine.<br/>Describe your analysis in natural language.</b>
      </td>
    </tr>
  </table>
</div>

<br/>

<div align="center">
  <table border="0" cellspacing="6" cellpadding="0" style="border: none; background: transparent;">
    <tr>
      <td style="border: none; background: transparent;"><a href="https://docs.omics-os.com"><img src="https://img.shields.io/badge/docs-omics--os.com-black?style=for-the-badge&logo=readthedocs" alt="Docs"></a></td>
      <td style="border: none; background: transparent;"><a href="https://app.omics-os.com"><img src="https://img.shields.io/badge/cloud-Omics--OS-blue?style=for-the-badge&logo=googlecloud" alt="Cloud"></a></td>
      <td style="border: none; background: transparent;"><a href="https://pypi.org/project/lobster-ai/"><img src="https://img.shields.io/badge/PyPI-lobster--ai-black?style=for-the-badge&logo=pypi" alt="PyPI"></a></td>
    </tr>
  </table>
</div>

<br/>

<div align="center">
  <table border="0" cellspacing="0" cellpadding="8" style="border: none; background: transparent;">
    <tr>
      <td style="border: none; background: transparent;"><img src="https://raw.githubusercontent.com/the-omics-os/lobster/main/docs/assets/testimonial-1.svg" width="260" alt="Testimonial 1"></td>
      <td style="border: none; background: transparent;"><img src="https://raw.githubusercontent.com/the-omics-os/lobster/main/docs/assets/testimonial-2.svg" width="260" alt="Testimonial 2"></td>
      <td style="border: none; background: transparent;"><img src="https://raw.githubusercontent.com/the-omics-os/lobster/main/docs/assets/testimonial-3.svg" width="260" alt="Testimonial 3"></td>
    </tr>
  </table>
</div>

<br/>

---

# 🧑‍🔬 Human Quickstart

**1. Install Lobster AI (macOS/Linux):**
```bash
curl -fsSL https://install.lobsterbio.com | bash
```
*(Windows users: `irm https://install.lobsterbio.com/windows | iex`)*

**2. Configure your LLM (Anthropic, Gemini, local Ollama, etc.):**
```bash
lobster init
```

**3. Start an interactive session and run a full pipeline:**
```bash
lobster chat
```
Then describe your analysis:
```
> Search PubMed for single-cell CRISPR screens in T cells from 2023–2024,
  download the most cited dataset, run QC, integrate batches with Harmony,
  cluster the cells, annotate cell types, and export a reproducible notebook.
```

<details>
<summary><b>Watch: installation & init walkthrough</b></summary>
<br/>
<div align="center">
  <img alt="Installation and Init" src="https://raw.githubusercontent.com/the-omics-os/lobster/main/docs/assets/recordings/installation_and_init.gif" width="720">
</div>
</details>

<br/>

# 🤖 For AI Coding Agents

Teach your coding agent (Claude Code, Cursor, Gemini) to use and extend Lobster AI instantly:
```bash
curl -fsSL https://skills.lobsterbio.com | bash
```
*Installs the `lobster-use` and `lobster-dev` skills so your AI knows our entire 10-package architecture.*

<br/>

# Real-World Use Cases

See Lobster AI applied end-to-end across omics domains:

| Domain | Case Study |
|--------|------------|
| Single-Cell Transcriptomics | [Cell clustering, annotation & trajectory inference](https://docs.omics-os.com/docs/case-studies/transcriptomics/) |
| CML Drug Resistance | [Resistance mechanism discovery from scRNA-seq](https://docs.omics-os.com/docs/case-studies/cml-resistance/) |
| Drug Discovery | [Target identification & compound prioritization](https://docs.omics-os.com/docs/case-studies/drug-discovery/) |
| Clinical Genomics | [Variant annotation & GWAS analysis](https://docs.omics-os.com/docs/case-studies/genomics/) |
| Mass Spec Proteomics | [Biomarker panel selection from DIA-NN data](https://docs.omics-os.com/docs/case-studies/proteomics/) |
| Literature Mining | [Automated dataset discovery from PubMed](https://docs.omics-os.com/docs/case-studies/research/) |
| Multi-Omics ML | [Feature selection & survival analysis](https://docs.omics-os.com/docs/case-studies/machine-learning/) |

<br/>

# 🧠 The Architecture

Lobster isn't just a chatbot; it's a modular ecosystem of **22 specialist agents across 10 packages**.
* **Your machine, your data:** Patient data never leaves your hardware.
* **Tool calls, not token dreams:** Agents execute real, validated Python packages (Scanpy, PyDESeq2).
* **100% Reproducible:** W3C-PROV tracking and automatic Jupyter notebook exports.

<div align="center">
  <img alt="Ecosystem Topology" src="https://raw.githubusercontent.com/the-omics-os/lobster/main/docs/assets/architecture-topology.svg" width="88%">
  <br/><br/>
  <img alt="Core Architecture" src="https://raw.githubusercontent.com/the-omics-os/lobster/main/docs/assets/architecture-core.svg" width="88%">
</div>

<br/>

# 🛠️ Build Your Own Agent

The `lobster-dev` skill gives your coding assistant (Claude Code, Gemini CLI, Cursor) deep knowledge of how Lobster agents are structured. Describe the biological domain you need — it scaffolds the package, wires the tools, writes the tests, and registers the agent.

<div align="center">
  <table border="0" cellspacing="0" cellpadding="12">
    <tr>
      <td valign="top" align="center">
        <b>1. The Request</b><br/><br/>
        <img alt="Claude Terminal" src="https://raw.githubusercontent.com/the-omics-os/lobster/main/docs/assets/terminal-preview.svg" width="380">
      </td>
      <td valign="top" align="center">
        <b>2. The Result</b><br/><br/>
        <img alt="Hackability Preview" src="https://raw.githubusercontent.com/the-omics-os/lobster/main/docs/assets/hackability-preview.svg" width="380">
      </td>
    </tr>
  </table>
</div>

<br/>

# ❓ Deep Dives & FAQ

<details>
<summary><b>What omics domains are supported?</b></summary>

**Transcriptomics**
- Single-cell RNA-seq: QC, doublet detection (Scrublet), batch integration (Harmony/scVI), clustering, cell type annotation, trajectory inference (DPT/PAGA)
- Bulk RNA-seq: Salmon/kallisto/featureCounts import, sample QC, batch detection, normalization (DESeq2/VST/CPM), DE with PyDESeq2, GSEA, publication-ready export

**Genomics**
- GWAS: VCF/PLINK import, LD pruning, kinship, association testing, result clumping
- Clinical: variant annotation (VEP), gnomAD frequencies, ClinVar pathogenicity, variant prioritization

**Proteomics**
- Mass spec: MaxQuant/DIA-NN/Spectronaut import, PTM analysis, peptide-to-protein rollup, batch correction
- Affinity: Olink NPX/SomaScan ADAT/Luminex MFI import, LOD quality, bridge normalization
- Downstream: GO/Reactome/KEGG enrichment, kinase enrichment (KSEA), STRING PPI, biomarker panel selection

**Metabolomics**
- LC-MS, GC-MS, NMR with auto-detection
- QC (RSD, TIC), filtering, imputation, normalization (PQN/TIC/IS)
- PCA, PLS-DA, OPLS-DA, m/z annotation (HMDB/KEGG), lipid class analysis

**Machine Learning**
- Feature selection (stability selection, LASSO, variance filter)
- Survival analysis (Cox models, Kaplan-Meier, risk stratification)
- Cross-validation, SHAP interpretability, multi-omics integration (MOFA)

**Research & Metadata**
- Literature discovery (PubMed, PMC, GEO, PRIDE, MetaboLights)
- Dataset download orchestration, metadata harmonization, sample filtering
</details>

<details>
<summary><b>Which LLMs can I use?</b></summary>

Lobster supports 5 LLM providers. Configure via `lobster init` or environment variables.

| 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 |
</details>

<details>
<summary><b>Pipeline export and slash commands</b></summary>

```bash
lobster chat
> /pipeline export         # Export reproducible Jupyter notebook
> /pipeline list           # List exported pipelines
> /pipeline run analysis.ipynb geo_gse109564
> /data                    # Show loaded datasets
> /status                  # Session info
> /help                    # All commands
```
</details>

<details>
<summary><b>Advanced installation (Windows, pip)</b></summary>

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

**uv** (recommended manual install):
```bash
uv tool install 'lobster-ai[full,anthropic]'
lobster init
```

**pip**:
```bash
pip install 'lobster-ai[full]'
lobster init
```

**Upgrade**:
```bash
uv tool upgrade lobster-ai    # uv
pip install -U lobster-ai      # pip
```
</details>

<details>
<summary><b>How do I build my own agent?</b></summary>

Create custom agents for any domain. Agents plug in via Python entry points — discovered automatically, no core changes needed.

Install the **lobster-dev** skill to teach your coding agent the full architecture:

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

Then ask your coding agent: *"Create a Lobster agent for [your domain]"* — it knows the package structure, AGENT_CONFIG pattern, factory function, tool design, testing, and the 28-step checklist.
</details>

<br/>

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