frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: PyMOL-RS – Rust reimplementation of PyMOL with modern rendering

https://github.com/zmactep/pymol-rs/releases/tag/v0.1.0
3•zmactep•1h ago
Well, it happened. After endless release candidates, we've finally made it to v0.1.0.

What's inside:

GPU-accelerated rendering with WebGPU shaders, shadows, and goodies like silhouette edges and a special soft-light mode

Core operations run up to 1000x faster than the original PyMOL. Surface generation that used to send you on a coffee run now finishes the moment you hit the button

Full PyMOL selection algebra support — 95+ keywords, boolean logic, distance/expansion operators, slash-macros

Distance, angle, and dihedral measurements, atom labels — everything you need for structural analysis

Python API — from pymol_rs import cmd and you're right at home

PDB, mmCIF, BinaryCIF, SDF/MOL, MOL2, XYZ, GRO — read and write, automatic format detection, transparent gzip decompression

Scenes, movies, ray tracing — all on the GPU

Kabsch superposition, CE alignment, RMSD, DSS, symmetry across all 230 space groups

Out of PyMOL's 798 original settings, some number of them actually work. Nobody knows exactly how many, but it's definitely in the hundreds. Plus we've added new settings that the original never had — like per-chain surface generation

13 independent crates — if you're writing Rust, you can use just the selection parser, the file readers, or the full GUI. No monolith

Comments

dalke•57m ago
You might mention in other forums, like the RDKit mailing list (though that's almost moribund).

I looked at the SDF reader, since that's what I know best. I see a few things which look like they need revisiting.

Line 75 has 'if name == "$$$$" {return self.parse_molecule();}' This isn't correct. This means the record name is "$$$$" (if you are RDKit), or it means the record is in the wrong format (if you are the CTFile specification, which explicitly prohibits that).

Also, does Rust have tail recursion? If not, the recursive nature of the code makes me think parsing a file containing 1 million lines of the form "$$$$\n" would likely blow the stack.

In principle the version number test for V2000 or V3000 should look at the specific column numbers, and not presence somewhere in the line. Someone like me might place a "V3000" in the obsolete fields, with a "V2000" in the correct vvvvvv field. ;)

The "Skip to end of molecule" code will break on real-world datasets. One classic problem is a company which used "$", "$$", "$$$" and "$$$$" to indicate cost, stored as tag data like:

  > <price>
  $$$$

  $$$$
where the first "$$$$" is part of the data item, and the second "$$$$" is the end of the SD record. This ended up causing a problem when an SDF reader somewhere in their system didn't parse data items correctly. (Another common failure in data item parsing is to ignore the requirement for a newline after the data item.)

I talk about "$$$$" more at http://www.dalkescientific.com/writings/diary/archive/2020/0... .

Then there's the "S SKP" field, which you'll almost certainly never see it in real life! I've only seen it used in a published example of a JICST extended MOLfile. See http://www.dalkescientific.com/writings/diary/archive/2020/0...

Please don't like these comments get you down! These details are hard to get, and not obvious. It took me years to learn the rare corner cases.

I also haven't done molviz since the 1990s, or used PyMol (I was VMD person), so can't say anything about the overall project. We started with GL, and had to port to OpenGL. :)

Aalto University's Otaniemi campus network Trinet for students

https://netstat.ayy.fi/weathermap/
1•noyesno•1m ago•0 comments

Say goodbye to budget PCs and smartphones – memory is too expensive now

https://www.theregister.com/2026/02/26/memory_price_hikes/
1•giuliomagnifico•1m ago•0 comments

If code is cheap, intent is the currency

https://zknill.io/posts/commit-message-intent/
1•zknill•2m ago•0 comments

Ask HN: Does using LLMs kill the "Alpha" of your creativity?

1•sparkcreativity•2m ago•0 comments

Aikido launches infinite pentesting – Automated pentesting on every release

https://www.aikido.dev/blog/introducing-aikido-infinite
3•advocatemack•3m ago•0 comments

Cribsheet: A Data-Driven Guide to Better, More Relaxed Parenting

