Waters FUNC .IDX File Structure
This format stores information about UV and MS spectra.
These files are named something like _FUNC001.IDX.
Each FUNC .IDX file is paired by number with a FUNC .DAT file (which may be in the 2-byte, 6-byte, or 8-byte format). For example, _FUNC001.IDX is paired with _FUNC001.DAT.
FUNC .IDX files store the retention times as well as the number of data pairs recorded at each retention time. A data pair refers to a pair of mz-intensity or wavelength-absorbance values. The paired FUNC .DAT file stores the data pairs.
A FUNC .IDX file is comprised of contiguous 22-byte segments, one for each retention time. All known values in this file format are little-endian and unsigned. In order from start to end:
Data Type |
Purpose |
|---|---|
1 int |
Offset of data in the paired FUNC .DAT |
22 bits |
Number of data pairs in the paired FUNC .DAT |
10 bits + 4 bytes |
UNKNOWN |
1 float |
Retention time (in min) |
6 bytes |
UNKNOWN |
The entire file can be visualized by the following diagram. The segments are not drawn to scale.
+---------------------+--------------+---------+--------+---------+
| offset in FUNC .DAT | # data pairs | UNKNOWN | time 1 | UNKNOWN |
+---------------------+--------------+---------+--------+---------+
| offset in FUNC .DAT | # data pairs | UNKNOWN | time 2 | UNKNOWN |
+---------------------+--------------+---------+--------+---------+
| offset in FUNC .DAT | # data pairs | UNKNOWN | time 3 | UNKNOWN |
+---------------------+--------------+---------+--------+---------+
| continues for every retention time |
+-----------------------------------------------------------------+
NOTE: FUNC .IDX files for Waters HRMS data have a different file structure. This is not documented because it is not yet understood.