Metadata-Version: 2.4
Name: pycan-ultra
Version: 0.1.0
Summary: Comprehensive agentic AI platform for end-to-end cancer research and precision oncology
Project-URL: Homepage, https://pypi.org/project/pycan-ultra/
Project-URL: Documentation, https://github.com/balagaraghuram1/pycan-ultra
Project-URL: Repository, https://github.com/balagaraghuram1/pycan-ultra
Project-URL: Issues, https://github.com/balagaraghuram1/pycan-ultra/issues
Author: balagaraghuram1
License-Expression: Apache-2.0
Keywords: AI,bioinformatics,cancer,drug-discovery,genomics,oncology,precision-medicine
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.10
Requires-Dist: anndata
Requires-Dist: httpx
Requires-Dist: mudata
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: pydantic>=2.5
Requires-Dist: rich
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: structlog
Requires-Dist: tenacity
Requires-Dist: typer
Provides-Extra: agents
Requires-Dist: anthropic>=0.20; extra == 'agents'
Requires-Dist: chromadb; extra == 'agents'
Requires-Dist: langchain>=0.2; extra == 'agents'
Requires-Dist: llama-index>=0.10; extra == 'agents'
Requires-Dist: openai>=1.0; extra == 'agents'
Requires-Dist: sentence-transformers; extra == 'agents'
Provides-Extra: core
Requires-Dist: anndata; extra == 'core'
Requires-Dist: httpx; extra == 'core'
Requires-Dist: mudata; extra == 'core'
Requires-Dist: numpy; extra == 'core'
Requires-Dist: pandas; extra == 'core'
Requires-Dist: pydantic>=2.5; extra == 'core'
Requires-Dist: rich; extra == 'core'
Requires-Dist: scikit-learn; extra == 'core'
Requires-Dist: scipy; extra == 'core'
Requires-Dist: structlog; extra == 'core'
Requires-Dist: tenacity; extra == 'core'
Requires-Dist: typer; extra == 'core'
Provides-Extra: dev
Requires-Dist: hypothesis; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: pytest-benchmark; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: dl
Requires-Dist: captum; extra == 'dl'
Requires-Dist: lightning; extra == 'dl'
Requires-Dist: onnx; extra == 'dl'
Requires-Dist: shap; extra == 'dl'
Requires-Dist: stable-baselines3; extra == 'dl'
Requires-Dist: torch-geometric; extra == 'dl'
Requires-Dist: torch>=2.1; extra == 'dl'
Requires-Dist: torchvision; extra == 'dl'
Requires-Dist: transformers; extra == 'dl'
Provides-Extra: docs
Requires-Dist: furo; extra == 'docs'
Requires-Dist: myst-parser; extra == 'docs'
Requires-Dist: nbsphinx; extra == 'docs'
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-autodoc-typehints; extra == 'docs'
Provides-Extra: omics
Requires-Dist: biopython; extra == 'omics'
Requires-Dist: episcanpy; extra == 'omics'
Requires-Dist: lifelines; extra == 'omics'
Requires-Dist: networkx; extra == 'omics'
Requires-Dist: pydeseq2; extra == 'omics'
Requires-Dist: pysam; extra == 'omics'
Requires-Dist: python-louvain; extra == 'omics'
Requires-Dist: pyvcf3; extra == 'omics'
Requires-Dist: scanpy; extra == 'omics'
Provides-Extra: viz
Requires-Dist: dash; extra == 'viz'
Requires-Dist: imageio; extra == 'viz'
Requires-Dist: matplotlib; extra == 'viz'
Requires-Dist: plotly; extra == 'viz'
Requires-Dist: reportlab; extra == 'viz'
Requires-Dist: seaborn; extra == 'viz'
Requires-Dist: streamlit; extra == 'viz'
Requires-Dist: weasyprint; extra == 'viz'
Description-Content-Type: text/markdown

# pycan_ultra

**pycan_ultra** is a deep, modular, and agentic Python platform for end-to-end cancer research,
translational analytics, and precision oncology decision support.

Built as a full-stack research engine, it unifies autonomous multi-agent reasoning, multi-omics
integration, survival modeling, drug prioritization, evidence retrieval, and publication-grade
visualization in one package.

## Why pycan_ultra

Most oncology stacks require stitching many isolated tools. **pycan_ultra** provides a coherent,
typed, and reproducible architecture that supports both exploratory science and production
pipelines.

### Key strengths

- **Agentic intelligence layer**: orchestrates genomics, transcriptomics, survival, pathology,
  drug-discovery, reporting, and memory agents from a single objective.
- **Multi-omics depth**: supports TCGA/GEO/cBioPortal ingestion patterns and harmonized modality
  processing for genomics, transcriptomics, spatial, methylation, proteomics, and metabolomics.
- **Precision oncology engine**: biomarker ranking, mutation signatures, neoantigen ranking,
  immunotherapy scoring, resistance forecasting, and patient-ready summary generation.
- **Modeling stack**: survival, multimodal fusion, graph ranking, anomaly detection, ctDNA risk,
  explainability, and model registry primitives.
- **Knowledge and evidence system**: OncoKB/CIViC-style abstractions, variant annotation, evidence
  ranking, and literature-aware answer generation.
- **Pipeline-first design**: discovery, patient, cohort, longitudinal, NGS, spatial, IO, and
  benchmark pipelines with scheduler-ready interfaces.
- **Clinical-grade foundations**: structured schemas, explicit exceptions, caching, logging,
  deterministic utilities, and test scaffolding.
- **Offline-capable operation**: rule-based fallback paths for environments without LLM/API access.

## Feature map

| Layer | What it provides |
|---|---|
| Agents | Autonomous planning, tool-call envelopes, reflection loops, state persistence |
| Omics | Typed loaders, harmonization helpers, integration and validation contracts |
| Precision | Clinical scoring modules and recommendation-ready outputs |
| Models | Research model primitives and deploy/export-oriented interfaces |
| Pipelines | One-function workflows for discovery, patient, and cohort operations |
| Knowledge | Evidence retrieval, annotation, and ranking for grounded decisions |
| Viz | OncoPrint, KM points, landscape, pathway, spatial, and reporting visuals |
| Core/Utils | Config, logging, cache, schemas, auth/rate-limits, async/parallel helpers |

## Installation

```bash
pip install pycan-ultra
```

Enable optional stacks:

```bash
pip install "pycan-ultra[omics,dl,agents,viz,dev,docs]"
```

## Quick start

```python
from pycan_ultra import __version__
from pycan_ultra.pipelines.discovery_pipeline import run_discovery

print("pycan_ultra", __version__)
result = run_discovery("BRCA", 1200)
print(result["targets"]) 
```

## CLI

```bash
pycan --help
pycan discover --cancer BRCA --omics tcga
```

## Packaging and distribution

This project uses **Hatchling** via [`pyproject.toml`](pyproject.toml).

Build artifacts:

```bash
python -m build
```

Upload (when token is configured):

```bash
python -m twine upload dist/*
```

## License

Apache-2.0

