Excited to share our paper about copick, a dataset API and toolkit for collaborative annotation and analysis of #cryoET data! Whether you're picking particles or curating segmentations, copick reduces friction and brings #OME-Zarr to cryoET without breaking pipelines.
🧵👇
doi.org/10.1002/pro.70578
Posts by Alexander Rose
An illustration of an apical region of an animal cell in cross section, shown crowded with individual molecules. The plasma membrane is densely occupied by influenza virus glycoproteins, and from the surface bud influenza virions with different morphologies (L-R): spherical, bacilliform, filamentous with a genome, filamentous and empty, filamentous with a helical inner layer, and filamentous with a cofilactin cytoskeleton.
🚨New pre-print!🚨
Because influenza virions are highly variable in form no single method can show their molecular architecture in detail. Here, we integrate multiple structural and compositional approaches to identify new features of these beautiful virus particles
www.biorxiv.org/content/10.6...
latest #molstar publication pulling all details on its graphics engine together - lots of pretty pictures
with Gianluca Tomasello (@proteinimaging.bsky.social), Áron Samuel Kovács, @ludovicautin.bsky.social, David Sehnal
pmc.ncbi.nlm.nih.gov/articles/PMC...
Mesoscale model dynamics
Wiggle atoms based on B-factor
Trying some procedural animation for #molstar. Not real in any sense but intended to convey dynamics.
github.com/molstar/mols...
re: attempted to guess bond orders - this is exactly my experience with scaling things, it is always those useful small details that re troublesome
Cutaway and close-up views of a Martini coarse-grained whole-cell model of JCVI-syn3A, showing the densely packed cytoplasm with proteins, RNA, metabolites, and chromosome inside a lipid membrane with embedded membrane proteins
Our paper on [Bentopy](doi.org/10.1002/pro....) is out in Protein Science! We developed Bentopy to make assembling large-scale MD models more accessible, building on what we learned from trying to simulate whole-cell models. Here's our updated Martini JCVI-syn3A cell model👇
Register for the January 26 Webinar on Advanced Search
Register for this January 26 webinar to learn what is new in the redesigned Advanced Search feature and how to use it
go.rutgers.edu/ijwpxr1h
Congrats to the 2025 #NobelPrize laureates in chemistry.
Here are some #molstar renderings of an AgFe mixed metal Metal Organic Framework to celebrate.
😂
#molstar now supports immersive AR/VR - enjoy
molstar.org/xr/
Watch the Pairwise Alignment Tool Office Hour and learn how to align one or more protein chains to a reference structure in a pairwise manner
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...
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/
sorry, trying better res
Isosurface of X-ray density only lit by emissive slice of same density. Illuminated in #molstar.
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)
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.
A quick molecule of the month render for November's Malaria Parasite PTEX (pdb101.rcsb.org/motm/299) using #b3d and #MolecularNodes
#GeometryNodes #SciArt
#ipymolstar v0.0.9: Added click interactions
try it on pycafé: py.cafe/jhsmit/ipymo...
Splendid, thank you
Try Mol* illumination mode: molstar.org/viewer/?illu...
Example: molstar.org/viewer/?snap...
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
A few notes on integrating SSGI into Mol*.
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
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
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
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.
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
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.
High quality lighting from "path-traced" screen-space global illumination. Even works with only emissive lights.
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
Gave a short presentation on Illuminating Molecules in #molstar at the November 2024 #WebGL & #WebGPU Meetup
www.khronos.org/events/webgl...