wiki:Us3Formats

UltraScan III OpenAUC raw data format for analytical ultracentrifugation data, version 1.0

File naming

An experiment's raw data is in a directory with a unique runID as its name.
The runID will alphanumeric with only the underscore and dash special characters allowed.
Files within this directory have a naming convention as follows:

runID.runType.cell.channel.wavelength.auc

where:

  • runID matches the directory name
  • runType is the method of data acquisition
    • RA - Radial Absorbance
    • IP - Interference
    • RI - Radial Intensity
    • FI - Fluorescence Intensity
    • WA - Wavelength Absorbance
    • WI - Wavelength Intensity
  • cell is the location of the centerpiece; i.e. the hole in the rotor. This is a digit from 1 to 8.
  • channel is the channel within the cell. This is a capital letter from A to J. If there is only one channel within the cell, it will be labeled 'A'.
  • The wavelength of the run. In the case of multi-wavelength runs, WA and WI, it will be the radius of the scan multiplied by 1000. For example, for a radius of 5.993, the value will be 5993.

There will be one file per cell/channel/wavelength (cell/channel/radius for WA and WI files) combination.

Internal file format

The binary file format uses the following structure:

 magic_number     4 bytes. Containing the letters 'UCDA' (UltraCentrifuge Data)
 format version   2 bytes. Currently, '04'
 format type      2 bytes. One of 'RA', 'IP', 'RI', 'FI', 'WA', 'WI'
 cell             1 byte. One of '1', '2', ...
 channel          1 byte. One of 'A', 'B', ...
 guid            16 bytes. Binary 128-bit integer
 description    240 bytes. ASCII description of data, null terminated.
 minimum radius   4 bytes. Float. (Wavelength for WA and WI types)
 maximum radius   4 bytes. Float.  Not currently used.
 radius delta     4 bytes. Float. (distance between radius entries)
 minimum data1    4 bytes. Float.  Minimum data value.
 maximum data1    4 bytes. Float.  Maximum data value. 
 minimum data2    4 bytes. Float.  Generally stddev.  zero if not present.
 maximum data2    4 bytes. Float.                     zero if not present.
 scan_count       2 bytes. Short Integer.
 data[ scan_count ]
 {
   data_flag      4 bytes. Containing the letters 'DATA'.  For internal consistency checks.
   temperature    4 bytes. Float. Temperature in degrees C.
   rpm            4 bytes. Float. 
   seconds        4 bytes. Integer.
   omega2t        4 bytes. Float.
   wavelength     2 bytes. Short Integer.  ( Nanometers - 180 ) * 100 (Range 180 to 835.65)
   radius_delta   4 bytes. Float. Distance between radius values in this scan.
   reading_count  4 bytes. Integer.  Number of readings in the scan
   
   data[ reading_count ]
   {
     value        2 bytes. Short Integer. 
                    ( value - min_data1 ) / ( ( max_data1 - min_data1 ) / 65536 )
   
     stdDeviation 2 bytes. Calculated similar to above. 
                    Not present if minimum data2 == maximum data2 == 0.
   }

   interpolation flag[ ceil( reading_count / 8 ) ].  Bitmap flags that indicate interpolated data.
                                                 One bit / reading. 0 = not interpolated, 1 = interpolated.
 }

 crc              4 bytes.  Unsigned integer.  Cyclic redundancy check.
Last modified 4 years ago Last modified on Feb 19, 2015 2:54:59 PM