Skip to content

PR7: feat(conformers): isolated nvMolKit worker backend#32

Closed
SergeiNikolenko wants to merge 4 commits intofix/scoring-followupsfrom
pr7-worker-backend
Closed

PR7: feat(conformers): isolated nvMolKit worker backend#32
SergeiNikolenko wants to merge 4 commits intofix/scoring-followupsfrom
pr7-worker-backend

Conversation

@SergeiNikolenko
Copy link
Copy Markdown
Member

@SergeiNikolenko SergeiNikolenko commented Mar 5, 2026

Supersedes #23.

What

  • add isolated nvMolKit worker backend for conformer generation
  • auto-bootstrap .venv-nvmolkit-worker in auto mode when worker is missing
  • keep CPU/RDKit fallback when worker setup or execution is unavailable

Main changes

  • matcha/utils/preprocessing.py
    • add worker-backed conformer generation path
    • add one-time auto-setup for worker env in auto backend mode
    • preserve fallback to RDKit when worker is unavailable or returns invalid output
  • scripts/setup_nvmolkit_worker.py
    • create .venv-nvmolkit-worker
    • install worker package and nvMolKit prerequisites
  • packages/matcha_nvmolkit_worker/...
    • isolated worker package and CLI entrypoint
  • tests
    • worker contract test coverage
    • batch/in-memory conformer generation tests

Why

This PR keeps the nvMolKit integration isolated from the main inference/scoring logic. Matcha can use a prepared GPU conformer worker when available, but still degrades safely to RDKit.

Validation

uv run pytest -n0 tests/test_conformer_generation_batch.py tests/test_conformer_generation_in_memory.py tests/test_conformer_worker_contract.py

Optional worker setup check:

uv run python scripts/setup_nvmolkit_worker.py --skip-smoke

- Extract _rdkit_generate_chunk() to eliminate 3x duplicated blocks
- Consolidate max_failures/max_iterations into single max_attempts
- Extract _conf_has_finite_coords predicate in worker CLI
- Compact setup script: str.removeprefix(), f-strings, shorter docstrings
- Remove 8 obvious/redundant comments
@SergeiNikolenko SergeiNikolenko deleted the pr7-worker-backend branch March 11, 2026 07:30
@SergeiNikolenko
Copy link
Copy Markdown
Member Author

Superseded by #40 after rebuilding the stacked branch chain on top of #39.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant