You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wanted to flag what looks like a scale inconsistency between two surfaces of the same ESMFold2InputBuilder().fold() return object, and check whether it's intentional or worth a docs note.
Tested against commit:81b3646c9429ea8458918415ad6a46178cb59833 (the pin in modal-labs/modal-examples for protein-folding/esmfold2.py). I haven't tested against main or other revisions, so the behavior may differ there.
Setup: default biohub/ESMFold2 weights, single 53-residue chain (MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQAPILSRVGDGTQDNLSGAEK), num_loops=3, num_sampling_steps=50, num_diffusion_samples=1, seed=0, on a Modal H100.
Same metric, same call, two different scales depending on whether you read the raw tensor or the mmCIF text. The B-factor scale matches the AlphaFold / ESMFold-v1 convention (so pymol spectrum b, 50, 90 "just works" on the written file), but the tensor doesn't — and result.plddt's docstring doesn't mention the scale, so a downstream caller plotting from the tensor sees values clustered around 0.5 where they'd expect 50.
Question: is this intentional (raw tensor as "model output," to_mmcif() as "presentation layer" that conforms to PDB B-factor convention), or unintentional? Either way, a one-liner on result.plddt clarifying the scale would save the next integrator the round trip — happy to send a docs PR if useful.
Receipts: integrated this into Sheaf v0.11 (a serving layer for non-text foundation models); the full verification trail with the H100 smoke output is in ADR-0001 if it helps reproduce.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Wanted to flag what looks like a scale inconsistency between two surfaces of the same
ESMFold2InputBuilder().fold()return object, and check whether it's intentional or worth a docs note.Tested against commit:
81b3646c9429ea8458918415ad6a46178cb59833(the pin inmodal-labs/modal-examplesforprotein-folding/esmfold2.py). I haven't tested againstmainor other revisions, so the behavior may differ there.Setup: default
biohub/ESMFold2weights, single 53-residue chain (MKTAYIAKQRQISFVKSHFSRQLEERLGLIEVQAPILSRVGDGTQDNLSGAEK),num_loops=3,num_sampling_steps=50,num_diffusion_samples=1,seed=0, on a Modal H100.Observation:
Same metric, same call, two different scales depending on whether you read the raw tensor or the mmCIF text. The B-factor scale matches the AlphaFold / ESMFold-v1 convention (so
pymol spectrum b, 50, 90"just works" on the written file), but the tensor doesn't — andresult.plddt's docstring doesn't mention the scale, so a downstream caller plotting from the tensor sees values clustered around 0.5 where they'd expect 50.Question: is this intentional (raw tensor as "model output,"
to_mmcif()as "presentation layer" that conforms to PDB B-factor convention), or unintentional? Either way, a one-liner onresult.plddtclarifying the scale would save the next integrator the round trip — happy to send a docs PR if useful.Receipts: integrated this into Sheaf v0.11 (a serving layer for non-text foundation models); the full verification trail with the H100 smoke output is in ADR-0001 if it helps reproduce.
Beta Was this translation helpful? Give feedback.
All reactions