Illumina/interop

python tutorials are still Python2

nick-youngblut opened this issue · 4 comments

The python tutorials at https://github.com/Illumina/interop/tree/master/docs/src/ are still Python v2. For example:

print "\n".join([method for method in dir(lane_summary) if not method.startswith('_') and method not in ("set", "push_back", "reserve", "this", "resize", "clear", "sort")])

Moreover, such long list comprehensions, as shown above (or the one below), are very hard to read:

d = []
for label, func in columns:
    d.append( (label, pd.Series([getattr(lane_summary.at(i), func)() for i in range(lane_summary.size())], index=[lane_summary.at(i).id() for i in range(lane_summary.size())])))
df = pd.DataFrame.from_items(d)
df

Why use such complex list comprehensions in a tutorial?

I can remove these examples and update the links to the new Python 3 ones.

https://illumina.github.io/interop/namespacecore.html

Is python_binding.md the only remaining example?

It would be helpful to have an example of specifying the specific input files that are required versus the the run folder:

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

given that specifying the specific required input files is much preferred for pipeline software (e.g., Nextflow or Snakemake).

FYI: all of the links under "Introductory Tutorials" at https://illumina.github.io/interop/python_binding.html are now broken.

Yes, I removed them, but have not tagged a new build yet. That will update with the. new tag.