Spaces:
Sleeping
Sleeping
| """Proteoform Analyzer: mutation & PTM effect analysis for oligomeric proteins. | |
| A pipeline to analyze the effect of single-point mutations, post-translational | |
| modifications (PTMs), and their pairwise combinations (proteoforms) on proteins | |
| of arbitrary oligomeric state (monomers, dimers, tetramers, hexamers, etc.). | |
| Based on Lomoio et al., npj Systems Biology and Applications (2025), | |
| doi:10.1038/s41540-025-00582-2, generalized with PTM simulation via ptmpsi, | |
| binding-site prediction (P2Rank / alpha-sphere), and proteoform combinatorics. | |
| v3.0.0 replaces the local_pdb/AF3 structure sources with Boltz-2 folding | |
| (locally-runnable via HPC by default, or a local binary), adds a Boltz-2 | |
| co-folding docking engine, and adds RFAntibody-based antibody/nanobody design | |
| with a pluggable epitope-predictor interface. | |
| v3.1.0 fixes several local-run errors (graceful HPC/GPU skips when 'biomni' is | |
| absent, a restored chain-map helper, a DiffSBDD dependency pre-flight, a pocket | |
| detector cascade that never emits fake zeros, and PCN community-detection | |
| guards), wires *real* MHC epitope predictors (MHCflurry for MHC-I, IEDB | |
| NetMHCIIpan 4.3 BA for MHC-II), and adds interactive Plotly + static SVG/PNG | |
| visualizations for every result subsection. Ships README.md, requirements.txt, | |
| and pyproject.toml with optional-dependency extras. | |
| v3.1.1 focuses on honest local-mode results and GUI clarity: the composite | |
| impact score now drops degenerate (all-equal) components and renormalizes the | |
| weights over the informative ones, so local rankings reflect the terms that | |
| actually differ (locally, the ESM2 sequence-embedding distance) instead of | |
| being diluted by constants; the GUI drops all-zero proteoform / pocket / drift rows and shows an | |
| honest note instead of a misleading all-zero table or plot; the confusing | |
| pocket "volume is not a real measurement" wording is replaced with a clear | |
| explanation; empty docking panels are hidden instead of showing "No data yet"; | |
| the PCN 3D viewers render a cartoon baseline (not licorice); the PCN | |
| community-detection 0-d array crash (Louvain/Leiden/Infomap) is fixed in the | |
| vendored code; the Molecular Dynamics tab is simplified to an RMSD/RMSF overlay | |
| (legend-driven trace selection); the DiffSBDD pre-flight now detects | |
| installed-but-broken torch-scatter (ABI/version mismatch) and skips cleanly with | |
| an actionable message; and the biomni HPC "version incompatible" message is | |
| softened to explain that GPU/HPC steps are simply skipped in local mode. See | |
| CHANGES.md for the full list. | |
| v3.2.0 makes Boltz-2 folding, Boltz-2 docking, and BoltzGen ligand design | |
| runnable without the Biomni platform by routing all three through a single | |
| backend resolver (``core/steps/_boltz_backend.resolve_backend``): (1) the | |
| official hosted Boltz API (set ``BOLTZ_API_KEY`` or ``Boltz2Config.api_key``; | |
| ``pip install boltz_api``), (2) a local ``boltz`` / ``boltzgen`` install, then | |
| (3) the Biomni HPC backend, and finally (4) an honest ptm-psi graft fallback for | |
| folding only (backbone-identical, TM-score == 1.0), gated on | |
| ``allow_graft_fallback`` and only chosen when it can actually run. The GUI | |
| surfaces how structures were produced (a prominent warning when the graft | |
| fallback is used) and, for ``binding_site_method='reference'``, warns that | |
| pocket prediction and pocket drift cannot change (the reference site is a fixed | |
| box with no computed volume, and its center only moves if the backbone differs | |
| from WT). PCN centralities can now be shown as a viridis colormap on the | |
| structure (with a colorbar) alongside the diverging Δ-vs-WT view, plus a | |
| top-10 bar plot of the residues with the largest |Δ centrality| (name+id, | |
| signed +/-); PCN communities are coloured per community on the selected | |
| structure; and the 3D structure viewer colours cartoons by chain ID with a | |
| colorblind-safe legend. See CHANGES.md for the full list. | |
| Local-mode caveat: without a GPU / a local boltz install / a Boltz API key, | |
| mutant and proteoform structures are produced by side-chain grafting onto the | |
| wild-type backbone (no folding or relaxation). The backbone is therefore | |
| identical to WT, so TM-score == 1.0 is expected and the structural / binding / | |
| dynamics / network impact components are 0; the composite ranking then rests on | |
| the ESM2 sequence-embedding distance. Real structural divergence requires | |
| Boltz-2 folding (Boltz API or a local boltz binary on a GPU). | |
| v3.3.1 removes RFAntibody from the ligand_design engine options (the standalone | |
| opt-in ``antibody`` step is unchanged), adds a graceful Boltz-API auth-failure | |
| fallback (on a 401 / invalid-key error the pipeline warns once and falls back to | |
| a local Boltz install or the PTM-Psi graft, never surfacing the raw 401 text), | |
| and fixes the proteoform step to map mutation/PTM sites to ordinal-based | |
| selectors via ``map_site_to_structure`` (the same fix applied to the PTM step in | |
| v3.3.0), so author-numbered PDBs no longer cause "Residue could not be found" | |
| errors in proteoform generation. | |
| v3.4.0 removes the Biomni HPC backend entirely. Every step that previously | |
| submitted GPU jobs through the Biomni HPC API now runs locally or falls back | |
| cleanly, with no dependency on the Biomni platform: | |
| - The ``core/steps/_hpc.py`` shim and all ``hpc_run_tool`` / ``biomni.tool`` | |
| calls are deleted. Backend precedence is now: hosted Boltz API -> local | |
| binary -> (fold only) PTM-Psi graft -> clean skip. | |
| - **Boltz-2 folding & docking** run via the Boltz API or a local ``boltz`` | |
| binary (``--boltz2-local-binary``); folding keeps the backbone-identical | |
| graft fallback, docking skips cleanly when no backend resolves. | |
| - **Antibody design (RFAntibody)** runs the 3-stage pipeline | |
| (RFdiffusion_Ab -> ProteinMPNN -> RF2) *synchronously* on a local RFAntibody | |
| checkout (``--antibody-rfantibody-dir`` / ``config.antibody.local_rfantibody_dir``, | |
| weights via ``--antibody-weights-dir``); without it the step skips cleanly | |
| with install instructions. The old two-pass async HPC orchestration is gone. | |
| - **ddG (ThermoMPNN)** runs a local ThermoMPNN checkout when configured | |
| (``--thermompnn-dir`` + ``--thermompnn-checkpoint``); otherwise it falls back | |
| to the existing ESM2 zero-shot CPU scorer (Tier 2), so ddG always produces a | |
| result on CPU. | |
| - **BoltzGen** binder design runs via the Boltz API or a local ``boltzgen`` | |
| install. See CHANGES.md for the full list. | |
| Entry points: | |
| python -m proteoform_analyzer.cli # command-line interface | |
| python -m proteoform_analyzer.gui # Gradio web GUI | |
| """ | |
| from .core.config import ( | |
| AnalysisConfig, EngineChoice, ProteoformMode, BindingSiteMethod, HotspotSource, | |
| PTMConfig, MDConfig, Boltz2Config, AntibodyConfig, | |
| hemoglobin_fast_config, ttr_fast_config, p53_fast_config, | |
| ) | |
| __version__ = "3.4.0" | |
| __all__ = [ | |
| "AnalysisConfig", "EngineChoice", "ProteoformMode", "BindingSiteMethod", | |
| "HotspotSource", "PTMConfig", "MDConfig", "Boltz2Config", "AntibodyConfig", | |
| "hemoglobin_fast_config", "ttr_fast_config", "p53_fast_config", | |
| ] | |