Jungfraujoch
A diffraction image beside the placed model in its electron density, over the timeline of the live analysis: the detector lane of an 18 s collection and the Rugnux lane ending 4.9 s after the last image
Cytochrome C at SLS X10SA: 1800 images at 100 Hz, merged and the AlphaFold model placed 4.9 s after the last image

Paul Scherrer Institute · open source

From the detector to merged data and refined structures.

Software for X-ray diffraction data: Rugnux takes a stored dataset from the images to merged data with one command, and with a model on to a refined structure and maps; the Viewer shows what is in it, and Jungfraujoch acquires it from the detector at full speed.

rugnux <diffraction image file>rugnux <diffraction image file> <CIF/PDB model file>

Data processing

Rugnux

Takes a macromolecular diffraction dataset, a synchrotron rotation sweep or XFEL serial stills, from the images to merged data: spot finding, indexing, integration, scaling and merging, with the space group, cell and resolution decided from the data and a report that says on what evidence. Writes .mtz, .cif and .hkl for the programs that come next. Given an atomic model it goes on to a refined structure: the model is placed (as a rigid body or by molecular replacement) and refined, and the maps and the unexplained difference-density blobs are written beside it. Validated on public data: over 200 rotation datasets and eleven XFEL serial datasets.

Linux · macOS · Windows · command line · fast on an NVIDIA GPU, works without one

Desktop application

Jungfraujoch Viewer

Shows what is in a dataset: every image with its spots, predictions and resolution rings, per-image statistics over the sweep, grid-scan maps, and the same processing pipeline as Rugnux, run from a settings panel on the open file. Follows a live collection from a running Jungfraujoch broker.

Linux · macOS · Windows · Qt 6

Data acquisition

Jungfraujoch

The acquisition and real-time analysis system for the PSI JUNGFRAU and EIGER detectors, and for DECTRIS detectors through their control unit: an FPGA and GPU pipeline that takes the detector's frames at full rate, analyses them on the fly, streams them to the NXmx HDF5 writer and serves a web interface and REST API to the beamline.

Linux servers · AMD Alveo U55C FPGA · NVIDIA GPUs

Download

Pre-built, signed where the platform asks for it, nothing to install beside them.

Rugnux

One self-contained executable. Unpack the archive into a directory of its own and run bin/rugnux; no CUDA toolkit, no Qt, no service. On a machine with an NVIDIA GPU take the GPU build, which also runs without one. Details, packages and building from source.

{{downloads:rugnux}}

Jungfraujoch Viewer

A desktop application with the Qt runtime included: a portable archive on Linux, a notarized disk image on macOS, an installer on Windows. Details and building from source.

{{downloads:viewer}}

Jungfraujoch, the acquisition system

Installed on the beamline's Linux servers from the RPM and APT repositories (jfjoch, jfjoch-writer, jfjoch-driver-dkms, jfjoch-viewer, rugnux), with the FPGA firmware and the writer's packages attached to every release. Deployment is the step-by-step guide; Release contents says what each package needs on the machine.

Free to use, in academia and industry

Rugnux, the viewer and the Jungfraujoch services are free software under the GNU General Public License v3; the FPGA design is released under the CERN Open Hardware Licence v2, strongly reciprocal. Both let anyone use, study and modify the software and the hardware design at no charge, commercial use included; what they ask is that a modified version which is passed on is shared under the same terms. The released binaries bundle third-party components under GPL-compatible licences, and the CUDA builds the NVIDIA CUDA runtime under NVIDIA's EULA: see the third-party notices.