schrodinger.application.bioluminate.pose_filtering.hdx_calc module

Provides a function for computing the residue-resolved deuteration uptake from a HDX CSV file.

Based in part on the methods described here:

T. R. Keppel and D. D. Weis. "Mapping Residual Structure in Intrinsically
    Disordered Proteins at Residue Resolution using Millisecond
    Hydrogen/Deuterium Exchange and Residue Averaging". _J. Am. Soc. Mass
    Spectrom._ (2015). 26:547--554. DOI: 10.1007/s13361-014-1033-6
exception schrodinger.application.bioluminate.pose_filtering.hdx_calc.MissingColumnsError(missing_columns=None)

Bases: ValueError


Exception.with_traceback(tb) – set self.__traceback__ to tb and return self.


Compute the deuteration uptake from an HDX CSV file.

This function expects a CSV file in the following format:

| Column Name    | Column Description   |
| Chain          | Chain                |
| Sequence       | Sequence             |
| Start          | Start Residue Number |
| End            | End Residue Number   |
| MaxUptake      | Maximum Uptake       |
| Uptake         | Observed Uptake      |

All columns must exist and column headers must be present. Header names must conform to the naming convention in ‘Column Name’.


filename – A string or path-like object pointing to the data file.


A series containing the weighted percent uptake per residue.

Return type



MissingColumnsError – If all columns are not present in file provided.

schrodinger.application.bioluminate.pose_filtering.hdx_calc.calc_delta_residue_uptake(filename_bound: str, filename_unbound: str) Optional[Dict[str, float]]