Leandro Martínez, Ana B. B. Lima
High Resolution Image Download MS PowerPoint Slide We present PDBTools.jl, a lightweight and high-performance Julia package for reading, writing, selecting, and analyzing molecular structure data stored in PDB and mmCIF (PDBx) file formats. The package provides a compact and memory-efficient atom representation based on inline strings and single-precision floating-point coordinates, enabling the handling of very large structures on standard hardware. A flexible and customizable atom selection syntax inspired by VMD is augmented by native support for arbitrary Julia functions as selectors, offering exceptional expressiveness and performance for dynamic queries. Beyond file I/O and selection, PDBTools.jl includes high-performance implementations of key structural analysis algorithms: solvent-accessible surface area (SASA) calculation via the Shrake–Rupley method with Fibonacci lattice sampling, hydrogen bond detection, contact and distance maps, backbone dihedral angles for Ramachandran analysis, secondary structure assignment through integration with STRIDE and DSSP, and protein transfer free energy ( m -value) calculations using the Tanford additive model. Cell list-based neighbor finding ensures O(N) scaling for distance-dependent operations with support for periodic boundary conditions. PDBTools.jl is designed for molecular dynamics simulation workflows and integrates with Chemfiles.jl, MolSimToolkit.jl, and ComplexMixtures.jl. The package is freely available under the MIT license from the Julia General Registry, and full documentation can be found at https://m3g.github.io/PDBTools.jl .