Releases: 001TMF/ProteinView
Releases · 001TMF/ProteinView
v0.3.0 — SSH-Aware Render Modes & Interface Interactions
What's New
3-Tier Render Mode System
- Braille — text-based, works everywhere including SSH and tmux
- HD (
mkey) — Lambert-shaded colored braille with z-buffer and depth fog - FullHD (
Mkey) — Sixel/Kitty pixel graphics with custom PNG compression
SSH-Aware Rendering
--hdauto-detects SSH: defaults to fast HD (text) over SSH, FullHD locally--fullhdforces pixel graphics regardless of connection- PNG-compressed Kitty protocol (~10-20x smaller than raw RGBA) makes FullHD viable over SSH
- Warning shown when entering FullHD over SSH
Interface Interaction Visualization
- Press
I(Shift+I) when interface mode (f) is active - Dashed lines between interacting atom pairs, color-coded:
- Cyan: hydrogen bonds (≤3.5Å)
- Red: salt bridges (≤4.0Å)
- Yellow: hydrophobic contacts (≤4.5Å)
- Gray: other contacts
- Sidebar panel shows interaction counts with color legend
Other Improvements
- Auto-scaling line thickness based on framebuffer resolution
- Smooth auto-rotate with dt clamping (no jitter on frame skips)
- pLDDT confidence coloring for AlphaFold structures
- Help overlay panic fix on small terminals
- 115 tests passing
Full Changelog
v0.2.6 — Production Cleanup
What's Changed
- Chain color scheme now correctly colors ligands by their parent chain (was fixed magenta)
- Added 4HHB integration test verifying HEM ligand parsing
- Suppressed clippy warning on render function
- Version bump for production release
Full small molecule support was added in v0.2.5 — see that release for details.
v0.2.5 — Small Molecule Support
What's New
Small Molecule Support
- Parse HETATM records — ligands rendered as ball-and-stick, ions as spheres
- Water molecules (HOH/WAT) automatically filtered from display
- Classification: multi-atom molecules as Ligands, single-atom metals as Ions
- Works in both HD (3D shaded spheres + sticks) and Braille modes
- Toggle visibility with
gkey
Ligand Binding Pocket Analysis
- Detects polymer residues within 4.5Å of each ligand
- Shows binding pocket contacts in the interface panel
- Per-ligand summary with closest residues and distances
Extended Element Coloring
- CPK palette expanded: Mg, Zn, Ca, Mn, Co, Cu, Ni, Cl, Br
- Ligands colored magenta (Structure), cyan for ions, or by element (CPK mode)
- Chain mode colors ligands by parent chain
Bug Fix
- NMR multi-model PDB files now load correctly (only first model used)
- Fixes GitHub issue #1: RNA structures like 2KGP no longer crash or show duplicates
Stats
- 65 tests passing
- 18 files changed, 1170 insertions
v0.2.0 — RNA/DNA Support + Depth Tinting
What's New
RNA/DNA Structure Support
- Full rendering support for nucleic acid structures across all three visualization modes (Backbone, Wireframe, Cartoon)
- Backbone mode uses C4' trace for nucleic acids (vs CA for proteins)
- Wireframe mode renders phosphodiester bonds (O3'→P) between nucleotides
- HD Cartoon mode features triangle-mesh tube backbone + 3D shaded base slabs
- Nucleotide base-type coloring in Structure scheme: A=red, U/T=blue, G=green, C=yellow, I=purple
24-bit Depth-Tinted Shading (HD mode)
- Post-pass depth fog blending toward cool blue-gray tone
- Gives vivid foreground and desaturated background
- Applies uniformly across all rendering modes (triangles, lines, circles)
Other
- Centralized nucleotide constants and backbone detection
- 52 tests passing
v0.1.0 — Initial Release
ProteinView v0.1.0
Terminal protein structure viewer with interactive 3D visualization.
Features
- Cartoon ribbon rendering with depth fog and Lambert shading
- 3 visualization modes: Cartoon, Backbone, Wireframe
- 5 color schemes: secondary structure, chain, element, B-factor, rainbow
- Braille rendering — colored Unicode braille (2x4 dots per cell), works everywhere including SSH
- HD pixel rendering — Sixel/Kitty/iTerm2 graphics protocol support via ratatui-image
- Protein-protein interface analysis — detect and highlight inter-chain contacts
- PDB and mmCIF format support with secondary structure parsing
- Fetch from RCSB PDB by ID (
--fetch, optional feature) - Vim-style keybindings with auto-rotation
Install
cargo install --path .Quick Start
proteinview examples/4HHB.pdb # braille mode
proteinview examples/4HHB.pdb --hd # HD pixel mode