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>
53 lines
1.6 KiB
TOML
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"]
|