Retire remaining consumer implementations of general molecular operations
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 8/100
Direzione di ricerca
This is a cross-repository ownership tracker, not a single task: most rows wait on MolSysMT provider issues (#222, #223, #214, #226, #348). Start by reading the consumer files named in the table, preparation/ligand.py, preparation/receptor.py and molsysviewer_dockingmt/adapters/complex.py, and identify which local operation each one performs. Done means each reviewed duplicate is replaced by a public MolSysMT call, or carries a bounded, owner-linked exception with a removal condition.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What
Retire DockingMT's remaining implementations of general molecular operations and consume the public tools owned by MolSysMT. The maintainer reaffirmed this boundary on 2026-10-10: an uncovered reusable molecular operation must be proposed in MolSysMT, rather than implemented in DockingMT. Apply the same ownership rule to pharmacophoric operations in PharmacophoreMT.
This is a bounded consumer migration, linked to #5, #28 and #33. Provider work remains owned by the existing issues below. It does not authorize sibling source edits or a new chemistry implementation in DockingMT.
Inspected state and authority — original 2026-10-10 review
- DockingMT implementation inspected at
b793075e8a06bea6d8704eb0db24239b16671e57. - Suite governance inspected at
de01c5f55e9dcafca8e67f4eb36be38d4c4ea476, including modular reusable tools, cross-component feedback and repository ownership. MOLI inspected at6ebbf4b064f12f6d53204ef41b4cbad22ebf6395, including its guide, component registry and Architecture 1.0 ecosystem boundary. MOLI governs the platform boundary; MolSysSuite owns member governance and providers own implementation. - MolSysMT checkout is
8ae160fc93ed5bc815bcc24b37c2875ba735623d; fetchedorigin/mainis970fd28e374f3dda58eda0a5ab259bbdf7629402. Read-only source inspection includes the remote implementation, not merely the checkout's older version. - Executed consumer profile remains the qualified source
5bd893c85fe8d211663b2b1f865f5f1d2c382a90, Python 3.14.7 and Vina 1.2.7. Inspection of newer source does not establish its runtime compatibility or authorize a dependency upgrade. - Refreshed suite inventory preserves all sibling worktrees, including human changes in PharmacophoreMT, TopoMT, ElastNetMT and OpenCASTP, and behind checkouts. No sibling source, environment or native extension was changed.
Actual delegation already present
DockingProblem normalizes, selects and extracts through msm.convert/select/extract. Preparation consumes public stored chemistry/coverage and delegates explicitly requested H addition, partial charges and AutoDock types through msm.build.add_missing_hydrogens/assign_partial_charges/assign_autodock_atom_types. Torsion chemistry and fragment partition use msm.topology.get_rotatable_bonds/get_rigid_fragments. Pose reconstruction uses msm.copy/extract/set; positional RMSD uses msm.structure.get_rmsd. Scientific controls call public dihedral setters, fitting, translation and distance tools. These are actual call paths, not an architectural inference from dependency declarations.
DockingMT retains docking protocol choices, explicitly selected cuts/ROOT orientation, engine execution, score semantics, ranking, result accounting and provenance. Public provider validation and failures must continue to propagate; general chemistry must not be recovered through implicit consumer fallbacks.
Remaining consumer duplicates and migration ownership
| Current operation | Evidence in DockingMT | Owner and next action |
|---|---|---|
| Named chemical typing (delegated) | Consumer atom classifiers were removed in the accepted required-named-typing migration. | Public MolSysMT assignments or an explicit named provider stage are required in both roles; no model is selected automatically. See devguide/validation/required_named_typing.md. #5 retains scientific chemical-readiness acceptance. |
| H omission and full-precision charge transfer (both roles delegated) | prepare_ligand delegates at 16ff157e5b9d5b816e2315c650e0ff66c84329e9; prepare_receptor now delegates at 489d0c2e2e3f0097ffa5579060d601de4d396195. Both consume the actual provider-reduced system, aggregate native charges/virtual-H state and detached original/derived assignments. Both local H-parent/charge-aggregation loops are removed. |
Public msm.build.merge_nonpolar_hydrogens at qualified source 3502232d802ee2927f6b6f5d19f0ae045777ecb5 owns eligibility, parent validation, transfer and inventory updates. Unknown merged-parent inventory rejects before Vina without repair under both provisional policies. Declared 181L: 2,603 source atoms → 1,615 prepared, 988 H merged, original protein wire byte-identical. MolSysMT #223 is delivered; native writer/reader integration remains separate; preparation stage-map composition is now delegated as described below. See devguide/validation/receptor_projection.md and the terminal handoff below. |
| Preparation correspondence composition (delegated) | finish_stage_maps now calls public msm.compose_atom_maps with actual completed H-addition/projection reports at fe8ad1351b8661b43957132236715115d495d795. Local correspondence lookup and no-H identity construction are removed. |
Qualified MolSysMT 3502232d8 owns direct/representative maps, generation/merge semantics and report validation. Both roles preserve legacy selected-input maps, None absence and PDBQT traversal; detached preparation_workflow.atom_map retains the native record. Legacy written order is not a completed export map or payload binding. See devguide/validation/preparation_atom_maps.md; eight pre-change failures, 57 focused and 363 broader source passes, with ordinary installed/exact-head receipts below. |
| Molecular PDBQT serialization (received; output-policy integration pending) | PreparedLigand.to_pdbqt and PreparedReceptor.to_pdbqt still write production records locally. Prepared-native receiving at 253f42adb2b0f1d59124e3bd11717cda2d8d26e4 qualifies actual aggregate values, derived attribution, bound maps and rigid/one-cut/nested trees. Real 181L receptor receiving at ae5940432b8672abf8efb96eb0e659151272e8c5 also qualifies preserved native IDs, 2,603→1,615 preparation/export composition and correct refusal after renumbering a copy. Its three guards and 58-case source/ordinary-installed selections pass. Terminal verification completes 1,231 tests per Python 3.11–3.14, zero skips, all seven CI jobs, installed/context/closure checks and actual coverage upload; policy/publication governance also pass. The terminal handoff below closes the formerly pending CI checkpoint only. See devguide/validation/native_receptor_export_receiving.md. |
The native writer works; zero native groups correctly produce absent output hierarchy. Explicit presentation and caller attribution remarks in final bound bytes are requested in MolSysMT #214: https://github.com/uibcdf/molsysmt/issues/214#issuecomment-6389119365 . Receive a public provider-owned composition or explicitly accept native presentation as a consumer compatibility change, then retire the qualified writer and adopt the reader for its actual bytes. No consumer molecular builder, atom-record patcher or completed-map rebinder; independent MVP work remains available. |
| PDBQT pose parsing and reconstruction (native reader qualified) | Vina _pdbqt_atom_records/_verify_pose_atom_order remains the production route; prepared legacy bytes do not yet carry completed native maps. |
Delivered uibcdf/molsysmt#226 is qualified against actual DockingMT/Vina output in fb6382f6bf617467f4a3fb1dbc4fc28dc2815b71. Adopt mapped native projection/export in the supported prepared producer before retiring parsing for that bound profile. A native export map with different legacy bytes correctly refuses. Keep Vina numeric-array coherence local; infer no missing H or bonds. Current reader guards use form-owned file/text read_poses at adopted source 3502232d802ee2927f6b6f5d19f0ae045777ecb5. This namespace receiving does not replace production parsing or bind a map to another payload. |
| Selected-graph connectivity (delegated 2026-10-23) | The local retained-component traversal was removed in 173319a71b17b70bc6d13ecc68eb413edfd08640. |
Public msm.topology.get_covalent_blocks receives retained source indices, chemical_state="structure", structure_indices=0. Delivered uibcdf/molsysmt#348 is already in qualified provider 128a0bbb94e6804f5663e58a45313c77de1cc30d. Assigned/induced-subset, nonmonotonic and provider-refusal controls protect the route; the former 2027-01-06 traversal exception is retired. See the dated terminal handoff below. |
| Source-free reconstruction (delegated) | Rigid source-free ligand/receptor conversion uses public PDBQT conversion and precision-restoring public setters. Flexible source-free ligand reconstruction now also calls public msm.permute_atoms on the declared inverse traversal at 45e721bf7c56bdbf1c3ed6acfe539fed203d1155. The local PDB builder, duplicate-name rewriting, group truncation and unused temporary-file helper are removed. |
Qualified provider source 3502232d802ee2927f6b6f5d19f0ae045777ecb5 delivers #369. Preserve representable PDBQT labels/partial chemistry and original prepared coordinate/Q precision; infer no absent bond/order/state or old experimental IDs. Native source-backed copy/set remains unchanged. See devguide/validation/flexible_reconstruction.md and the terminal handoff below. |
| Viewer complex frame assembly (delegated) | build_docking_complex_system calls public msm.merge for every frame and public msm.append_structures; the old coordinate concatenation is removed. |
Static-receptor pairing and pose order remain DockingMT protocol choices. Actual provider calls, later-failure propagation and source immutability have consumer guards; mechanics composition fixes are included in the qualified provider source. See devguide/pending_proposals/retire_general_molecular_operations.md. |
Reference bridges and independent verification
The original unversioned 5X72 heavy-only SDF references still enter some developer workflows through Chem.SDMolSupplier followed by public MolSysMT conversion. This is an explicitly tracked reference bridge under MolSysMT uibcdf/molsysmt#215; its consumer evidence is already reported there. The native H-bearing 5X72 route uses public msm.convert with explicit stereo/property-loss choices. Do not add another reader or silently normalize the original files. Qualify provider admission before replacing the bridge; preserve historical producer/source bytes.
Finite NumPy distances, dihedral checks and proper-fit checks in developer controls independently verify public MolSysMT outputs. They are not molecular transformations used instead of the provider, and must not become a second reusable geometry API. The pending seven-point translation control calls msm.structure.translate for all 39 atoms, public distances and public RMSD. Its original 112 evaluations and producer were preserved; it has not yet been admitted as a completed/tested repository change.
PharmacophoreMT boundary
Read-only inspection finds public feature extraction, feature correspondence/evaluation and rigid pharmacophore placement tools in PharmacophoreMT. DockingMT currently implements no pharmacophore perception, feature matcher or pharmacophore pose evaluator. Simple saved-input pair-distance summaries do not classify hydrogen bonds, hydrophobic sites or pharmacophoric interactions. Therefore no new missing PharmacophoreMT capability is established by this review and no speculative issue or dependency is warranted. The first accepted feature-guided scoring/filtering workflow must call its public tools and file any actual missing contract in that provider.
Ordered acceptance
- Retain qualified compatible MolSysMT
3502232d802ee2927f6b6f5d19f0ae045777ecb5, including delivered permutation and canonical form-owned readers. Its source, ordinary installed candidate and exact-head gates remain distinct from public file/pair admission. Original earlier artifacts and provider revisions retain their identities. - Retire available consumer duplicates: molecular writers, fallback construction and coordinate composition. Select the explicit compatibility policy for heuristic typing separately, preserving safe failure and original scientific evidence.
- Receive the already delivered provider tools under uibcdf/molsysmt#223, uibcdf/molsysmt#226 and uibcdf/molsysmt#348 at an explicitly qualified revision. Connectivity, H projection/charge transfer in both roles, source-free reconstruction and preparation stage-map composition are delegated; finish mapped native writing/reading with actual public calls and behavioral consumer tests. Later provider namespace/stage composition changes require separate receiving evidence. Provider maintainers own implementation and prioritization.
- Keep protocol interpretation, search/score execution and provenance in DockingMT. Preserve declared units, index spaces, named preparation attribution, original input/producer bytes, unsupported-input failures and source immutability in each migration.
- Close this issue only when the reviewed general operations are delegated or have a current bounded owner-linked exception with a removal condition. Passing current consumer tests alone is not architectural acceptance or chemical validation.
The original review made no runtime edits; subsequent migrations are recorded above and in the dated comments. Existing provider issues cover the discovered needs; do not create duplicates for the same themes.
- Lingua principale
- Python
- Stelle
- 1
- Fork
- 0
- Merge medio
- 30m
- PR unite (30g)
- 1
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di uibcdf/dockingmt
-
component:molsysmt component:molsysviewer
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
-
proposal
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
-
partial proposal
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
component:molsysmt enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
component:molsysmt component:molsysviewer enhancement partial
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di uibcdf/dockingmt
Issue simili
-
parse names a key after a top-level multi() threshold Bitcoin Core v31.1 refuses as not validAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
btclib-org/btclib-wallet#587 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Judgment-Pack/judgment-pack-spec#275 ·
I maintainer di solito rispondono entro 1 giorno
-
ai-generated
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue priority: low size: XS
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
yeongseon/azure-functions-doctor-python#651 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Changaco/python-libarchive-c#146 ·