The Illumina InterOp libraries are a set of common routines used for reading InterOp metric files produced by Illumina sequencers including NextSeq 1k/2k. These libraries are backwards compatible and capable of supporting prior releases of the software, with one exception: GA systems have been excluded.
We now support an interface to Python 2.7 (UCS-4) and 3.6-3.10 Note that 3.10 is CentOS 7 or later while ealier versions support Centos 5 or later
The InterOp files supported by this library include:
- CorrectedIntMetricsOut.bin
- ErrorMetricsOut.bin
- ExtractionMetricsOut.bin
- ExtendedTileMetricsOut.bin
- ImageMetricsOut.bin
- QMetricsOut.bin
- TileMetricsOut.bin
- IndexMetricsOut.bin
- QMetrics2030Out.bin
- QMetricsByLaneOut.bin
- EmpiricalPhasingMetricsOut.bin
This library is written in C++98 and provides bindings for C# using the SWIG interface. This support includes examples and unit tests for both languages.
Content | Description |
---|---|
Main | Index page for the documentation |
Install | Describes how to install Illumina InterOp from binaries and the source code |
Applications | Describes applications that transform binary InterOp data into text |
Examples | How to examples showing how to use the Illumina InterOp C++ API |
Modules | Short descriptions of the most useful code in the Illumina InterOp API |
Changes | Changes between releases of the source code |
Issues | Have a question? Need a feature? Found a bug? Interact with the developers here. |
Performance | Computation performance of the code |
Formats | Description of the binary formats for each InterOp file |
Python | Step by step tutorial using the Python binding |
Supported versions for binary distribution: Python 2.7 and 3.5-3.10.
You should have NumPy already installed.
$ pip install interop
Test the installation
$ python -m interop --test
If you see this error:
RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa
Then upgrade numpy and try again.
$ git clone https://github.com/Illumina/interop.git
$ mkdir build
$ cd build
$ cmake ../interop
$ cmake --build .
g++ example1.cpp -l interop_lib -L <install_dir>/lib64 -I <install_dir>/include
For CLang, just substitute g++ with clang++.
There are several known limitations to the current library:
- You cannot build a shared library on Windows. Our CMake build script disallows it for good reason, it currently does not work. You can still use a static library on Windows. There is one caveat, you can build a shared library for the SWIG bindings, e.g. C#.
- Microsoft .Net less than v4.0.30319 is currently not supported (Same for Mono)
- MinGW cannot compile the code when ENABLE_BACKWARDS_COMPATIBILITY=ON
- We do not support Mono on Windows
- If both Visual Studio and Mono are installed, the build script will only use Visual Studio for C#
- We do not support 32-bit builds
- MinGW W64 4.9.x and prior will not link properly
- Visual Studio 12 2013 is not supported for the C# Bindings (Results in heap corruption)
- We support .NET Core 2.x or later
- Big endian systems are currently not supported
- We do not support compilers earlier than 4.8.x - too many compiler bugs
The following images were generated using the applications provided by the InterOp package.