Alexander Rose
@asrose.bsky.social
560 followers 560 following 16 posts
Scientific software engineer & computational structural biologist, #molstar web molecular graphics developer.
Posts Media Videos Starter Packs
Pinned
asrose.bsky.social
#molstar now supports immersive AR/VR - enjoy

molstar.org/xr/
asrose.bsky.social
Congrats to the 2025 #NobelPrize laureates in chemistry.

Here are some #molstar renderings of an AgFe mixed metal Metal Organic Framework to celebrate.
asrose.bsky.social
#molstar now supports immersive AR/VR - enjoy

molstar.org/xr/
Reposted by Alexander Rose
rcsbpdb.bsky.social
Register for the Aug 11 Virtual Office Hour on Pairwise Alignment
Learn how to align one or more protein chains to a reference structure in a pairwise manner
pdb101.rcsb.org/news...
PDB101: Register for the Aug 11 Virtual Office Hour on Pairwise Alignment
PDB-101: Training, Outreach, and Education portal of RCSB PDB
pdb101.rcsb.org
Reposted by Alexander Rose
jhsmit.bsky.social
New release for #ipymolstar: I've added a widget for the amazing and very powerful MolViewSpec. This allows you to control the camera📷from python🐍, as well as all other molviewspec features 🎉

ipymolstar repo: github.com/jhsmit/ipymo...
Molviewspec: molstar.org/mol-view-spec/
Reposted by Alexander Rose
joachim123.bsky.social
sorry, trying better res
asrose.bsky.social
Isosurface of X-ray density only lit by emissive slice of same density. Illuminated in #molstar.
Reposted by Alexander Rose
jhsmit.bsky.social
You can try it on Huggingface: huggingface.co/spaces/Jhsmi...

The data is only encoded in the link and not stored so you can use it to share unpublished data*

(at your own risk, no warranty, links might stop working)
Ipymolstar Annotate Colors - a Hugging Face Space by Jhsmit
Annotate protein structural models with colors
huggingface.co
Reposted by Alexander Rose
jhsmit.bsky.social
Here's a neat way to share you protein-annotated data 🚀🧪

Upload your .csv with residue/value data, select data column, colormap and norm to interactively color your protein model.

Then, add title/description and click the button to open a shareable view with url-encoded data and settings.
Reposted by Alexander Rose
bradyajohnston.bsky.social
A quick molecule of the month render for November's Malaria Parasite PTEX (pdb101.rcsb.org/motm/299) using #b3d and #MolecularNodes

#GeometryNodes #SciArt
Reposted by Alexander Rose
jhsmit.bsky.social
#ipymolstar v0.0.9: Added click interactions

try it on pycafé: py.cafe/jhsmit/ipymo...
asrose.bsky.social
Splendid, thank you
asrose.bsky.social
A few notes on integrating SSGI into Mol*.
Integration

Progressive rendering
Keep viewport interactive
Use requestAnimationFrame
Also check `gl.SYNC_GPU_COMMANDS_COMPLETE` if available
Because requestAnimationFrame may fire even if GPU is still busy
Adjust quality parameters based on previous iterations’ render time
Adjust denoise threshold to hide graininess
So instead of grainy to non-grainy it goes from blurry to non-blurry
Screenshots
Browsers may lose the WebGL context if render time of a single frame is too large or too many frames are submitted to the GPU
Check `gl.SYNC_GPU_COMMANDS_COMPLETE` if available, otherwise use `gl.readPixels` to wait
Anti-aliasing
Since normals and direct-light are pre-calculated, jittering rays is not enough
Recalculate normals and direct light with jittered camera, trace and blend
asrose.bsky.social
For tracing in screen-space we need to recover thickness.
Want it automatic, not fiddle with parameters.

Insight: Molecules are shown with visuals of very different density.

So we do 2 things
1) Base thickness from front- and back-face depth
2) Density factor to adjust for each type of visual
Thickness

For tracing in screen-space we need to estimate the thickness
Automatic thickness (estimate)
Base thickness as max(backface depth) - min(frontface depth)
Per object density factor to adjust base thickness
Fixed thickness
Want to avoid as we have representations with different “densities”
Still support in-case user wants to do manual tweaks
asrose.bsky.social
Inputs are rendered by the same shader code as the standard rendering. There are just two extra output targets: normal + emissive strength and diffuse + density. Additionally we do a pass to get back face depth.
Tracing

Inputs
Shaded color (rgba, standard pass)
Normal (xyz) + emissive strength (w)
Diffuse color (rgb) + “density” (a)
Front depth
Back depth
Sampling
Backwards Monte Carlo
Only diffuse (“specular” from shaded input)
Russian Roulette to boost non-terminated rays
Tracing
Hit background
Return background color
Hit surface, then nothing
Return shaded color
Hit surface, bounce x times, then nothing
Return shaded color plus accumulated diffuse of bounces
Hit surface, bounce more than x times
Return no color
asrose.bsky.social
Main idea is to treat the SSGI as a progressive enhancement of sorts. Try to reuse as many of the passes used for normal rendering. And keep the overall look as similar as possible.
Passes

On change (camera, geometry, lighting, …)
Transparent geometry pass
Post-processing input passes
(outline, marking, transparent ssao)
Tracing input pass
Backface depth pass
Sampling
Tracing sample pass
Compose
Compose pass
(denoise, blend transparent geometry, apply outlines, transparent ssao)
Background pass
Antialiasing pass
Bloom pass
DoF pass
asrose.bsky.social
High quality lighting from "path-traced" screen-space global illumination. Even works with only emissive lights.
asrose.bsky.social
Gave a short presentation on Illuminating Molecules in #molstar at the November 2024 #WebGL & #WebGPU Meetup

www.khronos.org/events/webgl...
About Mol*

Suite of tools for 3D molecular data on the web
Custom WebGL rendering engine
Scales from single atoms to cells with billions

Wanted nicer lighting that still scales
“Path-traced” SSGI
Screen-space, so OK with billions of atoms
Sample-based, so good to adjust quality
asrose.bsky.social
How long does the denoiser take compared to the rest?
asrose.bsky.social
Hard to judge detail quality but looks so smooth, very nice.
Reposted by Alexander Rose
rborza.bsky.social
🚀 Excited about our pre-print:
AlphaBridge: A User-Friendly Tool for Interpreting Protein Predictions

Whether you're an expert or just new to the field of Protein Prediction, AlphaBridge is the way to go!

🔁Try it and share your thoughts!
📜 Article: www.biorxiv.org/content/10.1...