These notes describe the CSS1 layout observed in MS-DIAL 5
AlignResult*.EIC.aef files.
This is not an official MS-DIAL specification. Treat it as an implementation note for interoperability and QC tooling.
Observed numeric values are little-endian.
| Offset | Type | Description |
|---|---|---|
| 0 | char[10] |
Null-padded ASCII version string. Observed value: CSS1. |
| 10 | int32 |
Number of aligned features in the archive. |
| 14 | int64[feature_count] |
Absolute byte offsets to feature payloads. |
The offset table allows one aligned feature to be read without loading the full archive.
Each offset points to one aligned feature payload.
| Type | Description |
|---|---|
float32 |
Center retention time. |
float32 |
Center retention index. |
float32 |
Center m/z. |
float32 |
Center drift value. |
uint8 |
Chromatogram x-axis type. |
int32 |
Number of sample traces. |
Observed chromatogram x-axis type mapping:
| Value | Label |
|---|---|
0 |
rt |
1 |
ri |
2 |
drift |
3 |
mz |
Each feature contains one trace payload per sample/file.
| Type | Description |
|---|---|
int32 |
File/sample ID. |
int32 |
Number of chromatogram points. |
float32 |
Top/apex x position. |
float32 |
Left integration boundary x position. |
float32 |
Right integration boundary x position. |
float32, float32 repeated |
Chromatogram point pairs: x value and intensity. |
The x units depend on the feature's x-axis type. For ordinary LC-MS EICs this is typically retention time.
The Python and Rust readers expose one feature like this:
{
"version": "CSS1",
"feature_count": 1234,
"feature_index": 42,
"center": {
"rt": 5.12,
"ri": 0.0,
"mz": 302.1234,
"drift": -1.0,
"main_type": "rt"
},
"trace_count": 2,
"peaks": [
{
"file_id": 0,
"point_count": 120,
"returned_point_count": 120,
"top": 5.11,
"left": 5.02,
"right": 5.20,
"points": [
{ "x": 5.0, "intensity": 1000.0 },
{ "x": 5.01, "intensity": 1200.0 }
]
}
]
}The archive does not contain metabolite names or sample names in the observed layout. Pair it with the MS-DIAL alignment table exported from the same alignment result.
Practical mapping used by the current reader:
- feature index
0corresponds to the first data row after theAlignment IDheader in the paired alignment table; file_idmaps to the sample columns afterMS/MS spectrumin observed MS-DIAL alignment tables.
These mappings should be validated against more MS-DIAL versions and acquisition modes.