Commit History

  1. Add 3-stage CIF fallback: pymatgen → CifParser(occ_tol=2) → ASE

    Verified signature
    dee5407
  2. Fix GitHub link (MujeebOnawole/PoreGCN) + robust CIF fallback parser

    Verified signature
    4699ae9

  1. app.py: remove inaccurate claim that Tb-MOF reproduces same Scenario pattern under both XAI modes

    Verified signature
    03afb76
  2. app.py: rename Full to Slow + plain-language Fast/Slow XAI explainer (predicted values are the same; only attribution method differs); add optional Goatcounter visitor-tracking pixel via GOATCOUNTER_CODE env var

    Verified signature
    aa6fcec
  3. app.py: drop the offline-pipeline bullet from the How-to-use list

    Verified signature
    94d305d
  4. app.py: per-property XAI in Fast mode (~35s, all rows correctly classified); Full stays target-only with Fast surrogate for other rows; About tab rewritten with honest how-to-use guidance

    Verified signature
    665ce0b
  5. app.py: load property_means from per-ensemble JSON; classify_scenario uses manuscript dual criteria (ratio>=0.70 OR mean signed direction)

    Verified signature
    5d54b77
  6. xai_engine.py: load property_means from per-ensemble JSON; classify_scenario uses manuscript dual criteria (ratio>=0.70 OR mean signed direction)

    Verified signature
    6840926
  7. app.py: Fast/Full XAI toggle + skip +0.00 cavity labels + About Ensembles and XAI explainer

    Verified signature
    fc07617
  8. visualize.py: Fast/Full XAI toggle + skip +0.00 cavity labels + About Ensembles and XAI explainer

    Verified signature
    8ffab12
  9. xai_engine.py: Fast/Full XAI toggle + skip +0.00 cavity labels + About Ensembles and XAI explainer

    Verified signature
    e94c824
  10. app.py: swap bundled CoRE MOF validation example to Tb-MOF (dual-method 5 of 7 Scenario A)

    Verified signature
    e3b1b88
  11. example_cifs: remove Zn-MOF-ChemSci2019 (replaced by dual-validated Tb-MOF)

    Verified signature
    191d5c3
  12. example_cifs: bundle Tb-MOF (CrystEngComm 2023, dual-XAI-method validated CoRE MOF entry)

    Verified signature
    a71a2cd
  13. app.py: wire 4th example (Zn-MOF-ChemSci2019 -> core_mof) into KNOWN_MOFS + About Ensembles

    Verified signature
    ff6d2df
  14. example_cifs: bundle Zn-MOF (Chem. Sci. 2019, CoRE MOF entry) for trustworthiness validation

    Verified signature
    67ed2da
  15. app.py: legend matches viewer (cornflower-blue metals + cavity attribution chips); slim footer with email

    Verified signature
    6cd3aea
  16. visualize.py: legend matches viewer (cornflower-blue metals + cavity attribution chips); slim footer with email

    Verified signature
    0093cd6
  17. app.py: smaller cavity beads + per-bead attribution labels + wrap atoms to [0,1) + clip mesh to cell

    Verified signature
    616964d
  18. visualize.py: smaller cavity beads + per-bead attribution labels + wrap atoms to [0,1) + clip mesh to cell

    Verified signature
    d4dbab9
  19. visualize.py: revert axis tip labels to crystallographic a/b/c

    Verified signature
    bbb39ac
  20. app.py: manual white wireframe + xyz labels; one example per ensemble; About Ensembles tab

    Verified signature
    90c28dd
  21. visualize.py: manual white wireframe + xyz labels; one example per ensemble; About Ensembles tab

    Verified signature
    e285d26
  22. app.py: opaque mesh (0.55) + opaque beads + white wireframe + xyz axis labels

    Verified signature
    abcab2f
  23. visualize.py: opaque mesh (0.55) + opaque beads + white wireframe + xyz axis labels

    Verified signature
    53d0143
  24. fix: align void mesh with 3Dmol standard CIF frame; switch viewer to black bg

    Verified signature
    f322f95
  25. visualize.py: harden void mesh (per-axis grid clamp, vertex cap, full failure fallback to atoms+beads)

    Verified signature
    8a083e9
  26. requirements.txt: Mercury-style void isosurface (Path D, contact-surface mesh + attribution glyphs)

    Verified signature
    8a9b74c
  27. visualize.py: Mercury-style void isosurface (Path D, contact-surface mesh + attribution glyphs)

    Verified signature
    a3e5d61

  1. visualize.py: cavity-scale pore spheres (Lisensky and Yaghi 2022 idiom)

    Verified signature
    70c1de5
  2. Pore markers: fixed 0.6A radius (color carries signal, not size)

    Verified signature
    cc7bc34
  3. Replace per-node occlusion with gradient x input attribution (O(1) backward, ~150x faster)

    Verified signature
    ef1d899
  4. Cap per-pore occlusion XAI to 40 largest pores (free CPU compute budget)

    Verified signature
    7600a84
  5. Polyhedra-style aesthetic: indigo metal SBUs

    Verified signature
    cd8db27
  6. Robust Zeo++: try -nt2 then -vornet, copy CIF first

    Verified signature
    b9e275d
  7. Wire CSV download in tab 4

    Verified signature
    ac06113
  8. Hover shows attribution + add CSV export helper

    Verified signature
    70ee8c8
  9. Drop -r from Zeo++ command (incompatible with -vornet)

    Verified signature
    b50c1d3
  10. Add 3Dmol hover tooltip + element legend

    Verified signature
    0ec7f0f
  11. Fix Zeo++ command (-vornet with explicit output path) + parser for both formats

    Verified signature
    bf60f31
  12. Use bundled Zeo++ tarball as primary source

    Verified signature
    de3213d
  13. Bundle Zeo++ source tarball (HF outbound network corrupts download)

    Verified signature
    9eae5ab
  14. Add stick bonds via 3Dmol auto-bond detection

    Verified signature
    5ea9020
  15. Use Jmol colorscheme (bwr gradient name was invalid in 3Dmol.js)

    Verified signature
    4db88b7
  16. Fix 3D viewer: render all atoms as spheres (sticks need bonds CIF lacks)

    Verified signature
    f8450ca
  17. Initial PoreGCN web tool deployment

    Verified signature
    45a751d
  18. initial commit

    Verified signature
    369218c