https://www.ahalbert.com/reviews/2026/02/26/cribsheet.html
2•ahalbert4•4m ago•0 comments

Linux 7.0 is coming: What to expect from the next major kernel release

https://www.linuxjournal.com/content/linux-70-coming-what-expect-next-major-kernel-release
2•teleforce•4m ago•0 comments

Mapping the UK PyData Community

https://hughevans.dev/mapping-the-pydata-community-2/
1•HughEvansDev•4m ago•0 comments

Number of UK workers on zero-hours contracts hits record high ahead of crackdown

https://www.bbc.co.uk/news/articles/czj1m7d4gxpo
1•robtherobber•5m ago•0 comments

Show HN: Ship or Slop – AI agents submit projects, humans judge them

https://shiporslop.xyz
1•vulpez•6m ago•0 comments

Show HN: Agent Swarm – Multi-agent self-learning teams (OSS)

https://github.com/desplega-ai/agent-swarm
3•tarasyarema•7m ago•1 comments

Show HN: Mockingjay – Video recorder that encrypts and uploads as you record

https://apps.apple.com/no/app/mockingjay-secure-recorder/id6758616261
1•tskulbru•8m ago•0 comments

NYS Attorney General Sues Valve for Promoting Illegal Gambling with Loot Boxes

https://ag.ny.gov/press-release/2026/attorney-general-james-sues-game-developer-promoting-illegal...
1•Cutlets•8m ago•0 comments

Show HN: One grammar, 18 YAML parsers – a Futamura projector in Common Lisp

https://github.com/johnagrillo62/yaml-project
2•johnagrillo62•8m ago•0 comments

The Bottleneck Is Not Where You Think

https://somehowmanage.com/2026/02/25/the-bottleneck-is-not-where-you-think/
1•Ozzie_osman•9m ago•0 comments

Show HN: Io Game to Clean the Earth

https://whirr.io
1•agreeablesnow•10m ago•0 comments

Nihilistic Violent Extremism

https://en.wikipedia.org/wiki/Nihilistic_violent_extremism
3•doener•10m ago•0 comments

A Conversation with Manfred von Thun

https://www.nsl.com/papers/interview.htm
1•tosh•11m ago•0 comments

Protecting the TikTok community during the Hungarian parliamentary elections

https://newsroom.tiktok.com/protecting-our-communitys-experience-on-tiktok-during-the-hungarian-p...
1•jamonserrano•12m ago•0 comments

Why your coworker is pretending to be so busy

https://www.businessinsider.com/ai-anxiety-layoffs-cause-more-productivity-theater-performative-h...
3•cebert•15m ago•1 comments

Save the King Game

https://save-the-king.com/
1•leolula•17m ago•0 comments

Claude Code Bug triggers Rate limits without usage

1•busssard•17m ago•0 comments

Gitzy is now on TestFlight A modern, native iOS Git client

https://testflight.apple.com/join/SB16NCfr
1•marc0janssen•18m ago•1 comments

Show HN: Revent – Enterprise device subscription platform built on Replit

https://replit.com/customers/revent
1•singh_baldeep•18m ago•0 comments

An Autonomous OpenClaw Chatbot Wanted Revenge

https://www.nytimes.com/2026/02/23/opinion/chatbots-open-claw.html
1•bookofjoe•19m ago•1 comments

Peering into Privacy: A Deep Dive into the Monero Network Topology

https://probelab.io/blog/peering-into-privacy-a-deep-dive-into-the-monero-network-topology/
3•dennis-tra•19m ago•0 comments

Codeown, A platform for developers to document and share their shipping journey

https://codeown.space/
1•amin2011•20m ago•1 comments

Tell HN: Silent Netcup Domain Registrar DNSSEC Failure

1•antonly•22m ago•0 comments

A Brighter Future for Bazzite (Open Gaming Collective)

https://universal-blue.discourse.group/t/a-brighter-future-for-bazzite/11575
1•SockThief•24m ago•1 comments

Men in their 50s may be aging faster due to toxic 'forever chemicals'

https://www.cnn.com/2026/02/26/health/forever-chemicals-aging-men-wellness
11•jb1991•25m ago•2 comments