Published July 24, 2026 | Version v2

Hierarchical Resolution Calculations of Biomolecular Information

Description

Overview

This repository holds source code and results used in Kinz-Thompson and Ray, DOI: 10.1101/2023.10.17.562748. Code is written in Python, and running it requires the following libraries: `numpy`, `scipy`, `matplotlib`, `h5py`, `numba`, and `requests`.  Data is saved in plain text, or self-described HDF5 format.

Calculations

1. Sensitivity Simulations 

This calculation simulates images of a proto-molecule at different levels of peak signal-to-noise ratios (PSNR), and then analyzes the images using hierarchical resolution calculations. The results are shown in Fig. 3. 

Source Files:

Filename Format Description
resolution_criterion_fxns.py

Python

A library of functions required for the hierarchical resolution calculation. The calculation uses this file. It is not something that is run by itself.
plot_snr_curves.py Python Simulates images, analyzes them, saves the results in `sensitivity_simulations.hdf5`, and then makes a plot of <P> vs. normalized PSF width as a function of PSNR.
plot_snr_examples.py Python Makes plots of the cross-sectional profile and example simulated images.

 

Data Files:

Filename Format Description
sensitivity_simulations.hdf5 HDF5 Holds all data used to make the plot of <P> vs. normalized PSF width as a function of PSNR. This data is plotted in Fig. 3.

2. Nearest Neighbor Distances

This calculation searches through the majority of the structures deposited in the Protein Data Bank (PDB) to investigate the distribution of distances from residue to nearest residue. This results are shown in Fig. S1. Note: downloading this many structures from the PDB requires a significant amount of storage space. 

Source Files:

Filename Format Description
mmcif.py Python A library without much overhead to load in compessed .cif.gz files into a custom `molecule` class where residues can be located
calculate_distances.py Python Queries the PDB for relevant structures, downloads all the .cif.gz files in the PDB using rsync, calculates the nearest-neighbor distance for each residue in each structure using multiprocessing, collects all the results into a single HDF5 file (`distance_histograms.hdf5`), makes a composite histogram of all results (`distance_histogram.txt`), and finally plots the histogram.
sigma0_calc.py Python Radially integrates a 3D Gaussian to find the radius where half of the density is below a cutoff and half is above.

 

Data Files:

Filename Format Description
distance_histograms.hdf5 HDF5 Each entry key is a PDBID, and the associated dataset is the histogram of nearest-neighbor distances. Also includes an entry 'hx' which is the left-bind edge of the histograms (common to all).
distance_histogram.txt ASCII Text A composite histogram of all the histograms in `distance_histograms.hdf5`. Can be loaded using numpy's `np.loadtxt()`. This data is plotted in Fig. S1.

 

Files

distance_histogram.txt

Files (609.6 MB)

Name Size
md5:b00550712191f98bb409f30e2b5c54d6
8.7 kB Download
md5:dad2749264fecc1e3d14f9539740a9ae
100.0 kB Preview Download
md5:3998bd18b30df45e528ef328618e1a95
609.4 MB Download
md5:35902dcba509e91389af3539d9c421be
11.4 kB Download
md5:c0adc00999df5d5b3bcabb54a3bf1ae7
3.9 kB Download
md5:63c3f79863f708c3d319906a0081954c
3.7 kB Download
md5:2c27f179603647e1cd3e688caa04d788
7.3 kB Download
md5:298b8043bdd5e2fde2a96ef144ffb3e0
13.0 kB Download
md5:a7d35abdd1254d7389726c2cb366a15e
640 Bytes Download