Files
Reverso/pyproject.toml
Junior B. 817bcda7dc Structure-binding track: scaffold + ligand-retrieval baseline
Start the structure-based binding branch (PLAN §12), baseline-first.

- src/binding.py: validated RDKit ligand retrieval (morgan_fp, tanimoto,
  retrieve_nearest = the §12.9 engine) + dock() stub documenting the
  blocked ARM-Mac toolchain
- scripts/binding_ligand_baseline.py: 300 drugs vs known binders
- docs/structure_binding_notes.md: status, toolchain blocker, next steps
- pyproject: [structure] extra (rdkit); data/raw/structures/ for PDBs

Step-0 finding: retrieval engine VALIDATED on in-set classes
(decitabine->azacitidine 0.62; vorinostat->scriptaid/belinostat) but the
distinctive binders voxelotor/mitapivat have no analog in our 300-drug
set (Tanimoto ~0.2). Needs (a) bigger library, (b) real docking (§12.3),
which is blocked on the ARM-Mac docking toolchain (§12.6 pitfall 4).
Structures 5E83 (Hb+voxelotor) and 8XFD (PKR+mitapivat) fetched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 23:53:27 +02:00

53 lines
1.6 KiB
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "reverso-mvp"
version = "0.1.0"
description = "Sickle cell drug repurposing MVP — disease signature + drug profile matching via CMap-style connectivity scoring"
readme = "README.md"
requires-python = ">=3.11,<3.14"
license = { text = "Proprietary" }
authors = [{ name = "Reverso" }]
dependencies = [
"pandas>=2.0",
"numpy>=1.24",
"scipy>=1.11",
"requests>=2.31",
"chembl_webresource_client>=0.10", # ChEMBL API client
"GEOparse>=2.0", # GEO dataset access
"pydeseq2>=0.4", # Differential expression in Python
"cmapPy>=4.0", # Reference CMap connectivity implementation
"pyarrow>=14.0", # Parquet I/O
"jupyter>=1.0",
"matplotlib>=3.7", # Sanity-check plots
"seaborn>=0.13",
"pydantic>=2.0", # Schema validation for signatures/profiles
"mygene>=3.2", # Gene symbol -> Entrez/Ensembl mapping
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"ruff>=0.5",
]
# Structure-based binding track (PLAN §12). Docking tool (vina/smina) is NOT pip-installable on
# ARM Mac — install via conda/micromamba or use a GPU AF3-class model; see docs/structure_binding_notes.md.
structure = [
"rdkit>=2024.3",
"requests>=2.31",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["src*"]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.pytest.ini_options]
testpaths = ["tests"]