Hierarchical Resolution Calculations of Biomolecular Information
Authors/Creators
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 |