This tool uses Illumina's InterOp summary
application to produce a CSV summary of the InterOp binary data in a run directory, and ultimately processes that CSV into JSON.
The illumina_summary_tool
in this folder is identical to the interop/bin/summary
tool from version 1.1.2 of the Illumina tools. Please note that as Illumina frequently changes their formatting, there is no guarantee that this script will work with other versions of the Illumina tools. If you wish to download a different version of the summary tool, please see Installing the Illumina applications
below.
Clone this repository then install the dependencies:
$ npm install
The illumina_summary_tool
outputs its report in CSV format to STDOUT.
The illuminaCsvToJson.js
script takes one parameter, a file path for the output of using the illumina_summary_tool
.
$ node illuminaCsvToJson.js <(./illumina_summary_tool /path/to/run/folder)
or, if you need to store the CSV output:
$ ./illumina_summary_tool /path/to/run/folder > /new/location/runSummary.csv
$ node illuminaCsvToJson.js /new/location/runSummary.csv
In both cases, the illuminaCsvToJson.js
script outputs its results to STDOUT.
The Illumina applications are c++ code, found in the interop/src/apps directory in their GitHub repository.
To install the version that this tool was developed for, go to the v1.1.2 release and download the relevant package for your machine.
To install a different version of the Illumina InterOp tools, go to http://illumina.github.io/interop/install.html and click "Latest Release" under the Download Binary heading, then download the relevant package for your machine.
Unarchive the downloaded package as per your system. The summary
file is located at interop/bin/summary
.
Unit.js was used for testing the csvToJson
methods to make sure the correct numbers are still retrieved when the version of the Illumina applications change. If you have downloaded a different version of the Illumina InterOp applications, you'll want to confirm that the csvToJson
methods still work.
Firstly, there is a test/miseqSummaryData.csv
file that used version 1.1.2 of the Illumina InterOp summary
application to generate it. If you want to run the test on the new version, generate the summary file for the 130417_M00146_0021_000000000-A2WDF run and store it in place of this file.
Run the tests:
npm test
This project uses ESLint for syntax error checking, Prettier for automatic formatting, and Husky to run these before Git commits. Husky will also run tests before pushing to a Git remote.