How to Extract and Analyze UNICORN Chromatography Data
If you've ever tried to plot results from UNICORN in Excel or analyze chromatography data in Python, you know this can be frustrating. UNICORN stores data in proprietary formats that arent directly accessible for external analysis. While ÄKTA systems are the gold standard for protein purification, getting your data into a usable format is trickier than it should be.
In this post, we explain how UNICORN stores chromatography data and show you have to extract it using our free online converter tool.
Understanding UNICORN Data Formats
UNICORN software saves chromatography results in formats optimised for the software itself, not for external analysis tools. This means your UV cruves, conductivity profiles, pressure data, and flow rates are locked in files that Excel and Python can’t read directly.
Depending on your ÄKTA system and UNICORN version, data is exported in one of two formats: .res or .zip.
The .res Format (UNICORN 5 and earlier)
If you're working with an older ÄKTA system like the ÄKTA Explorer, your data is likely exported as a .res folder. This format was used in UNICORN version 5.x and earlier.
The .res format stores data in a nested directory structure with multiple files. While not immediately readable in Excel, the data is at least stored in a somewhat accessible format. However, parsing these files still requires specialized tools to convert them into standard CSV format.
├── Header
│ ├── UNICORN version info
│ ├── System configuration
│ └── Method information
├── Metadata Sections
│ ├── CONFIG
│ ├── METHODINFO
│ └── CreationNotes
└── Data Sections (binary encoded)
├── UV absorbance traces
├── Conductivity (Cond)
├── pH
├── Pressure
├── Temperature (Temp)
├── Concentration (Conc)
├── Fractions
└── LogbookThe .zip Format (UNICORN 7+)
Modern ÄKTA systems like the ÄKTA Pure and ÄKTA Avant typically run UNICORN 7.0 or later, which exports data as .zip files. This format is significantly more complex than its predecessor.
Here's what makes .zip files tricky:
- Binary encoding: Data is stored in binary format, not human-readable text
- Nested structure: The ZIP file contains other compressed files within it
- Distributed data: Each chromatogram curve (UV, conductivity, pressure, etc.) is stored in a separate file
- Multiple data types: Files contain XML metadata alongside binary curve data
Inside a UNICORN .zip file, you'll find data for all the sensors and detectors used during your run: UV absorbance at multiple wavelengths (280nm, 260nm, 214nm), conductivity, system pressure, flow rates, buffer gradients, temperature, pH, and more. All of this valuable information is locked in a format that requires specialized knowledge to extract.
├── Chrom.1.Xml (metadata for chromatogram 1)
├── Chrom.1_1_True (UV 280nm data - nested ZIP!)
│ └── (unzip reveals:)
│ ├── CoordinateData.Volumes (X-axis: time/volume)
│ ├── CoordinateData.Amplitudes (Y-axis: signal)
│ ├── CoordinateData.VolumesDataType
│ └── CoordinateData.AmplitudesDataType
├── Chrom.1_4_True (Conductivity data - nested ZIP!)
│ └── (same internal structure)
├── Chrom.1_20_True (Pressure data - nested ZIP!)
│ └── (same internal structure)
├── ... (one file per curve/sensor)
├── Result.xml (run results and peak integration)
├── MethodData (method parameters)
├── SystemData (system configuration)
└── EvaluationLog.xml (processing log)Why Extract UNICORN Data?
There are several reasons to convert UNICORN data to a more readable format:
- Excel plotting: Create figures in Excel and share with your coworkers.
- Python analysis: Perform batch processing, statistical analysis, or curve fitting.
- Data sharing: Send chromatography data to collaborators who don’t have UNICORN software installed or available.
- Long-term archiving: Storing your data in a proprietary format like the UNICORN files are by default, may become an issue if you move away from UNICORN in the future. Storing as a more common format like .xlsx or .csv is much more robust for long-term storage.
- Custom workflows: Apply your own peak integration algorithms or data filtering methods.
Introducing UNICORN Data Extraction Tool
We build a free online tool that converts both .res and .zip UNICORN files into a clean downloadable format which can be directly used either within Excel or your favourite data analysis program. It works entirely in your browser. No software installation or registration required.
How it works:
- Upload your UNICORN .res folder or .zip file
- The tool automatically detects and extracts all chromatograms, time points, and signal data
- Download the clean .csv file
Analyzing Your Extracted Data
Once you've extracted your data, you'll get a clean CSV file with columns for time and all the detector signals, such as UV 280nm, UV 260nm, Conductivity, Pressure, and Flow rate.
Loading Data in Python
With your data in CSV format, you can easily load and analyze it using pandas:
import pandas as pd
import matplotlib.pyplot as plt
# Load the extracted CSV file
df = pd.read_csv('chromatogram_data.csv')
# Plot UV 280nm trace
plt.figure(figsize=(10, 6))
plt.plot(df['Time (ml)'], df['UV 280nm (mAU)'], label='UV 280nm')
plt.xlabel('Volume (ml)')
plt.ylabel('Absorbance (mAU)')
plt.title('Chromatography Run - UV 280nm')
plt.legend()
plt.grid(True, alpha=0.3)
plt.show()
# Find peaks (simple approach)
threshold = df['UV 280nm (mAU)'].mean() + 2 * df['UV 280nm (mAU)'].std()
peaks = df[df['UV 280nm (mAU)'] > threshold]
print(f"Found {len(peaks)} data points above threshold")Working with Excel
The CSV file can be directly opened in Excel for creating plots and performing basic analysis. Simply:
- Open the CSV file in Excel
- Select your time column and the detector signal you want to plot
- Insert a scatter plot with smooth lines
- Format to your liking and export for presentations