Illumina/interop

Python: Per Lane Metrics

lukato01 opened this issue · 5 comments

I can't find any documentation that would help me get the Per lane Metrics via the Interop library using Python.

http://illumina.github.io/interop/python_binding.html

New simplified interface

  from interop import *
  ar = imaging("path/to/run_folder")

Here is a list of simplified functions:
http://illumina.github.io/interop/namespacecore.html

You probably want the summary function, which has a similar interface to imaging above.

You can pass this directly to a Pandas data frame

  from interop import *
  import pandas as pd
  df = pd.DataFrame(summary("path/to/run_folder"))

I would like to be able to open, read and summarize the QMetricsByLaneOut.bin file. Which of the function would allow me to do that. Whatever i tried so far has not worked.

The InterOp Library does not work from a single interop file.

You can use the following (also above) to summarize metrics per lane/read including Q30

  from interop import *
  import pandas as pd
  df = pd.DataFrame(summary("path/to/run_folder"))

The function mentioned above seem to summarize per read metrics and not per lane Metrics.
When i log into the Illumina platform, and select a specific run, there is a display of per lane metrics under the metrics label. Here is the an example of the visual i see
Screen Shot 2022-07-05 at 4 33 30 PM
Is there a way to get this type of summary via InterOp library? If so, can you please tell me which functions from the library would be the most useful.

The first column is lane, the second is status and the third is read. So per lane, is also per read.

This same function is used to create that table. There are various levels of summary it can do as the following examples demonstrate:

This example shows how to render it on the run level
https://github.com/Illumina/interop/blob/master/src/ext/python/core.py#L235

This one on the read level
https://github.com/Illumina/interop/blob/master/src/ext/python/core.py#L247

This one on the per lane per read level (just as your example above)
https://github.com/Illumina/interop/blob/master/src/ext/python/core.py#L252